明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: zhd81617

[讨论]关于所有圆一次加上中心线的问题

  [复制链接]
发表于 2011-6-1 15:05 | 显示全部楼层
非常好的程序!谢谢了!
发表于 2011-6-1 17:55 | 显示全部楼层
zhongys 发表于 2011-5-31 21:55
圆中心线好写,关键在于如何判断同心圆,同心圆与圆弧,同心圆弧,如果这个处理好了就是一个非常好用的程式 ...

赞同搞成判断同心圆...
发表于 2011-12-31 10:48 | 显示全部楼层
同心圆很好判断,提供思路
取所有圆和圆弧的选择集
(setq ss (ssget "x" '((-4 . "<OR")(0 . "CIRCLE")(0 . "ARC")(-4 . "OR>"))))
取每个图元的中心和半径
(setq n 0)
(repeat (sslength ss)
  (append cc (list (cdr (assoc 10 (entget (ssname ss n))))(cdr (assoc 40 (entget (ssname ss n))))(ssname ss n)))
  (setq n (1+ n))
)

用vl-sort函数对cc中的表排序
cc表中元素为((x y z) r 图元名)
cc表中相邻元素比较,(equal (x0 y0 z0)(x1 y1 z1))则比较r,将半径小的表记录到另一个表dd中,直到表尾。
依次提取dd中的元素,用vl-remove函数将重复的元素从cc中删除
对消重后的cc进行中心线处理,由于最后一项保留了图元名,所以很方便

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-7 11:35 , Processed in 0.156914 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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