明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2236|回复: 5

[求助]如何用lisp调用另一个lisp中定义的命令?

[复制链接]
发表于 2009-2-25 13:00:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-2-25 13:18:11 编辑

我想在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就可以,怎么才能用一个命令实现啊

发表于 2009-2-25 13:57:00 | 显示全部楼层
(load "MYDXF") ; 假定Lisp文件名是MYDXF
(C:MYDXF);
发表于 2009-2-26 12:33:00 | 显示全部楼层

appload是对话框命令

你用command是无法调用的

楼上的方法才是真正的办法

 楼主| 发表于 2009-2-26 21:47:00 | 显示全部楼层
    谢谢楼上。不过问题是我需要打开对话框选择定义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函数了

发表于 2009-6-12 09:12:00 | 显示全部楼层
我也想弄明白,如何合并多个lsp文件为一个,加载一个文件后,随便打哪个命令,就调出哪个lsp程序,谁有办法?教教我.
发表于 2009-6-12 12:26:00 | 显示全部楼层
把所有的程序全都拷到一個LSP文件裡面加載就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-24 20:46 , Processed in 0.185411 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表