luowy 发表于 2009-1-6 09:38:00

lisp命令执行时清除当前选择

每次调用lisp命令的时候,之前的选择还在,不知如何才能清除以便执行lisp命令?

Andyhon 发表于 2009-1-6 09:56:00

<p>try (acet-ss-clear-prev)&nbsp;&nbsp; ; need ET</p>

caoyin 发表于 2009-1-6 10:34:00

ET 的函数在图纸空间有时会出错。他的原理就是创建一个对象,然后undo回去。

oyxx1023 发表于 2009-1-6 10:38:00

<p>先(SETQ SS (SSGET "p"))</p><p>再(SETQ SS nil)?</p>

caoyin 发表于 2009-1-6 11:24:00

oyxx1023发表于2009-1-6 10:38:00static/image/common/back.gif先(SETQ SS (SSGET \"p\"))再(SETQ SS nil)?

<p></p>这样不行吧

luowy 发表于 2009-1-7 12:18:00

<p>我经常先选择一实体,察看实体的层等信息,之后就调用lisp命令,而此前的选择没有被清除,lisp命令建立在此选择后,很不好,那个ese逃脱符又不知道如何使用</p><p></p><p>\n为换行</p><p>\e、\t的都不行~~</p>

Alan.Shi 发表于 2009-1-7 14:40:00

(command /e)

nonsmall 发表于 2009-1-7 14:55:00

命令: (command "select" "")<p>命令: (ssget "p")<br/>nil</p>

caoyin 发表于 2009-1-7 16:48:00

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>

caoyin 发表于 2009-1-7 16:53:00

<p>;;-------------这是ET的方法-------------------------------</p><p>;; ▓ (lta:ClearSS)<br/>;; [功能] 清空选择集<br/>(defun lta:ClearSS (/ ss)<br/>&nbsp; (if (setq ss (ssget "_x" (list (cons 410 (getvar "ctab")))))<br/>&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setvar "cmdecho" 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setvar "highlight" 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.select" (ssname ss 0) "")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (command "_.undo" "1")<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setvar "highlight" 1)<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp; )<br/>&nbsp; nil<br/>)</p>
页: [1] 2
查看完整版本: lisp命令执行时清除当前选择