[求助]如何用lisp调用另一个lisp中定义的命令?
www.dimcax.com
[求助]如何用lisp调用另一个lisp中定义的命令?我想在lisp中载入另一封个.lsp文件,然后运行载入的lisp文件中定义的命令,这个怎么实现啊。
用
(defun c:a()
(command "appload");选择lisp文件
(c:mydxf);mydxf是选择载入的lisp文件中定义的函数c:mydxf
)
在命令行敲a,不成功,但是用
(defun c:a()
(command "appload");选择lisp文件
)
(defun c:b()
(c:mydxf);mydxf是选择载入的lisp文件中定义的函数c:mydxf
)
在命令行敲a选择文件,然后再敲b就可以,怎么才能用一个命令实现啊
d
(load "mydxf") ; 假定lisp文件名是mydxf
(c:mydxf);
d
appload是对话框命令
你用command是无法调用的
楼上的方法才是真正的办法
工资真的要涨了,心里更加爱党了,能给孩子奖赏了,见到老婆敢嚷了,敢尝海鲜鹅掌了,闲时能逛商场了,遇见美女心痒了,结果物价又涨了!
d
谢谢楼上。不过问题是我需要打开对话框选择定义c:mydxf的lisp文件,这个lsp是软件生成的,对应不同的项目有不同的lisp文件,但是里面都由c:mydxf函数,我要通过选择文件确定要执行哪个文件里的c:mydxf,所以用load函数在这里不合适。
通过实验,这个问题我已经解决了,呵呵
(defun a()
(command "appload");选择lisp文件
)
(defun b()
(c:mydxf);mydxf是选择载入的lisp文件中定义的函数c:mydxf
)
(defun c()
(a)
(b)
)
在命令行敲c选择文件就可以执行选取的lsp文件中的c:mydxf函数了
d