rocking2008 发表于 2020-2-26 16:30:09

cqu20104225 发表于 2020-2-25 10:58
十分感谢!学习了
但是我之前的学习中,不建议用“load”,当遇到某个插件有问题时,后面的插件就不会继 ...

(defun lispautoload ( / x )
(setq path "D:\\CAD插件自动加载");;设置路径
(foreach x (vl-remove "." (vl-remove ".." (vl-directory-files path)))
    (if (member (vl-filename-extension x) (list ".lsp" ".fas" ".VLX"))
      (load (findfile (strcat path "\\" x))))
   )
)

这个不用load应该怎么改?麻烦楼主更新一下。

cqu20104225 发表于 2020-2-26 17:44:56

本帖最后由 cqu20104225 于 2020-2-26 22:13 编辑

疯球 发表于 2020-2-26 09:20
谢谢楼主分享,能不能加个命令,当输入命令时这些码才加载
这个简单,你加一对括号就实现了,在“dufun”之前和“(princ)”之后加,就可以了
启动命令你自己改一下就行

cqu20104225 发表于 2020-2-26 17:50:05

本帖最后由 cqu20104225 于 2020-2-26 17:52 编辑

rocking2008 发表于 2020-2-26 16:30
(defun lispautoload ( / x )
(setq path "D:\\CAD插件自动加载");;设置路径
(foreach x (vl-rem ...
利用(vl-catch-all-apply 'function list)这个函数,具体用法可以参考我的代码。
使用 vl-catch-all-apply 的好处是可以截取错误,然后继续处理过程。

hiviki 发表于 2020-2-26 20:11:22

感谢楼主分享,支持一下!

rocking2008 发表于 2020-2-26 21:43:27

cqu20104225 发表于 2020-2-26 17:50
利用(vl-catch-all-apply 'function list)这个函数,具体用法可以参考我的代码。
使用 vl-catch-all-app ...

是将(load (findfile (strcat path "\\" x)))这一句改成下面这样吗?
      (vl-catch-all-apply 'load (findfile (strcat path "\\" x)))


原来的load改成vl-catch-all-apply 'load对么?我对VL函数不了解。

wzxcad 发表于 2020-2-26 22:04:10

干货,赞一个

cqu20104225 发表于 2020-2-26 22:46:57

rocking2008 发表于 2020-2-26 21:43
是将(load (findfile (strcat path "\\" x)))这一句改成下面这样吗?
      (vl-catch-all-apply 'load...

(defun lispautoload ( / x )
(setq path "D:\\CAD插件自动加载");;设置路径
(foreach x (vl-remove "." (vl-remove ".." (vl-directory-files path)))
    (if (member (vl-filename-extension x) (list ".lsp" ".fas" ".VLX"))
      (vl-catch-all-apply 'load (list (strcat path "\\" x)))
    )
)
)

xudongchu 发表于 2020-2-27 09:21:18

谢谢您的分享斯奈克

依然小小鸟 发表于 2020-2-27 12:50:20

期待 益达兄 能弄出来更多牛的东西

etoxp 发表于 2020-2-27 13:00:42

学习一下   学习一下
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: 分享一个CAD插件自动加载的源码