[求助]如何调用ET工具中的命令?
<p>我想做一个简单的对象前置和后置的程序</p><p>我是想先调用ET工具中的GETSEL命令选择对象</p><p>再调用DRAWORDER命令进行前置和后置</p><p></p><p>但是getsel是外部命令无法调用,有什么办法处理吗?</p> <p>(defun c:ggg() <br/> (c:getsel)<br/> (command "DRAWORDER")<br/>)</p><p>试试看行不?</p> <p>(defun c:drr() <br/> (princ "\n选择物体:")<br/> (setq e (ssget))<br/> (command "c:getsel" e "" "") <br/> (command "DRAWORDER" p "" "")<br/> (princ)<br/>) </p><p></p><p>不行啊,getsel后面还要输入的</p> <p>Check here:</p><p><a href="http://www.cadtutor.net/forum/showthread.php?t=14346">http://www.cadtutor.net/forum/showthread.php?t=14346</a></p><p></p> Andyhon发表于2008-10-30 21:43:00static/image/common/back.gifCheck here:http://www.cadtutor.net/forum/showthread.php?t=14346<p></p><p>谢谢,这个LISP能满足使用要求.</p><p>但是能不能说一下,如果要调用ET命令来实现,该怎么做呢?</p> 楼主的意思是不是将GETSEL命令选择到的对象进行前置和后置,根据这个思路设计程序如下:<br/>(defun c:drr() <br/> (c:getsel) <br/> (setq SS (ssget "P"));上一个选择集<br/> (command "DRAWORDER" SS "" pause)<br/> (princ)<br/>) dianbotang发表于2008-10-31 21:39:00static/image/common/back.gif楼主的意思是不是将GETSEL命令选择到的对象进行前置和后置,根据这个思路设计程序如下:(defun c:drr() (c:getsel) (setq SS (ssget \"P\"));上一个选择
<p>在原图层中选择一个对象 <*>:<br/>选择一个你希望的对象类型 <*>:</p><p></p><p>我希望在调用GETSEL的时候把这2步变成一步,不指定对象类型,把步骤减到最少</p> <p>如果既要指定图层,又要指定对象类型,那按我上面所说的做就可以了。<br/>在(c:getsel) 里面好像不可以再加其他的关键字,不知道有没有解决的方法。<br/>如果只指定图层,或者只指定对象类型,又要求一步完成,可以用别的方法。<br/>(defun c:dr1()'过滤图层<br/> (setq ent (entsel))<br/> (setq entlist (entget (car ent)))<br/> (setq lname (cdr (assoc 8 entlist))<br/> SSLST (list (cons 8 lname))<br/> ss (ssget "_X" SSLST))<br/> (command "DRAWORDER" SS "")<br/> (princ)<br/>) </p><p><br/>(defun c:dr2()'过滤对象<br/> (setq ent (entsel))<br/> (setq entlist (entget (car ent)))<br/> (setq ename (cdr (assoc 0 entlist))<br/> SSLST (list (cons 0 ename))<br/> ss (ssget "_X" SSLST))<br/> (command "DRAWORDER" SS "")<br/> (princ)<br/>) </p><p>还有你要求前置还是后置?如果确定的话就可以再简化。</p><p></p> 本帖最后由 作者 于 2008-11-2 20:57:23 编辑 <br /><br /> <p>谢谢,我原意是想看大家是否有方法可以在外部命令后加关键字,如果能够的话,对我这种菜鸟来说,小程序就可以简单点了</p><p></p><p>呵呵,谢谢大家</p>
页:
[1]