llsheng_73 发表于 2015-6-1 17:42:05

(DEFUN HH:delBLOCKs (ss dxf / e en k lst)
(repeat(setq dxf(append'(-1 5)dxf)
                k (sslength ss))
    (if(member(setq k(1- k)
                  e(ssname ss k)
                  en(vl-remove-if'(lambda(x)(member(car x)dxf))(entget e)))
              lst)
      (entdel e)
      (setq lst(cons en lst))))
)
在黄大师程序基础上进行了小修改,加了一个表作为参数用以控制需要忽略的DXF组,如果不需要,该参数用NIL
(HH:DELBLOCKS(ssget)nil)
(HH:DELBLOCKS(ssget)'(6 8))忽略线型和图层

重慶崽兒 发表于 2015-6-1 22:50:25

llsheng_73 发表于 2015-5-31 22:42 static/image/common/back.gif
因为把-1组以后的所有数据相同作为判断重叠的依据,而图元句柄当然不满足这个条件,所以需要替换为相同值 ...

今天发现一个问题,BO出来的重复线删除不了
因为好像BO出来的线并不是完全重合的坐标好像不完全一致需要加误差值
不知道73大大有没有什么好的想法

自贡黄明儒 发表于 2015-6-2 08:52:25

重慶崽兒 发表于 2015-6-1 22:50 static/image/common/back.gif
今天发现一个问题,BO出来的重复线删除不了
因为好像BO出来的线并不是完全重合的坐标好像不完全一致   ...

起点不同而已   

mikewolf2k 发表于 2015-6-2 13:11:05

llsheng_73 发表于 2015-6-1 17:19 static/image/common/back.gif
如果顶点3在顶点1和5的直线段内,如果需要用这个程序进行去重,那么需要先对多线段进行优化(去掉直线段中 ...

那就是说还是不能直接处理这种情况。这么来看,一段重合的line和pline,也是不能检测到的。

花心小兔001 发表于 2015-6-5 10:02:03

探索者自带吧?

ciai06 发表于 2015-7-27 20:23:46

自贡黄明儒 发表于 2015-5-30 14:35 static/image/common/back.gif
;;156.1 [功能] 删除重叠对象(overkill)
;;不知谁写的,太好了.
(DEFUN HH:delBLOCKs (ss / E EN K LIST1...

提示缺少参数啊。

残末的世界 发表于 2016-1-26 15:31:54

自贡黄明儒 发表于 2015-5-30 14:35 static/image/common/back.gif
;;156.1 [功能] 删除重叠对象(overkill)
;;不知谁写的,太好了.
(DEFUN HH:delBLOCKs (ss / E EN K LIST1...

谢谢分享,好好学习,天天向上。
页: 1 [2]
查看完整版本: 哪位有重复文字(只保留1个)的删除LSP?