新手请教!能否一次删除重叠圆?
计算用过滤选择的圆时,通常也把重叠的圆计算在内了!结果就有误了(会多出!)能不能一次删除重叠的圆?
这个问题很困杳我,一个个数真的很要命的!:< 删除后要留下一个? 是的! 一个,。 把一个圆放到一关闭的图层里,再删其它圆 问题是怎样一次框选含有重叠圆的圆的其中一个!因为不能一个一个选!
也就是请教各位老哥的地方,请多多指点!。。。 框选是不可能只选重叠对象中的一个的。框选的特点就是能够让我们方便选择一组对象。用框选,那些重叠的对象要就是全没选上,要就是全部选项上。如果只选一个,为什么不用点选? 将以下内容存为*.lsp,用命令APPLOAD加载,后用命令:er,可以删除选择范围内所有重复的圆(留下一个)。
fuzz后面的数字是半径精度
(defun c:er( / fuzz ss ss2 i ent ent2 lst pt_old r_old r)
(setq fuzz 0.0001)
(setq ss (ssget '((0 . "circle"))))
(setq i 0)
(while (< i (sslength ss))
(setq ent (ssname ss i))
(setq pt (assoc 10 (entget ent)))
(setq r (cdr (assoc 40 (entget ent))))
(setq ss2 (ssget "x" (list '(0 . "circle") '(-4 . "=") pt)))
(ssdel ent ss2)
(setq j 0)
(repeat (sslength ss2)
(setq ent2 (ssname ss2 j))
(if (equal (cdr (assoc 40 (entget ent2))) r fuzz)
(progn
(entdel ent2)
(ssdel ent2 ss)
)
)
(setq j (1+ j))
)
(setq i (1+ i))
)
(princ)
)
多谢飞哥!先试下程序!
还有东哥!因为有时大大小小的圆多时会有百个上,点选的话效率就。。。。。
所以有重叠的话就难找了! 尝试时!有时会出现误删!我传个图上来,你试下!! 可试试晓东工具里的消除重元
页:
[1]
2