atjsking 发表于 2013-11-6 08:19:08

求助,如何写同心圆的判断

本帖最后由 atjsking 于 2013-11-6 20:09 编辑

大神们好,新人求助。

在一张图中有多个圆,

我要做的是选择同心的园,并删除?该怎么做?

(setq ss (ssget"x"'((0"circle")))) ;选择所有的圆
怎么做出判断某两个圆是同心的 ,并删除这两个圆??? 已经解决!



smartstar 发表于 2013-11-6 08:36:33

看看这个帖子http://bbs.mjtd.com/forum.php?mod=viewthread&tid=96275

llsheng_73 发表于 2013-11-6 09:03:22

本帖最后由 llsheng_73 于 2013-11-7 14:11 编辑

(setq ss(ssget "X"'((0 . "circle"))))
(if ss(progn
(setq m(sslength ss)n 0)
(while(< n m)
    (setq e(ssname ss n)n(1+ n)l n
   p(assoc 10(entget e))
   P(vl-princ-to-string(list(nth 1 p)(nth 2 p)))
   a nil)
    (while(< l m)
      (setq f(ssname ss l)l(1+ l)
   p1(assoc 10(entget f))
   P1(vl-princ-to-string(list(nth 1 p1)(nth 2 p1))))
      (if(= p p1)
      (progn
   (ssdel f ss)(entdel f)
   (setq l(1- l)m(1- m)a t))))
    (if a(progn
    (ssdel e ss)
    (entdel e)
    (setq n(1- n)m(1- m))))
    )
)
)

同心圆的话必然圆心相同,当然Z坐标看怎么说了....现在把直接不要Z坐标了也就是只有Z坐标不同的认为它们同心,应该可以满足你的要求了吧。。。

自贡黄明儒 发表于 2013-11-6 15:54:39

两个圆同心,你是删除大的圆呢还是小的?

atjsking 发表于 2013-11-6 18:14:50

llsheng_73 发表于 2013-11-6 09:03 static/image/common/back.gif
同心圆的话必然圆心相同。。。

谢谢大神!!!无比感激,我在做的是一个检测封闭线的程序。
在所有的图元两端点做 同规格的圆,最后一步是删除同心圆,只留单圆卡住了,
现在解决了,非常感谢!!!

atjsking 发表于 2013-11-7 12:30:30

llsheng_73 发表于 2013-11-6 09:03 static/image/common/back.gif
同心圆的话必然圆心相同。。。

http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108242&page=1#pid616522

大神再帮下,有BUG,位于圆弧两端的圆无法删除…………

llsheng_73 发表于 2013-11-7 12:52:59

atjsking 发表于 2013-11-7 12:30 static/image/common/back.gif
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108242&page=1#pid616522

大神再帮下,有BUG,位于 ...

是因为它位于圆弧两端还是它们的Z坐标不一样?

llsheng_73 发表于 2013-11-7 14:16:06

atjsking 发表于 2013-11-7 12:30 static/image/common/back.gif
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108242&page=1#pid616522

大神再帮下,有BUG,位于 ...

我不知道你的圆是什么样子,由于程序内没有设置允许偏差,所以必须完全同心,当然又考虑到可能Z坐标可能不相同,所以给你改了下,忽略了Z坐标的存在。如果还是不能删除,那很可能差一个允许偏差。。。你可以自己进行修改,反正就是对两个圆的圆心坐标(组码10后边那三个数)进行比较,如果在你的允许偏差内就认为它们相同,自己改下IF 的条件表达式吧,不难的

努力活着 发表于 2014-11-7 18:21:19

好东西啊,数量太多的话,CAD有点运行不过来了

清风明月名字 发表于 2014-11-7 18:32:00

谢谢楼主的分享,非常好用,收藏备用了!
页: [1]
查看完整版本: 求助,如何写同心圆的判断