明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1957|回复: 9

[已解答] 求助,如何写同心圆的判断

[复制链接]
发表于 2013-11-6 08:19:08 | 显示全部楼层 |阅读模式
本帖最后由 atjsking 于 2013-11-6 20:09 编辑

大神们好,新人求助。

在一张图中有多个圆,

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

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




本帖被以下淘专辑推荐:

  • · 收集|主题: 58, 订阅: 4
发表于 2013-11-6 08:36:33 | 显示全部楼层
发表于 2013-11-6 09:03:22 | 显示全部楼层
本帖最后由 llsheng_73 于 2013-11-7 14:11 编辑

  1. (setq ss(ssget "X"'((0 . "circle"))))
  2. (if ss(progn
  3.   (setq m(sslength ss)n 0)
  4.   (while(< n m)
  5.     (setq e(ssname ss n)n(1+ n)l n
  6.    p(assoc 10(entget e))
  7.    P(vl-princ-to-string(list(nth 1 p)(nth 2 p)))
  8.    a nil)
  9.     (while(< l m)
  10.       (setq f(ssname ss l)l(1+ l)
  11.      p1(assoc 10(entget f))
  12.      P1(vl-princ-to-string(list(nth 1 p1)(nth 2 p1))))
  13.       (if(= p p1)
  14.         (progn
  15.    (ssdel f ss)(entdel f)
  16.    (setq l(1- l)m(1- m)a t))))
  17.     (if a(progn
  18.     (ssdel e ss)
  19.     (entdel e)
  20.     (setq n(1- n)m(1- m))))
  21.     )
  22.   )
  23.   )


同心圆的话必然圆心相同,当然Z坐标看怎么说了....现在把直接不要Z坐标了也就是只有Z坐标不同的认为它们同心,应该可以满足你的要求了吧。。。
发表于 2013-11-6 15:54:39 | 显示全部楼层
两个圆同心,你是删除大的圆呢还是小的?
 楼主| 发表于 2013-11-6 18:14:50 | 显示全部楼层
llsheng_73 发表于 2013-11-6 09:03
同心圆的话必然圆心相同。。。

谢谢大神!!!无比感激,我在做的是一个检测封闭线的程序。
在所有的图元两端点做 同规格的圆,最后一步是删除同心圆,只留单圆卡住了,
现在解决了,非常感谢!!!
 楼主| 发表于 2013-11-7 12:30:30 | 显示全部楼层
llsheng_73 发表于 2013-11-6 09:03
同心圆的话必然圆心相同。。。

http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid616522

大神再帮下,有BUG,位于圆弧两端的圆无法删除…………
发表于 2013-11-7 12:52:59 | 显示全部楼层
atjsking 发表于 2013-11-7 12:30
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108242&page=1#pid616522

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

是因为它位于圆弧两端还是它们的Z坐标不一样?
发表于 2013-11-7 14:16:06 | 显示全部楼层
atjsking 发表于 2013-11-7 12:30
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 | 显示全部楼层
谢谢楼主的分享,非常好用,收藏备用了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-22 15:35 , Processed in 0.172201 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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