[已解决]关于(Entsel)
本帖最后由 作者 于 2009-7-25 22:47:14 编辑 <br /><br /> <p>在Lisp中,(entsel)如果选中一个对象则返回一个表,由点选对象时的光标坐标点及对象实体名 但如果未选中一个实体则返回nil</p><p>我想问的是,有没有什么办法,在(entsel)没有点中任何对象的时候返回一个它的点座标,然后我就以个点为基础,用(getcorner)来获取范围</p><p>在CAD里,不管是移动,复制,或者其它命令,好像都可以这么用</p> 你说的是getpoint么? <p>移动,复制得到的是选择集,用函数ssget</p><p>至于你说的那种效果——可用grread来模仿</p> <p>可以用GETPOINT代替ENTSEL,然后根据所得到的点,用(ENTSELP POINT)来判断是否有实体被点中。</p> (if (setq p1 (getpoint "\n请选择一个对象"))<br/> (cond ((setq b (nentselp p1)) (car b))<br/> ((setq p2 (getcorner p1 "\n选择另外一个角点"))<br/> (if (setq b (ssget "c" p1 p2))(ssname b 0))<br/> )<br/> )<br/>) <strong><font color="#000000" face="Verdana">谢谢 xchrimp, 4楼是我想要的解决方案</font></strong> <p>可以更简单的方法</p><p>(if (setq obj (entsel"\n Pick object:"))</p><p> (setq pt (cadr obj))</p><p> (setq pt (cadr (grread 5)))</p><p>)</p>
页:
[1]
2