salman 发表于 2022-7-6 10:59:02

加载lisp时出现问题

我在日常工作中使用了许多lisp例程。但我面临着一个有时非常痛苦的问题。
 
我无法将lisp代码保存在office PC中,因此我使用名为LOADER的lisp文件从U盘加载它们,该文件包含加载所有lisp例程的代码。加载器文件的格式如下所示
 
(加载“j:/lisp/a.lsp”)
(加载“j:/lisp/b.lsp”)
......
 
现在的问题是,不同的计算机会将USB检测为不同的驱动器,例如H:/或G:/。因此,根据驱动器名,我必须对lisp文件加载器进行更改。
 
其次,一些lisp例程加载其他lisp例程来完成它们的工作,因此除了加载文件之外,我可能还需要修改其他lisp例程中的代码,以避免出现加载错误。
 
是他们解决这个问题的方法。
 
谢谢

Freerefill 发表于 2022-7-6 11:31:14

试试这个。这将遍历字母表,查找具有/lisp/目录的所有驱动器,然后加载该目录中的所有lisp。我不认为这完全是你想要的,但这只是一个开始。
 

(defun c:loadlots( / a b c)
(foreach fv1 (abc)
   (if (setq a (vl-directory-files (strcat fv1 ":/lisp/") "*.lsp"))
   (foreach fv2 a
   (load (strcat fv1 ":/lisp/" fv2))
   )
   )
   )
(princ)
)

(defun abc( / a b)
(setq a 64)
(repeat 26 (setq b (cons (chr (setq a (1+ a))) b)))
b
)

Tharwat 发表于 2022-7-6 11:58:54

嗨,萨尔曼。
我的建议是,将Lisp文件保存在驱动器c:或d:中的某个位置无关紧要,并使用Autocad中的命令cui正常加载所有Lisp以及Autocad运行。
 
当做
塔瓦特

jammie 发表于 2022-7-6 12:10:28

另一个网站上发布了一条帖子,可能会有所帮助
 
http://www.theswamp.org/index.php?topic=32565.0
 
当做
 
杰米
页: [1]
查看完整版本: 加载lisp时出现问题