加载不同lis的最佳方式
我想知道将lisp的单独副本“链接”到特定图形的最佳方法。我有图纸分组在文件夹中,并希望能够调整lisp为一组单独对此进行一点头脑风暴似乎最好的方法是编写一个lisp例程,在打开图形时自动加载,然后从相对路径加载适当的lisp。
文件夹1
-图纸1.dwg
-Lisp程序
-Lisp程序。lsp
文件夹2
-图纸2.dwg
-Lisp程序
-Lisp程序。lsp
^^^因此,对于上面的文件夹层次结构,将意味着打开drawing1。dwg将导致lisp例程打开lisp/lisp。文件夹1树中的lsp,但打开图纸2。dwg打开LISP/LISP。Folder2树下的lsp
这种方法是一种合乎逻辑的方法,还是有更有效的方法来获得相同的结果?或者是一个脚本,而不是lisp例程? 根据您的描述,我认为实现这一点的最简单方法(不需要硬编码路径/文件名)是包含一个acaddoc。lsp在每个绘图文件夹中加载适当的程序;这利用了以下事实:AutoCAD将在任何支持文件搜索路径之前搜索工作目录,并且只加载第一个acaddoc。找到lsp文件。 在启动时使用这样的东西怎么样:
(defun LoadLispOnStart ( LispFileName / fnm )
(if (findfile (setq fnm (strcat (getvar 'dwgprefix) LispFileName ".lsp")))
(load fnm)
(prompt "\nUnable to find \"" fnm "\" !")
)
)
(LoadLispOnStart "Test")
页:
[1]