加载多个插件时 如何快速查找未加载成功的插件?
本帖最后由 开心无惧 于 2024-11-2 17:24 编辑文件夹中有很多个插件,都是不同时期新增的,
当同时打开3或4个CAD (习惯用鼠标拖拽),有的CAD图纸插件可以全部加载,有的CAD图纸插件加载不完全,对应的命令没有反应。
现在遇到这种情况,我是关闭CAD再打开,再试会全部加载插件,但是很麻烦。
请教大家,当CAD插件不能全部加载时,怎么知道是具体哪个插件没有加载成功,或者有其它好的方法?
想找到那个插件,检查是否需要修改完善,后续别与其它插件再有冲突。
补充:
在这里一起感谢你们的回复
(vl-remove-if-not'(lambda(x)(wcmatch x "C:*") )(atoms-family 1)) 如果是用一个lsp来遍历load插件倒是可以用error函数判断出错的插件是哪个,如果用启动组的方法加载的话,应该只能用楼上的代码来列出所有加载成功的命令来反推失败的命令是哪个了 以下为自用load代码,仅供参考:
(defun c:qs ( / *error* a b c d lst1 lst2 lst3 lst4 lst5 n);载入所有子命令
(defun *error* (msg)
(princ "\n加载该插件时出现错误:") (princ i)
)
(setvar "cmdecho" 0)
(vl-load-com)
(setq lst4 (vl-list-loaded-vlx))
(setq lst5 (list))
(foreach i lst4 (setq lst5 (cons (vl-symbol-name i) lst5)))
(setq a "Allload.lsp")
(setq d (list "\\外部命令" "\\单独的子命令"));例如: (list "\\A" "\\B" "\\C")
(setq a (vl-filename-directory (findfile a)))
(setq n 0)
(foreach b d
(setq c (strcat a b))
(setq lst1 (vl-directory-files c "*.lsp"))
(setq lst2 (vl-directory-files c "*.vlx"))
(setq lst3 (vl-directory-files c "*.fas"))
(foreach i lst1 (if (not (member (vl-filename-base i) lst5)) (load i)))
(foreach i lst2 (if (not (member (vl-filename-base i) lst5)) (load i)))
(foreach i lst3 (if (not (member (vl-filename-base i) lst5)) (load i)))
(setq n (+ n (length lst1) (length lst2) (length lst3)))
)
(princ "\n共加载了")
(princ n)
(princ "个子命令")
(setvar "cmdecho" 1)
(prin1)
) 飞雪神光 发表于 2024-10-30 09:39
非常感谢
非常感谢
非常感谢 Scarlet2001 发表于 2024-10-30 09:49
以下为自用load代码,仅供参考:
(defun c:qs ( / *error* a b c d lst1 lst2 lst3 lst4 lst5 n);载入所有 ...
非常感谢
非常感谢
非常感谢
页:
[1]