CAA里如何通过CATEdge或CATEdgeCurve得到该线所在的面?
答案:4 悬赏:70 手机版
解决时间 2021-02-22 09:47
- 提问者网友:我们很暧昧
- 2021-02-21 19:36
CAA里如何通过CATEdge或CATEdgeCurve得到该线所在的面?
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-02-21 20:24
非常感谢!得到的交线类型不是CATPCurveType,而是CATEdgeCurveType和CATCurveType类型,所以不能得到CATPCurve指针;另采用IsLyingOn判别采用交线CATIGeometricalElement_var->GetBodyResult()的CATBody判断是否依赖于实体的CATBody,得到结果是CatTopLyingOn,说明依赖于实体,但是这有什么用?交线的CATBody中包括的是CATWire类型的Domain,有几个封闭的交线就有几个Domain 查看原帖>>
求采纳
求采纳
全部回答
- 1楼网友:洎扰庸人
- 2021-02-21 23:22
你是得在CATCell的层次上分析?试试看下面的方法能用不先从交线的CATBody用GetAllCells(1)得到所有CATLISTP(CATEdge) EdgeList然后从实体的CATBody用GetAllCells(2)得到所有面CATLISTP(CATFace) FaceListfor ( ii = 1; ii<= EdgeList.Size(); ii++) { for ( jj = 1; jj <= FaceList.Size(); jj++) { if ( EdgeList [ii]->IsLyingOn(FaceList[jj]) { CATFace* pFace = FaceList[jj]; If ( ! pFace) { Continue; } CATGeometry* pGeo = pFace->GetSurface(); If ( ! pGeo) { Continue; } CATIBRepAccess_var spIBRepAccess = ::CATBRepDecode( (CATCell_var) pGeo, CATIGeometricalElement_var(实体)); }} 查看原帖>>
- 2楼网友:煞尾
- 2021-02-21 22:59
感觉用拓扑可以找得到,参考 CAA Doc中Mechanical Design下的3D Functional Tolerancing & Annotation例子。我没做过你要的,但我做过一个2D、3D下,在选中一个尺寸线后,找出生成该尺寸线时所用到的元素,有时是一条直线,有时是2个直线,等等。。。。。这与你的要求很相似,你可以试一试。。
- 3楼网友:十年萤火照君眠
- 2021-02-21 21:26
感觉用拓扑可以找得到,参考 CAA Doc中Mechanical Design下的3D Functional Tolerancing & Annotation例子。我没做过你要的,但我做过一个2D、3D下,在选中一个尺寸线后,找出生成该尺寸线时所用到的元素,有时是一条直线,有时是2个直线,等等。。。。。这与你的要求很相似,你可以试一试。。 查看原帖>>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯