my_autocad 发表于 2007-10-3 12:56:00

[求助]点选一个图块,删除文件中所有同名的图块

<p>点选一个图块,删除文件中所有同名的图块</p><p>这个程序对于清理图,是常用的功能,因为,一个图块常被多次定义成块,而且不在0层定义,用一起插件来控制图层时,常常达不到理想效果,常要删除不需要的图块</p><p>lsp怎么来解决呢?</p>

juliana207 发表于 2020-9-27 00:14:02

来看看学习下

ivde 发表于 2007-10-3 13:02:00

filter -〉选择 -〉 erase<br/>

my_autocad 发表于 2007-10-3 13:24:00

<p>LSP程序的方便之处,就是在于,不需要去查询块名,不需要erase<br/>一步到位,可以节省很多时间</p><p>但LSP程序是怎么样的</p>

ZZXXQQ 发表于 2007-10-3 13:48:00



;明经 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)
)

my_autocad 发表于 2007-10-3 15:16:00

<strong><font face="Verdana" color="#da2549">谢谢ZZXXQQ及时准确的回复,程序试用了,完全能完成任务,非常感谢</font></strong>

sailorcwx 发表于 2007-10-3 15:32:00

<p>斑主,是不是应该在后面再加上purge,这样更加完善</p>

hitlzj201 发表于 2007-10-3 19:54:00

看不见<strong><font face="Verdana" color="#da2549">ZZXXQQ<font color="#000000">的程序呀</font></font></strong>

jdhszh 发表于 2007-10-6 10:25:00

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>

hbshyjch 发表于 2007-10-6 18:18:00

<p>太好了</p><p>终于找到这样的程序了</p>

hbshyjch 发表于 2007-10-6 19:35:00

<p>不好意思</p><p>我运行后怎么会是这个结果呢</p><p>“命令: TT ; 错误: no function definition: C:FINDT”</p><p>谢谢解答</p>
页: [1] 2 3
查看完整版本: [求助]点选一个图块,删除文件中所有同名的图块