明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 386|回复: 5

[提问] 加载多个插件时 如何快速查找未加载成功的插件?

[复制链接]
发表于 2024-10-29 17:24:08 | 显示全部楼层 |阅读模式
本帖最后由 开心无惧 于 2024-11-2 17:24 编辑

文件夹中有很多个插件,都是不同时期新增的,
当同时打开3或4个CAD (习惯用鼠标拖拽),有的CAD图纸插件可以全部加载,有的CAD图纸插件加载不完全,对应的命令没有反应。
现在遇到这种情况,我是关闭CAD再打开,再试会全部加载插件,但是很麻烦。


请教大家,当CAD插件不能全部加载时,怎么知道是具体哪个插件没有加载成功,或者有其它好的方法?
想找到那个插件,检查是否需要修改完善,后续别与其它插件再有冲突。



补充:
在这里一起感谢你们的回复




发表于 2024-10-30 09:39:51 | 显示全部楼层
  1. (vl-remove-if-not  '(lambda(x)  (wcmatch x "C:*"  ) )  (atoms-family 1))
发表于 2024-10-30 09:47:22 | 显示全部楼层
如果是用一个lsp来遍历load插件倒是可以用error函数判断出错的插件是哪个,如果用启动组的方法加载的话,应该只能用楼上的代码来列出所有加载成功的命令来反推失败的命令是哪个了
发表于 2024-10-30 09:49:58 | 显示全部楼层
以下为自用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 17:33:20 | 显示全部楼层

非常感谢
非常感谢
非常感谢
 楼主| 发表于 2024-10-30 17:37:10 | 显示全部楼层
Scarlet2001 发表于 2024-10-30 09:49
以下为自用load代码,仅供参考:
(defun c:qs ( / *error* a b c d lst1 lst2 lst3 lst4 lst5 n);载入所有 ...

非常感谢
非常感谢
非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-21 01:29 , Processed in 0.162012 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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