← 返回首页

从BREP结构中获取几何数据的定义信息

在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结构的对应关系:

  1. CATIBRepAccess(CATIMmiUseBRepAccess )是从 CATCell 创建的。
  2. CATIRSur(CATIMmiUseRSur )是从 CATFace 创建的。
  3. CATIMmiUseREdgeAccess(CATIREdgeAccess )/CATIMmiUseREdge(CATIREdge) 是从 CATEdge 创建的。
  4. CATIMmiUseBorderREdge(CATIBorderREdge) 是从 CATEdge 创建的。
  5. CATIMmiUseWireREdge(CATIWireREdge) 是从 CATEdge 创建的。
  6. CATIMmiUseFVertexAccess(CATIFVertexAccess) 是从 CATVertex 创建的。
  7. CATIMmiUseFVertex(CATIFVertex) 是从 CATVertex 创建的。
  8. CATIMmiUseBorderFVertex(CATIBorderFVertex) 是从 CATVertex 创建的。
  9. CATIMmiUseWireFVertex(CATIWireFVertex) 是从 CATVertex 创建的。

以DecodeAxis为例,如果针对圆形凹槽获取到的Face面进行分析,可以得到圆柱凹槽的中心轴:

图片

评论