MR MAN 发表于 2022-7-6 17:30:54

加载超过50 Lisp

如何加载超过50个Lisp?

borgunit 发表于 2022-7-6 17:35:40

将编译到dvb项目中,然后只加载dvb文件。通读VisualLisp帮助,了解如何在VisualLisp中“制作应用程序”。

MR MAN 发表于 2022-7-6 17:42:02

请borgunit你能解释一下吗谢谢

GhostRider 发表于 2022-7-6 17:46:50

您可以在acad中添加语句。启动时加载LISP的lsp文件。
(加载“DIVIDERS.lsp”)其中“DIVIDERS.lsp”是要加载的文件名,您可以根据需要加载多个文件,只要确保lisp文件位于autocad搜索路径中即可。

borgunit 发表于 2022-7-6 17:49:15

哎呀。我犯了一个错误。我不是有意写DVB的。我是说VLX。以下是一些可能有帮助的链接。
 
http://afralisp.net/vl/vl-comp.htm
 
http://lazydrafter.blogspot.com/2006/08/edit-load-and-protect-your-lisp-files.html

rkmcswain 发表于 2022-7-6 17:53:59

我同意戈斯特里德的观点。
 
但还有一种方法。这将加载给定目录中的所有lisp文件。
 

(setq dir "\\\\server\\share\\lisp\\")
(foreach item
(vl-directory-files dir "*.lsp" 1)
(setq ret (load (strcat dir item) "failed"))
(if (eq (type ret) 'STR)
   (princ (strcat item " failed to load"))
)
)

Gringo 发表于 2022-7-6 17:57:56

为什么要在每个图形中加载所有Lisp
这不是占用了我的记忆吗?还是我说的不对
 
难道你不想只加载一个lisp,如果它被称为类似的东西吗
 

(defun c:BKL() (load "BREAKLIN.lsp")(c:BKL))
(defun c:SHS() (load "BREAKLIN.lsp")(c:SHS))

or

(defun c:ABC() (load "ABC.fas")(c:ABC))

 
仅lisp文件必须位于acad搜索路径内
或者可以在lisp中对其进行路径设置
 
我真的不知道怎么做,但有点像
 


(setq $PATH "Z:/STD-Civil/Acad-Files/Lisp-files/");;replaced as needed

(defun c:BKL() (load (strcat $PATH "BREAKLIN.lsp"))(c:BKL))
(defun c:SHS() (load (strcat $PATH "BREAKLIN.lsp"))(c:SHS))
;above is for acad lisp files

or

(defun c:ABC() (load (strcat $PATH "ABC.fas"))(c:ABC))
;above is for acad fas files

 
无论哪种方式,都有堆。

CAB 发表于 2022-7-6 17:59:52

我使用自动加载按需加载
(AUTOLOAD "ViewportCopy" '("copyvplayers" "putvplayers")); Copy & Put VP Layers

Kerry Brown 发表于 2022-7-6 18:05:36

 
同上。。。仅在需要时加载。

Gringo 发表于 2022-7-6 18:07:43

酷,我得到了一些支持。。
是的,仅在需要时加载。。
Cab我不知道自动加载。。
 
我会调查一下的。。首先,我在上面贴出的方式有什么不对吗??
页: [1] 2
查看完整版本: 加载超过50 Lisp