分享一个自动加载的小插件,此插件拖拽进CAD后自动加载目录下的VLX,FAS,LSP应用程序
本帖最后由 LPACMQ 于 2019-7-14 15:30 编辑使用方法:
1.把Autoloadfile.VLX文件放到你需要加载的目录下(该目录存放着你想要加载的VLX,FAS,LSP应用程序);
2.拖拽Autoloadfile.VLX文件到CAD黑板窗口,以后每次启动CAD程序自动完成加载;
3.可以设置多个自动加载路径,方法同上(注:严禁修改Autoloadfile.vlx文件名称)。
你好,在你共享的基础上对代码进行了修改和修复了几个bug,增加内容如下:1.支持子文件夹 2.支持arx 3.增加命令可以卸载和设置是否开启加载反馈。
修复内容在附加中都有注明。
水平有限,敬请见谅。
本帖最后由 crystalboy 于 2021-5-24 13:10 编辑
潇湘飞雨 发表于 2021-5-22 11:38
好像还有点小BUG 多次加载测试, 第一次正常, 删除支持文件路径,重新加载,只添加了主文件夹到 ...
我平时都是把安全加载关闭了的,是只有主文件夹添加到cad的支持路径。
|;
;┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
;功能:添加路径到cad文件搜索路径
;函数:(gf-AddPath strPath)
;参数:str_path---路径
;返回:文件搜索的路径
;示例:(gf-addPath "D:\\kk_lisp")
; ->"---;---;---;---;---;---;---; ;路径省略了
; D:\\kk_lisp;"
(defun gf-AddPath (strPath)
(if (findfile strpath)
(setenv "ACAD" (strcat (getenv "ACAD") ";" strPath ";"))
)
)
;┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
;功能:添加路径(包括子路径)到cad文件搜索路径
;函数:(gf-addPaths str_path)
;参数:str_path---路径
;返回:添加后的文件搜索的路径
;示例:(gf-addPaths "D:\\kk_lisp")
; ->"---;---;---;---;---;---;---; ;路径省略了
; D:\\kk_lisp;D:\\kk_lisp\\test1;D:\\kk_lisp\\test2;D:\\kk_lisp\\test3;"
(defun gf-addPaths (str_path)
(setq list_folds (gf-getFolds str_path))
(foreach x list_folds
(gf-AddPath x)
)
)
;┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
;功能:返路径下的文件夹及子文件夹
;函数:(gf-getFolds str_path)
;参数:str_path---路径
;返回:文件夹和子文件夹组成的表
;示例:(gf-getFolds "D:\\kk_lisp")
; ->("D:\\kk_lisp" "D:\\kk_lisp\\test1" "D:\\kk_lisp\\test2" "D:\\kk_lisp\\test3")
(defun gf-getFolds (str_path / list_fold)
(defun getsonFold (sonpath)
(setq list_fold (cons sonpath list_fold))
(foreach x (cddr (vl-directory-files sonpath nil -1))
(getsonFold (strcat sonpath "\\" x))
)
)
(if (findfile str_path) (getsonFold str_path))
(reverse list_fold)
)
;┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄ ┄
最新太忙了,天天加班,我这里有函数,自己修改。其实有个想法,检测cad设置的支持路径是否有效,无效则删除。移动路径后,会产生无效的支持路径。只是有这个想法。代码很容易实现。只是太忙了,没时间。
dujunhu2008 发表于 2017-8-4 09:08
如果能加载该目录下的mnu及添加该目录下的文件夹为搜索目录就好了...
源码自己改改就可以啦 如何取消加载??? 本帖最后由 liwen888888 于 2017-7-29 22:51 编辑
好像删除注册表可以吧,请教一下楼主,怎么样 打开CAD时自动加载自定义菜单文件,就是已经有写好的.mnu或者.cui文件,在打开CAD的自动加载它,谢谢 本帖最后由 LPACMQ 于 2017-7-30 11:00 编辑
BUBUBA918 发表于 2017-7-29 20:26
如何取消加载???
访问注册表:HKEY_CURRENT_USER\Autoloadpath把不想要加载的路径删掉即可;(或打开appload进入启动组,删掉Autoloadfile.vlx主程序加载信息)。
这个比较有用 谢谢楼主,支持下 感谢楼主分享 如果能加载该目录下的mnu及添加该目录下的文件夹为搜索目录就好了...