找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 18300|回复: 6
打印 上一主题 下一主题

CAA中如何获取某一个面上的所有圆等几何对象?

[复制链接]
跳转到指定楼层
1
发表于 2005-8-23 11:37:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

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

x
由用户交互选择一个平面后,如何获取包含在该面内的所有的圆(孔)等几何对象?应该用到一些拓扑、几何操作吧?不知具体如何操作,请高手赐教!非常感谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 赞一下!赞一下!
2
发表于 2005-8-24 10:10:56 | 只看该作者
如果是我的话会试着这么做:
从这个面Body中取得所有的1维Cell(曲线),这样,所有的边界线以及非边界线都有了,包括中间的孔的边界线
对所有的线进行排序,每一串能首尾连接的(边界线)放入一个表内,不能的剔除,这样得到最外部的边界和孔的边界
对每一组边界线,计算它的BoundingBox(计算最大X,Y值就可以),这样,BoundingBox最大(最外面)的那个就是外部边界,剔除
剩下的就是几组孔的边界了,对每一组中的每根曲线,试着QueryInterface CATCircle(圆孔的情况),如果能得到,就是圆弧,如果孔的形状多种多样(月牙孔?枣核孔?),就要在加些别的判断(半径一致,圆弧角度等等)
这样,对一些不是太复杂的情况应该能应付得了吧。。。
3
发表于 2005-8-25 20:54:19 | 只看该作者
对所有的线进行排序,每一串能首尾连接的(边界线)放入一个表内,不能的剔除,这样得到最外部的边界和孔的边界  
  
请问怎样判断这些线能否守为连接呢?
4
发表于 2005-8-25 21:07:12 | 只看该作者
得到起点和终点,可以么?
5
发表于 2005-8-25 21:29:59 | 只看该作者
请问怎样判断这些线能否守为连接呢?
========================
不讨论复杂情况的条件下,这仅仅是一个耐心的问题:
1。随便从一根线开始,得到它的两个端点
2。在剩下的线中查找,看有没有和它相联的线(其中一个端点和第一根线的一个端点相同)
     a。有,继续在剩下的线中查找和第二根线相连的线
     b。没有,剔除第一根线,重复1
3。在2a中,每找到一根线相连的线,还要看看它的另一端是否正好是第一根线的另一端
     a。是,恭喜,找到了一个Loop,把这个Loop中的线放到一个List中,对剩下的进行1
     b。不是,继续2
4。最后,怎么也找不到Loop了,这说明剩下的线都是非边界线,剔除掉不管就行了
5。对于找到的几个Loop, BoundingBox最大的就是外界线,剩下的都是孔(应该是吧)
6
发表于 2005-8-25 22:53:46 | 只看该作者
谢谢高手了,这个思路不错,很清晰
:)
7
发表于 2005-8-28 16:21:14 | 只看该作者
谢谢各位的帮助,我去试试!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-24 09:15 , Processed in 0.028325 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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