[求助]点选一个图块,删除文件中所有同名的图块
<p>点选一个图块,删除文件中所有同名的图块</p><p>这个程序对于清理图,是常用的功能,因为,一个图块常被多次定义成块,而且不在0层定义,用一起插件来控制图层时,常常达不到理想效果,常要删除不需要的图块</p><p>lsp怎么来解决呢?</p> 来看看学习下 filter -〉选择 -〉 erase<br/> <p>LSP程序的方便之处,就是在于,不需要去查询块名,不需要erase<br/>一步到位,可以节省很多时间</p><p>但LSP程序是怎么样的</p>;明经 ZZXXQQ 删除指定同名图块 2007.10.3
(DEFUN C:TT ()
(SETVAR "CMDECHO" 0)
(IF (SETQ S1 (ENTSEL "\nSelect a Block 选择一个图块 :")) (PROGN
(SETQ ENT (ENTGET (CAR S1)))
(IF (= (CDR (ASSOC 0 ENT)) "INSERT") (PROGN
(SETQ NNM (ASSOC 2 ENT)
SS (SSGET "X" (LIST '(0 . "INSERT") NNM)))
; (COMMAND "ERASE" SS "")
(SETQ I -1)
(REPEAT (SSLENGTH SS)
(ENTDEL (SSNAME SS (SETQ I (1+ I))))
)
))
))
(SETVAR "CMDECHO" 1)
(PRINC)
)
<strong><font face="Verdana" color="#da2549">谢谢ZZXXQQ及时准确的回复,程序试用了,完全能完成任务,非常感谢</font></strong> <p>斑主,是不是应该在后面再加上purge,这样更加完善</p> 看不见<strong><font face="Verdana" color="#da2549">ZZXXQQ<font color="#000000">的程序呀</font></font></strong> purge好像不必<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/ENTDEL.htm" target="_black"><font color="#0000ff">ENTDEL</font></a>
<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/SSNAME.htm" target="_black"><font color="#0000ff">SSNAME</font></a> SS <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/SETQ.htm" target="_black"><font color="#0000ff">SETQ</font></a> I <font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/1+.htm" target="_black"><font color="#0000ff">1+</font></a> I<font color="#ff0000">)</font><font color="#ff0000">)</font><font color="#ff0000">)这一句已经够了,entdel 函数既可以删除图形对象,又可以删除非图形对象。</font> <p>太好了</p><p>终于找到这样的程序了</p> <p>不好意思</p><p>我运行后怎么会是这个结果呢</p><p>“命令: TT ; 错误: no function definition: C:FINDT”</p><p>谢谢解答</p>