cnks
发表于 2008-11-26 13:39:00
<p>(defun c:tt (/ a) (setq a(car(entsel)))(entdel a))<br/>(defun c:tt1()<br/> (c:tt)<br/> (princ "hello")<br/> )</p><p>命令: tt1</p><p>选择对象: hello"hello"</p><p>没有出现什么错误,你指的是什么错误?</p>
caoyin
发表于 2008-11-26 13:54:00
<p>老兄理解错了,我重新举个例子:</p><p>;;定义一个和命令 ERASE 功能一样的程序<br/>(defun c:tt (/ ss i)<br/> (setq ss (ssget))<br/> (repeat (setq i (sslength ss))<br/> (entdel (ssname ss (setq i (1- i))))<br/> )<br/> (princ)<br/>)</p><p>;;调用command<br/>(defun c:tt1 (/ a)<br/> (setq a (ssget))<br/> (command "_.ERASE" a "")<br/>)</p><p>;;调用c:tt<br/>(defun c:tt1 (/ a)<br/> (setq a (ssget))<br/> (c:tt a "");;我的意思是不能像command一样使用<br/>)</p><p>将c:开头的函数注册为command,有时候会出错,不知为什么?</p>
jackieshaw
发表于 2008-11-26 14:50:00
<p>(defun c:xpp()<br/>(c:xp "all" "" "i" "")<br/>)<br/></p><p></p><p>我的输入这段之后出现这样的错误提示:</p><p>Command: xpp<br/>; error: too many arguments</p><p></p><p>请问怎么回事</p><p></p>
狂刀lxx
发表于 2008-11-26 18:46:00
caoyin发表于2008-11-26 13:54:00static/image/common/back.gif老兄理解错了,我重新举个例子:;;定义一个和命令 ERASE 功能一样的程序(defun c:tt (/ ss i) (setq ss (ssget)) (repeat (setq i (sslength ss)) (entdel (ssna
<p></p><p>;;定义一个和命令 ERASE 功能一样的程序<br/>(defun tt (/ i)<br/> (setq ss (ssget))<br/> (repeat (setq i (sslength ss))<br/> (entdel (ssname ss (setq i (1- i))))<br/> )<br/> (princ)<br/>)<br/><font style="BACKGROUND-COLOR: #e492d4;">(vlax-add-cmd "tt" 'tt) ;;!!!!!!!!</font><br/>;;调用command<br/>(defun c:tt1 (/ a)<br/> (setq a (ssget))<br/> (command "_.ERASE" a "")<br/>)</p><p>;;调用c:tt<br/>(defun c:tt2 (/ a)<br/> (setq a (ssget))<br/> <font style="BACKGROUND-COLOR: #f79709;">(command "tt" a "");;</font>我的意思是不能像command一样使用<br/> (princ)<br/>)</p>
cnks
发表于 2008-11-26 19:04:00
<p>这样当然不能用了</p>