lisp命令执行时清除当前选择
每次调用lisp命令的时候,之前的选择还在,不知如何才能清除以便执行lisp命令? <p>try (acet-ss-clear-prev) ; need ET</p> ET 的函数在图纸空间有时会出错。他的原理就是创建一个对象,然后undo回去。 <p>先(SETQ SS (SSGET "p"))</p><p>再(SETQ SS nil)?</p> oyxx1023发表于2009-1-6 10:38:00static/image/common/back.gif先(SETQ SS (SSGET \"p\"))再(SETQ SS nil)?<p></p>这样不行吧 <p>我经常先选择一实体,察看实体的层等信息,之后就调用lisp命令,而此前的选择没有被清除,lisp命令建立在此选择后,很不好,那个ese逃脱符又不知道如何使用</p><p></p><p>\n为换行</p><p>\e、\t的都不行~~</p> (command /e) 命令: (command "select" "")<p>命令: (ssget "p")<br/>nil</p> nonsmall发表于2009-1-7 14:55:00static/image/common/back.gif命令: (command \"select\" \"\")命令: (ssget \"p\")nil
<p></p><p>这样也不行的,</p><p>先执行选择集操作确保 (ssget "p") 返回为真</p><p>然后(command "select" "")</p><p>再(ssget "p")<br/>---------------------------------------------只有返回nil才有效的</p> <p>;;-------------这是ET的方法-------------------------------</p><p>;; ▓ (lta:ClearSS)<br/>;; [功能] 清空选择集<br/>(defun lta:ClearSS (/ ss)<br/> (if (setq ss (ssget "_x" (list (cons 410 (getvar "ctab")))))<br/> (progn<br/> (setvar "cmdecho" 0)<br/> (setvar "highlight" 0)<br/> (command "_.select" (ssname ss 0) "")<br/> (command "_.undo" "1")<br/> (setvar "highlight" 1)<br/> )<br/> )<br/> nil<br/>)</p>
页:
[1]
2