leos98 发表于 2022-7-6 14:48:40

从一个运行多个LISP

大家好,
如何从一个宏按钮运行多个LISP文件。对于这个示例,我想列出LISP1、LISP2和LISP3作为我可能拥有的任何例程的示例。
我可以创建一个新按钮吗?在按钮的宏部分键入:
 
(加载“LISP1”);LISP1;(加载“LISP2”);LISP2;(加载“LISP3”);LISP3;
 
我的问题是:
我的宏是一个接一个地运行每个例程,还是同时运行所有三个例程?
 
这是正确的做事方式还是应该将所有内容合并到一个LISP中?
 
非常感谢你的帮助。
 
谢谢

JohnM 发表于 2022-7-6 15:07:22

查看自动加载功能和appload Dialog框中的启动套件

Lee Mac 发表于 2022-7-6 15:15:41

正如约翰所说,看看创业套件或阿卡多克。lsp用于加载文件(使事情更容易)-至于运行它们,我不明白为什么这不起作用。

RevAaron 发表于 2022-7-6 15:26:16

 
这两种情况都不会发生,只会运行LISP1。行的其余部分用以开头的分号注释掉;LISP1;。如果你拿出评论并发表:
 
(load "LISP1")(load "LISP2")(load "LISP3")
 
它会工作,并且会一个接一个地运行。如果你担心的话,直言不讳并没有害处。。。
 
(progn (load "LISP1") (load "LISP2") (load "LISP3"))
 
我在我的一个脚本中做了类似的事情-我将整行粘贴到AutoCAD的命令窗口中,我希望确保它接受整个指令组并一个接一个地运行它们。

Lee Mac 发表于 2022-7-6 15:29:19

 
我不怎么处理宏,但我认为分号(在宏中不算注释,它们与空格的使用方式非常相似,表示“回车”)。

leos98 发表于 2022-7-6 15:42:57

 
这是正确的,分号与空格的作用相同。此外,我真的不知道如何使用ADCADDOC。lsp,这就是为什么我不去惹它。然而,我确实发现,当我在CUI菜单中加载lsp文件时,在slip文件下;我只需要在不加载的情况下运行它们。这是真的吗?有人能证实吗?
 
我想知道的是,在加载lsp文件后,是否执行宏:
 
^C^CLISP1;LISP2;LISP3
 
运行一个LISP1是否会等待它完成,运行LISP2、等待和运行LISP3?
或者,即使前一个lsp例程未运行,宏是否也会尝试执行所有lsp例程?
 
谢谢

Lee Mac 发表于 2022-7-6 15:56:14

 
宏将像任何脚本或LISP一样运行-在程序中逐个执行函数。
 
如果你不想使用阿卡多克。lsp,只需将LISP文件添加到启动套件中-更容易
页: [1]
查看完整版本: 从一个运行多个LISP