如何获得某个command后生成的所有物体
<p>想获得copy命令后新生成物体的选择集,还有连续标注(dimcontinue)生成的标注选择集</p><p>或者,有无类似的系统变量,象undo那样先设置一个标志,以后就可以获得标识之后新生成物体的选择集?</p> <p>如果,(entlast)返回nil,那么该函数就不能执行了.<br/></p> ;; [功能] 获取在图元 en 之后产生的图元的选择集;; [参数] en----图元名
;; [返回] 选择集
;; [测试]1.(setq ent (entlast))
;; 执行创建图元的命令,如 LINE,BOUNDARY
;; (setq lst (lt:ss-entnext ent))
;; 2.(setq s (lt:ss-entnext (car(entsel))))
(defun lt:ss-entnext (en / ss)
(if en
(progn
(setq ss (ssadd))
(while (setq en (entnext en)) (ssadd en ss))
(if (zerop (sslength ss)) (setq ss nil))
ss
)
(ssget "_x")
)
)
(setq en (entlast))
(command ....)
(lt:ss-entnext en))
jxphklibin发表于2009-1-19 13:16:00static/image/common/back.gif如果,(entlast)返回nil,那么该函数就不能执行了.
<p>你试一下不就知道了。</p> 不是说不能执行,我是说选择的不是所需要的,而是 <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/ssget.htm" target="_black"><font color="#0000ff">ssget</font></a>
<font color="#ff00ff">"_x"</font><font color="#ff0000">)</font><br/> jxphklibin发表于2009-1-19 22:08:00static/image/common/back.gif不是说不能执行,我是说选择的不是所需要的,而是 (ssget \"_x\")
<p>如果(entlast)为nil,则图中未画任何实体。所以可用(ssget "X")取得LISP命令执行后生成的所有实体。</p> caoyin 发表于 2008-2-27 13:03 static/image/common/back.gif
(setq en (entlast))
(command ....)
(lt:ss-entnext en))
(lt:ss-entnext en))最右边多了一个括号,感谢版主提供方法。 怎么解决的,能不能提供实例。
页:
[1]