明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2554|回复: 12

新手请教!能否一次删除重叠圆?

  [复制链接]
发表于 2004-1-12 12:57:00 | 显示全部楼层 |阅读模式
计算用过滤选择的圆时,通常也把重叠的圆计算在内了!
结果就有误了(会多出!)能不能一次删除重叠的圆?
这个问题很困杳我,一个个数真的很要命的!:<
发表于 2004-1-12 13:09:00 | 显示全部楼层
删除后要留下一个?
 楼主| 发表于 2004-1-12 20:03:00 | 显示全部楼层
是的! 一个,。
发表于 2004-1-12 20:11:00 | 显示全部楼层
把一个圆放到一关闭的图层里,再删其它圆
 楼主| 发表于 2004-1-13 08:43:00 | 显示全部楼层
问题是怎样一次框选含有重叠圆的圆的其中一个!因为不能一个一个选!
也就是请教各位老哥的地方,请多多指点!。。。
发表于 2004-1-13 08:56:00 | 显示全部楼层
框选是不可能只选重叠对象中的一个的。框选的特点就是能够让我们方便选择一组对象。用框选,那些重叠的对象要就是全没选上,要就是全部选项上。如果只选一个,为什么不用点选?
发表于 2004-1-13 11:07:00 | 显示全部楼层
将以下内容存为*.lsp,用命令APPLOAD加载,后用命令:er,可以删除选择范围内所有重复的圆(留下一个)。
fuzz后面的数字是半径精度


  1. (defun c:er( / fuzz ss ss2 i ent ent2 lst pt_old r_old r)
  2.   (setq fuzz 0.0001)
  3.   (setq ss (ssget '((0 . "circle"))))
  4.   (setq i 0)
  5.   (while (< i (sslength ss))
  6.     (setq ent (ssname ss i))
  7.     (setq pt (assoc 10 (entget ent)))
  8.     (setq r (cdr (assoc 40 (entget ent))))
  9.     (setq ss2 (ssget "x" (list '(0 . "circle") '(-4 . "=") pt)))
  10.     (ssdel ent ss2)
  11.     (setq j 0)
  12.     (repeat (sslength ss2)
  13.       (setq ent2 (ssname ss2 j))
  14.       (if (equal (cdr (assoc 40 (entget ent2))) r fuzz)
  15.         (progn
  16.           (entdel ent2)
  17.           (ssdel ent2 ss)
  18.         )
  19.       )
  20.       
  21.       (setq j (1+ j))
  22.     )
  23.     (setq i (1+ i))
  24.   )
  25.   (princ)
  26. )
 楼主| 发表于 2004-1-13 12:43:00 | 显示全部楼层
多谢飞哥!先试下程序!
还有东哥!因为有时大大小小的圆多时会有百个上,点选的话效率就。。。。。
所以有重叠的话就难找了!
 楼主| 发表于 2004-1-13 18:33:00 | 显示全部楼层
尝试时!有时会出现误删!我传个图上来,你试下!!
发表于 2004-1-14 00:47:00 | 显示全部楼层
可试试晓东工具里的消除重元
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 19:32 , Processed in 0.183127 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表