Rooster 发表于 2022-7-5 23:53:58

LISP调用另一个LISP

我正在努力让我的LISP调用并运行另一个LISP(实际上,它是一个.vlx文件)。以下是相关的代码位:
 
(负载“SPL2PL”)
(命令“SPL2PL”“ALL”“0.1”)
 
下面是我的错误消息:
 
另一个自由蜜蜂http://www.dotsoft.com已加载,键入SPL2PL to
跑SPL2PL未知命令“SPL2PL”。按F1键获取帮助。]
 
我很困惑。。。。。

Lee Mac 发表于 2022-7-5 23:58:28

(C:SPL2PL)应该可以工作,尽管您可能在“ALL”和“0.1”方面有问题

Rooster 发表于 2022-7-6 00:02:35

谢谢你的回复李,但我还是收到了同样的消息后,改变了它。。。

Lee Mac 发表于 2022-7-6 00:06:01

加载成功吗?
 
包括消息:
 

(load "spl2pl" "Load Failed")
(c:spl2pl)

Rooster 发表于 2022-7-6 00:09:08

这样做-同样的消息再次,没有提及加载是否成功。。。。
 
是因为它是一个。vlx文件而不是。lsp?或者这不应该有什么不同吗?

Lee Mac 发表于 2022-7-6 00:11:11

 
我没想到这会有什么不同。。。我要做实验

Commandobill 发表于 2022-7-6 00:14:49

我不知道你为什么会犯那个错误。只要在中传递这些参数,就可以像这样将选择集传递给lisp。。。
 

(sssetfirst nil (ssget "X" '((0 . "SPLINE"))))
(C:SPL2PL)
 
如果这就是你所说的“全部”的意思,那当然了

Lee Mac 发表于 2022-7-6 00:18:34

 
好主意,但我认为这取决于LISP的工程方式,我认为只有在LISP有一个ssgetfirst调用启动时,这才有效。

Commandobill 发表于 2022-7-6 00:20:13

我不相信那一定是真的。它适用于burst。只要lisp正在寻找选择集,它就应该可以工作。至于'。01“我不知道你会怎么通过这个论点

Lee Mac 发表于 2022-7-6 00:24:29

刚刚测试了你的理论,是的,我必须承认,你在这一点上是对的
 

(defun c:test ()
(if (ssget)
   (alert "CommandoBill was right!")
   (alert "CommandoBill was wrong!"))
(princ))

 
^^用于测试理论的代码。
页: [1] 2
查看完整版本: LISP调用另一个LISP