明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4804|回复: 12

【手动加载】自动加载指定文件目录下的lsp、vlx和fas文件

  [复制链接]
发表于 2019-10-22 21:51:21 | 显示全部楼层 |阅读模式
;自动加载文件夹中的lsp,fas,vlx文件
(defun loadlspfile(Folder_path / nn f1)
        (if Folder_path
                (vl-catch-all-apply
                        '(lambda ( / nn f1)
                                 (setq nn
                                         (append
                                                 (xingle_GetFile Folder_path "*.lsp")
                                                 (xingle_GetFile Folder_path "*.fas")
                                                 (xingle_GetFile Folder_path "*.vlx")
                                         )
                                 )
                                 (foreach f1 nn
                                         (vl-catch-all-apply 'load (list (strcat Folder_path "\\" f1)))
                                 )
                         )
                )
        )
)
;语法(vl-directory-files  [directory pattern directories])
;功能:列出给定目录中的所有文件
;说明
;1)参数 directory 为字符串,指定要收集文件的目录。若未指定该参数或参数为 nil,那么vl-directory-files 使用当前目录。
;2)参数 pattern 为字符串,包含文件名的 DOS 方式。如果未指定该参数或参数为 nil,vl-directory-files 假定为 "*.*"。
;3)directories 为整数型,指定返回的表中是否包含路径名。可以指定下列值之一:
;-1  仅列出目录。
;0   列出文件和目录(缺省值)。
;1   仅列出文件。
;返回值:
;文件和路径列表。若没有符合指定方式的文件,则返回 nil。
;;pattern类型为list
(defun xingle_GetFile (Dire pattern / SubFile)
  (setq SubFile (vl-remove-if
                                                                        (function (lambda (x) (member x '(".." "."))))
                                                                        (vl-directory-files Dire pattern 1)
                                                                )
  )
)
;(xingle_GetFile "Z:\\CAD图库" "*.lsp")
(defun load_Folder_app (path)        
        (if (findfile path)
                (progn
                        (loadlspfile path)
                        (princ (strcat path "\n中的lsp,FAS,VLX文件已加载完成>>>>>>>>"))
                )
                (princ (strcat "\n错误!!!\n请检查路径" path "是否正确<<<<<<<<"))
        )
        (princ)
)
;;
(defun c:888();;设置快捷命令,手动加载,快捷命令自行修改下
        (load_Folder_app "Z:\\mini\\Autoload\\liuxin")
        ;(load_Folder_app "Z:\\CAD插件")
        ;;可以像这样多添加几个路径,注意将windows的目录路径中"\"换成"\\",或这把"\"换成"/"
)
(C:888);;这样写,程序加载这个段代码时,自动激活命令


评分

参与人数 4明经币 +4 金钱 +5 收起 理由
tigcat + 1 + 5 很给力!
songyujie928 + 1 赞一个!
love1030312 + 1 赞一个!
USER2128 + 1 赞一个!

查看全部评分

发表于 2024-8-1 15:55:40 | 显示全部楼层
感谢分享,有这个方便多了。
有点奇怪的是把包含这些代码的LSP放到AP自动加载下,会卡死。
而把这个LSP放到某个插件的自动加载目录下,就能正常加载。
发表于 2019-12-1 06:36:00 | 显示全部楼层
能手动加载,自动加载没看懂呢还是咋回事,不能自动加载,还是我不会啊,能教一下怎样使用吗,谢谢
发表于 2019-11-20 22:44:34 | 显示全部楼层
这也可以啊   功能不错
发表于 2019-10-26 13:51:11 | 显示全部楼层
学习下,多谢楼主分享
发表于 2019-12-1 22:22:52 | 显示全部楼层
感谢无私分项,受用了!
发表于 2023-7-18 17:50:44 | 显示全部楼层
学习下,多谢楼主分享
发表于 2023-8-6 14:02:58 | 显示全部楼层
是个好东西,试用了,
发表于 2023-8-9 21:35:17 | 显示全部楼层
感谢无私分项
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 06:32 , Processed in 0.231488 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表