在CAA开发过程中,我们可能会遇到分析断开连接的几何体,或者零件模块构造的凸台、凹槽、开孔等特征结构的开发流程。针对这种特征,我们通常会用到提取BREP结构,然后分析拓扑关系,得到有用的信息。其中,CAA提供了一个解构几何数据的定义信息接口:CATMfBRepDecode/CATIMmiUseBRepDecodeServices。旗下有很多相关方法(v5是全局函数,v6需要使用 CATMmiUseServicesFactory::CreateBRepDecodeServices 获取服务组件):
v5-API
v6-API
其中,经常会用到的一个方法是CATBRepDecodeCellInBody/DecodeCellInBody,其作用在之前的[[将拓扑结构特征化技巧(V5&V6)]]提到过,可以将拓扑层级解构到BREP层级,进而特征化后作为参数提供GSM模块使用,这里统一介绍一下BRepDecode服务的作用:通过使用CATMfBRepDecode函数,可以将BREP结构转换为拓扑结构,从而方便对拓扑结构进行操作。
相关方法的参数是从拓扑单元创建选择对象,通常情况使用BREP接口(CATIBRep/CATIMmiUseBRep)获取到的,但是要注意寻找到的拓扑结构和BREP结构的对应关系:
- CATIBRepAccess(CATIMmiUseBRepAccess )是从 CATCell 创建的。
- CATIRSur(CATIMmiUseRSur )是从 CATFace 创建的。
- CATIMmiUseREdgeAccess(CATIREdgeAccess )/CATIMmiUseREdge(CATIREdge) 是从 CATEdge 创建的。
- CATIMmiUseBorderREdge(CATIBorderREdge) 是从 CATEdge 创建的。
- CATIMmiUseWireREdge(CATIWireREdge) 是从 CATEdge 创建的。
- CATIMmiUseFVertexAccess(CATIFVertexAccess) 是从 CATVertex 创建的。
- CATIMmiUseFVertex(CATIFVertex) 是从 CATVertex 创建的。
- CATIMmiUseBorderFVertex(CATIBorderFVertex) 是从 CATVertex 创建的。
- CATIMmiUseWireFVertex(CATIWireFVertex) 是从 CATVertex 创建的。
以DecodeAxis为例,如果针对圆形凹槽获取到的Face面进行分析,可以得到圆柱凹槽的中心轴:
评论