只需一步,快速开始
调用cad内部命令是用command
调用自己前面写的程序呢?
应该可以把?
使用道具 举报
lidejun_55发表于2008-11-26 10:38:00(defun c:tt() (princ \"hello\") )(defun c:tt1() (c:tt))
需要写在同一个文件中吗?
就是说我cad已经加载了tt这个程序了
我的另一个程序tt1要调用tt这个程序
(defun c:tt() (princ "hello") )
这几行还必须写在后面这个程序里面吗
caoyin发表于2008-11-26 10:57:00如果是没有参数的、有屏幕拾取动作 c: 开头的函数好像不能像command在其他程序中调用
不知道你说的是不是这样的:
(defun c:tt() (setq ss (ssget)) )(defun c:tt1() (c:tt) (princ "hello") )
jackieshaw发表于2008-11-26 11:14:00需要写在同一个文件中吗?就是说我cad已经加载了tt这个程序了我的另一个程序tt1要调用tt这个程序(defun c:tt() (princ \"hello\") )这几行还必须写在后面这个程序里面吗
不需要,你可以自己试验一下,多动手
我前面那个程序是有参数的,请问怎么写?
我前面调用的程序是xp
敲完xp 之后还要输入"all" 回车 回车 "i" 再回车
请问是这样吗?
(defun c:xpp()((c:xp) "all" "" "i" ""))
我执行xpp好像还是不对啊
运行的效果还是和xp一样的
麻烦解答一下
c:开头的函数默认为注册成command类型,可以被命令行直接调用
你的c:开头函数如果有参数就不是这样调用的,应该是这样:
(c:xp "all" "" "i" "")
用子函数啊
(defun xp (a b c)
(princ a)
(princ b)
(princ c)
)
(xp "a" "b" "c")
回lidejun_55:
(defun c:tt (/ a) (setq a(car(entsel)))(entdel a))
我的意思是不能像cad自带命令一样被其他程序引用
注册为命令的lisp程序好像也容易出错
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 ) ©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途
GMT+8, 2025-7-30 05:55 , Processed in 0.207086 second(s), 26 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.