明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: chpmould

[基础] 获取同心圆中最大圆直径

  [复制链接]
发表于 2011-6-4 22:35:26 | 显示全部楼层
取出所有圆的圆心和直径,保存一个列表里,再循环判断同心及判断最大直径为一组列表,

如下表

((0 0 0)10.0) ((10 10 0)12.0) ((18 12 0)5.0)
 楼主| 发表于 2011-6-5 06:39:26 | 显示全部楼层
祥子 发表于 2011-6-4 22:35
取出所有圆的圆心和直径,保存一个列表里,再循环判断同心及判断最大直径为一组列表,

如下表

能否示范一下...
发表于 2011-6-7 19:25:10 | 显示全部楼层
这是我一个自定义命令里用到的获得同心圆,是不是你想要的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2011-6-7 19:31:58 | 显示全部楼层
198526 发表于 2011-6-7 19:25
这是我一个自定义命令里用到的获得同心圆,是不是你想要的。

没有看明白,能否提供同心圆处理部分看看...
发表于 2011-6-8 10:00:06 | 显示全部楼层
回复 chpmould 的帖子

这是我用的同心圆过滤,
也是逐个判断,我觉得速度还可以
ta:圆列表

(setq i 0)
(repeat(length ta)
     (setq c(entget(nth i ta))i(1+ i)
        r1(cdr(assoc 40 c))
        pt(cdr(assoc 10 c))
        pt(list(atof(rtos(car pt)2 2))(atof(rtos(cadr pt)2 2)))
        lis(cons pt r1));setq
     (if(setq a1(assoc(car lis)t2))
        (if(<(cdr a1)r1)(setq t2(subst lis a1 t2)));if
        (setq t2(cons lis t2))
     );if
);repeat
 楼主| 发表于 2011-6-8 19:52:37 | 显示全部楼层
liu22737 发表于 2011-6-8 10:00
回复 chpmould 的帖子

这是我用的同心圆过滤,

谢谢!
不知使用排序的方法是否可以,希望高手指点...
发表于 2011-6-8 23:06:51 | 显示全部楼层
回复 chpmould 的帖子

感觉这个程序里面的部分可以借鉴下。http://bbs.mjtd.com/forum.php?mo ... mp;page=1#pid467685
发表于 2011-6-8 23:10:08 | 显示全部楼层
回复 198526 的帖子

楼主只发图片不发lisp源程序好让大伙学习下嘛
发表于 2011-6-9 15:08:58 | 显示全部楼层
chpmould 发表于 2011-6-4 14:13
圆心和直径成表再操作,能否稍详细一点...

象你只要求最大直径,这个比较简单,我以前要以圆之大小,线型,颜色,图层,附加数据等再判断同种孔有几个进行加工标注。
1,先用实体按圆心排序,这程式坛中有,不过这不做也没关系,可能会慢一点
2. REPEAT一次
     A 取圆心和直径(注意要象15楼一样转换一下,不然很多看似一样的实际上在电脑里是不一样的,尤其是别的软件转过来的圆。
  B  用ASSOC搜索圆心,NIL 将圆心直径成表加入,T再判断直径,大于替换,小于跳过
3.将表再换成你想要的格式。
发表于 2011-6-9 17:18:13 | 显示全部楼层
感觉到楼主是某个人的马甲。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-10 09:48 , Processed in 0.181428 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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