lincctw_ccl 发表于 2015-5-30 14:20:12

哪位有重复文字(只保留1个)的删除LSP?

接到客户图面发现
在图中看似只有1段文字
但其实在同一图层中有很多相同文字迭在一起
请问哪位有重复文字(只保留1个)的删除LSP可以给小弟1份吗?
谢谢!


自贡黄明儒 发表于 2015-5-30 14:35:01

;;156.1 [功能] 删除重叠对象(overkill)
;;不知谁写的,太好了.
(DEFUN HH:delBLOCKs (ss / E EN K LIST1 S9 XY)
(repeat (setq k (sslength ss))
    (if        (and (setq e (ssname ss (setq k (1- k))))
             (setq en (entget e))
        )
      (progn
        (setq xy (cdr en))
        (IF (SETQ S9 (ASSOC 5 XY))
          (SETQ XY (subst '(5 . "ASD") S9 XY))
        )
        (if (member xy list1)
          (entdel e)
          (setq list1 (cons xy list1))
        )
      )
    )
)
)

tumu2008323 发表于 2015-5-30 15:07:42

overkill                                                      

yoyoho 发表于 2015-5-30 16:14:27

感谢 自贡黄明儒 分享程序!!!

重慶崽兒 发表于 2015-5-30 23:35:34

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

黄大 不知道能不能给说下为什么要替换句柄啊这里面

llsheng_73 发表于 2015-5-31 22:42:48

重慶崽兒 发表于 2015-5-30 23:35 static/image/common/back.gif
黄大 不知道能不能给说下为什么要替换句柄啊这里面

因为把-1组以后的所有数据相同作为判断重叠的依据,而图元句柄当然不满足这个条件,所以需要替换为相同值或者去除以免它干扰判断,当然,如果需要跨图层、颜色、线型等也需要将相应组去掉或者替换为相同数值

重慶崽兒 发表于 2015-5-31 23:31:46

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

谢谢73大大
明白鸟,因为每个图元的句柄都是不一样的
而后面的图层、颜色、线型等等可以自己设置过滤条件

放羊去的 发表于 2015-6-1 10:24:54

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

这个HH怎么用?

mikewolf2k 发表于 2015-6-1 15:59:26

判断依据就是遍历所有属性(不需要的属性除外),所有属性都一样就是重叠的?
如果这样的话,对于某些情况,比如一段1-5的线段,和1-3-5的线段,他们的顶点信息就不一样,但是图形是一样的,对于这种情况是不是就不能被找出来了?

llsheng_73 发表于 2015-6-1 17:19:25

mikewolf2k 发表于 2015-6-1 15:59 static/image/common/back.gif
判断依据就是遍历所有属性(不需要的属性除外),所有属性都一样就是重叠的?
如果这样的话,对于某些情况 ...

如果顶点3在顶点1和5的直线段内,如果需要用这个程序进行去重,那么需要先对多线段进行优化(去掉直线段中间的点)后再用这个程序可能达到去除重复的目的
页: [1] 2
查看完整版本: 哪位有重复文字(只保留1个)的删除LSP?