jaminth 发表于 2008-1-17 13:27:00

CAD中,如何一次性加载多个LISP文件

<p>如在D盘中有一文件夹,名字为"MY LISP",里面有十几个带后缀名是LSP的文件,使用</p><p>(load "d:\\my lisp\\1.lsp")</p><p>(load "d:\\my lisp\\2.lsp")</p><p>(load "d:\\my lisp\\3.lsp")</p><p>(load "d:\\my lisp\\4.lsp")</p><p>..............................</p><p>我想用(load "d:\\my lisp\\*.lsp"),</p><p>可是不行,请教高手有没有什么办法?!</p><p>还有,(load "d:\\my lisp\\4.fas").......好像也不行,也请教高手有没有什么办法?!</p><p></p>

caoyin 发表于 2008-1-17 16:36:00

(defun lt:appload-allLispAtDir (dir)<br/>&nbsp;;(setq dir (lt:path-addBackSlash dir));;确保目录的结尾为"\\"或"/"<br/>&nbsp; (mapcar '(lambda (x)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (mapcar '(lambda (y) (load (strcat dir y)))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (vl-directory-files dir x 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '("*.lsp" "*.fas" "*.vlx")<br/>&nbsp; )<br/>&nbsp; nil<br/>)

ZZXXQQ 发表于 2008-1-17 15:40:00

<p>如果是分别写的单个程序只能是分开LOAD。</p><p>楼主可以将上述LISP文件合成一个文件加载。这样用一个LOAD就行了。</p>

jaminth 发表于 2008-1-17 20:04:00

ths!caoyin ,the problem was solved!

jek.wang 发表于 2008-1-18 15:38:00

<p>我有一个比较笨一点的方法,编写一个像下面一样的程序把你所有的要自动加载的程序名都写进去,如:</p><p>(load "d:\\my lisp\\1.lsp")</p><p>(load "d:\\my lisp\\2.lsp")</p><p>(load "d:\\my lisp\\3.lsp")</p><p>(load "d:\\my lisp\\4.lsp")</p><p>..............................</p><p>然后将文件保存到cad安装目录下的support文件夹里面,文件名为acad.lsp</p>

jaminth 发表于 2008-1-18 18:38:00

这个方法我早就想到了,更进一步的做法,就是不用自己去更改文件名,用3楼的方法就可以做到!而且以后在文件夹中添加文件,也用不着去改cad安装目录下的support文件夹里面的acad.lsp

linheyuanpcb 发表于 2008-1-19 17:12:00

太多了CAD会运行慢的,呵%把它做成vlx文件就好好用了哦

fire9527 发表于 2013-4-5 22:53:27

caoyin 发表于 2008-1-17 16:36 static/image/common/back.gif
(defun lt:appload-allLispAtDir (dir)&nbsp;;(setq dir (lt:path-addBackSlash dir));;确保目录的结尾为"\ ...

路径咋添加的?小弟愚钝,请大侠明示!
页: [1]
查看完整版本: CAD中,如何一次性加载多个LISP文件