lisp中怎样调用自己编写的程序
<p>调用cad内部命令是用command</p><p>调用自己前面写的程序呢?</p><p>应该可以把?</p> (defun c:tt()<br/> (princ "hello")<br/> )<br/>(defun c:tt1()<br/> (c:tt)) 本帖最后由 作者 于 2008-11-26 11:00:32 编辑如果是没有参数的、有屏幕拾取动作 c: 开头的函数好像不能像command在其他程序中调用 lidejun_55发表于2008-11-26 10:38:00static/image/common/back.gif(defun c:tt() (princ \"hello\") )(defun c:tt1() (c:tt))
<p>需要写在同一个文件中吗?</p><p>就是说我cad已经加载了tt这个程序了</p><p></p><p>我的另一个程序tt1要调用tt这个程序</p><p>(defun c:tt()<br/> (princ "hello")<br/> )</p><p>这几行还必须写在后面这个程序里面吗</p> caoyin发表于2008-11-26 10:57:00static/image/common/back.gif如果是没有参数的、有屏幕拾取动作 c: 开头的函数好像不能像command在其他程序中调用
<p>不知道你说的是不是这样的:</p><p>(defun c:tt()<br/> (setq ss (ssget))<br/> )<br/>(defun c:tt1()<br/> (c:tt)<br/> (princ "hello")<br/> )</p> jackieshaw发表于2008-11-26 11:14:00static/image/common/back.gif需要写在同一个文件中吗?就是说我cad已经加载了tt这个程序了我的另一个程序tt1要调用tt这个程序(defun c:tt() (princ \"hello\") )这几行还必须写在后面这个程序里面吗
<p></p><p>不需要,你可以自己试验一下,多动手</p> lidejun_55发表于2008-11-26 10:38:00static/image/common/back.gif(defun c:tt() (princ \"hello\") )(defun c:tt1() (c:tt))
<p>我前面那个程序是有参数的,请问怎么写?</p><p></p><p>我前面调用的程序是xp</p><p>敲完xp 之后还要输入"all" 回车 回车 "i" 再回车</p><p></p><p>请问是这样吗?</p><p>(defun c:xpp()<br/>((c:xp) "all" "" "i" ""))</p><p>我执行xpp好像还是不对啊</p><p>运行的效果还是和xp一样的</p><p></p><p>麻烦解答一下</p><p></p> <p>c:开头的函数默认为注册成command类型,可以被命令行直接调用</p><p>你的c:开头函数如果有参数就不是这样调用的,应该是这样:</p><p>(c:xp "all" "" "i" "")</p> <p>用子函数啊</p><p>(defun xp (a b c)</p><p>(princ a)</p><p>(princ b)</p><p>(princ c)</p><p>)</p><p>(xp "a" "b" "c")</p> <p><font face="Verdana" color="#61b713"><font color="#000000">回</font><strong>lidejun_55</strong></font>:</p><p>(defun c:tt (/ a) (setq a(car(entsel)))(entdel a))</p><p>我的意思是不能像cad自带命令一样被其他程序引用</p><p>注册为命令的lisp程序好像也容易出错</p>
页:
[1]
2