cnks 发表于 2008-11-26 13:39:00

<p>(defun c:tt (/ a) (setq a(car(entsel)))(entdel a))<br/>(defun c:tt1()<br/>&nbsp; (c:tt)<br/>&nbsp; (princ "hello")<br/>&nbsp; )</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/>&nbsp; (setq ss (ssget))<br/>&nbsp; (repeat (setq i (sslength ss))<br/>&nbsp;&nbsp;&nbsp; (entdel (ssname ss (setq i (1- i))))<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)</p><p>;;调用command<br/>(defun c:tt1 (/ a)<br/>&nbsp; (setq a (ssget))<br/>&nbsp; (command "_.ERASE" a "")<br/>)</p><p>;;调用c:tt<br/>(defun c:tt1 (/ a)<br/>&nbsp; (setq a (ssget))<br/>&nbsp; (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)&nbsp; (setq ss (ssget))&nbsp; (repeat (setq i (sslength ss))&nbsp;&nbsp;&nbsp; (entdel (ssna

<p></p><p>;;定义一个和命令 ERASE 功能一样的程序<br/>(defun tt (/&nbsp; i)<br/>&nbsp; (setq ss (ssget))<br/>&nbsp; (repeat (setq i (sslength ss))<br/>&nbsp;&nbsp;&nbsp; (entdel (ssname ss (setq i (1- i))))<br/>&nbsp; )<br/>&nbsp; (princ)<br/>)<br/><font style="BACKGROUND-COLOR: #e492d4;">(vlax-add-cmd "tt" 'tt) ;;!!!!!!!!</font><br/>;;调用command<br/>(defun c:tt1 (/ a)<br/>&nbsp; (setq a (ssget))<br/>&nbsp; (command "_.ERASE" a "")<br/>)</p><p>;;调用c:tt<br/>(defun c:tt2 (/ a)<br/>&nbsp; (setq a (ssget))<br/>&nbsp; <font style="BACKGROUND-COLOR: #f79709;">(command "tt" a&nbsp; "");;</font>我的意思是不能像command一样使用<br/>&nbsp; (princ)<br/>)</p>

cnks 发表于 2008-11-26 19:04:00

<p>这样当然不能用了</p>
页: 1 [2]
查看完整版本: lisp中怎样调用自己编写的程序