hpy 发表于 2006-12-28 21:08:00

[求助]恳请帮助:统计圆数量时如何去掉重复圆

在统计小圆数量时,如何把重复的小圆数量去掉,而得到正确的数量呢?<br/>比如:如图所示,小圆正确的数量为187个,但如果其中有重复的小圆数量<br/>就会超过187个,如何把重复的小圆数量找出来,而得到正确的数量187个呢?<br/>恳请高手帮助。在此,先说一声谢谢!

phoenixdjq 发表于 2006-12-29 20:47:00

<p>给你一个网上下载的删除重线的程序,谁做的我忘了</p><p>你可以先把多余的圆删除,然后再计算,就可以了</p><p>&nbsp;</p>

183017064 发表于 2024-12-2 09:11:27

phoenixdjq 发表于 2006-12-29 20:47
给你一个网上下载的删除重线的程序,谁做的我忘了你可以先把多余的圆删除,然后再计算,就可以了&nbsp;

好用,谢谢大佬分享,学习了。居然是18年前的东西,太强了

Andyhon 发表于 2006-12-28 22:18:00

<p>Express Tools 内之 Overkill如何 ?<br/></p>

phoenixdjq 发表于 2006-12-28 22:38:00

<p>如果两个圆的圆心和半径一样,那就是重复的圆了</p><p>写个程序就可以了</p>

鬼魔 发表于 2006-12-28 23:13:00

<p>不用工具的土招</p><p>先拷直线出来,在用BO,然后炸了</p>

hpy 发表于 2006-12-29 20:35:00

phoenixdjq发表于2006-12-28 22:38:00static/image/common/back.gif如果两个圆的圆心和半径一样,那就是重复的圆了写个程序就可以了

<p>请问:应该怎么写?</p>

无痕 发表于 2006-12-29 22:46:00

;; 仅限本例作为参考.(defun c:cnum(/ ss i e cpt pts)
(setq ss (ssget '((0 . "CIRCLE")))
i -1)
(while (setq e (ssname ss (setq i (1+ i))))
    (setq cpt(cdr(assoc 10 (entget e))))
    (if(not(member cpt pts))
      (setq pts(cons cpt pts))
    )
)(length pts)
)

oyxx1023 发表于 2006-12-30 12:18:00

很精简的代码。P服。loushang.

hpy 发表于 2006-12-31 16:04:00

<p>谢谢<strong><font face="Verdana" color="#da2549">无痕!</font></strong>。程序很精简,但如果有重复的圆,程序依然不能统计出正确的数量。看来得用<strong><font face="Verdana" color="#61b713">phoenixdjq</font></strong>提供的程序先消除重复圆,再统计数量了。谢谢<strong><font face="Verdana" color="#61b713">phoenixdjq!</font></strong></p><p><strong><font face="Verdana" color="#61b713"></font></strong></p>

killer9806 发表于 2006-12-31 22:32:00

得到了一个学习的好程式,谢了。
页: [1] 2
查看完整版本: [求助]恳请帮助:统计圆数量时如何去掉重复圆