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

iCAx开思网

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

[求助] 关于判断两个消参的Body是否相交

[复制链接]
跳转到指定楼层
1
发表于 2013-10-15 14:50:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
各位好,在做判断两个消参的body是否相交的时候,我用了如下方法:
1.通过获取cell,得到surface,然后用CATCreateIntersection :得到结果不准,不想交的两个Body可以求出相交的结果
2.通过获取body->CATCreateTopIntersect :报错
3.CATIGSMIntersect->CreateIntersect  
4.通过得到各自的cell ->IsLyingOn  : 结果始终是NO
5.测量距离CATCreateDistanceMinTopo:报错:不在同一个container,两个body在一个part里面
这些都是没有成功的,都会报一些错误出来。


最后用CATIGSMIntersect->CreateIntersect()得到的CATIGSMIntersect_var

spGsmIntersect=spGSMFactory->CreateIntersect(p1,p2,Extrapolation);
  CATTry
  {
   CATISpecObject_var up=spGsmIntersect;
   IsFlag=1;
   up->Update();
  }
  CATCatch(CATError, pError)
  {
   IsFlag=0;
  }
  CATEndTry

这个函数就需要返回IsFlag,当Update失败,被catch到之后不throw直接赋值IsFlag为0,如果Update没有失败,则返回IsFlag为1

但是这样会不会有什么不好的地方,不是很明白,谢谢各位了!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2013-11-27 21:07:25 | 只看该作者
知不知道为什么不能update啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2024-12-27 14:14 , Processed in 0.025103 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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