LPACMQ 发表于 2017-7-29 17:25:49

分享一个自动加载的小插件,此插件拖拽进CAD后自动加载目录下的VLX,FAS,LSP应用程序

本帖最后由 LPACMQ 于 2019-7-14 15:30 编辑

使用方法:
1.把Autoloadfile.VLX文件放到你需要加载的目录下(该目录存放着你想要加载的VLX,FAS,LSP应用程序);
2.拖拽Autoloadfile.VLX文件到CAD黑板窗口,以后每次启动CAD程序自动完成加载;
3.可以设置多个自动加载路径,方法同上(注:严禁修改Autoloadfile.vlx文件名称)。


crystalboy 发表于 2021-2-16 18:31:12

你好,在你共享的基础上对代码进行了修改和修复了几个bug,增加内容如下:1.支持子文件夹    2.支持arx   3.增加命令可以卸载和设置是否开启加载反馈。

修复内容在附加中都有注明。
水平有限,敬请见谅。

crystalboy 发表于 2021-5-24 13:06:32

本帖最后由 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设置的支持路径是否有效,无效则删除。移动路径后,会产生无效的支持路径。只是有这个想法。代码很容易实现。只是太忙了,没时间。

LPACMQ 发表于 2017-8-4 11:32:32

dujunhu2008 发表于 2017-8-4 09:08
如果能加载该目录下的mnu及添加该目录下的文件夹为搜索目录就好了...

源码自己改改就可以啦

BUBUBA918 发表于 2017-7-29 20:26:38

如何取消加载???

liwen888888 发表于 2017-7-29 22:15:45

本帖最后由 liwen888888 于 2017-7-29 22:51 编辑

好像删除注册表可以吧,请教一下楼主,怎么样 打开CAD时自动加载自定义菜单文件,就是已经有写好的.mnu或者.cui文件,在打开CAD的自动加载它,谢谢

LPACMQ 发表于 2017-7-30 10:32:32

本帖最后由 LPACMQ 于 2017-7-30 11:00 编辑

BUBUBA918 发表于 2017-7-29 20:26
如何取消加载???
访问注册表:HKEY_CURRENT_USER\Autoloadpath把不想要加载的路径删掉即可;(或打开appload进入启动组,删掉Autoloadfile.vlx主程序加载信息)。

fanpaulm 发表于 2017-8-3 07:30:04

这个比较有用

1028882406@qq.c 发表于 2017-8-3 16:09:54

谢谢楼主,支持下

sowin360 发表于 2017-8-4 07:37:07

liunian0524 发表于 2017-8-4 09:01:25

感谢楼主分享

dujunhu2008 发表于 2017-8-4 09:08:03

如果能加载该目录下的mnu及添加该目录下的文件夹为搜索目录就好了...
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 分享一个自动加载的小插件,此插件拖拽进CAD后自动加载目录下的VLX,FAS,LSP应用程序