OpenCASCADE:拓扑 API之3D模型Defeaturing
Open CASCADE Technology Defeaturing 算法
Open CASCADE Technology Defeaturing 算法旨在从模型中删除不需要的部分或特征。这些零件可以是孔、突起、间隙、倒角、圆角等。
不执行特征检测,所有要删除的特征应由用户定义。在 Defeaturing 期间不修改输入形状,新形状内置在结果中。
在 API 级别,Defeaturing 算法在BRepAlgoAPI_Defeaturing类中实现。在输入时,算法接受要从中删除特征的形状和要从形状中删除的特征(一个或多个)。当前,输入形状应为 SOLID、COMPSOLID 或复合体。要移除的特征由形成它们的面组定义。特征面是如何给出的并不重要:作为单独的面或它们的集合。面应属于初始形状,否则将被忽略。
实际的特征移除由低级BOPAlgo_RemoveFeatures算法执行。在 API 级别,所有输入都传递到工具中,并调用 BOPAlgo_RemoveFeatures::Perform()方法。
在移除特征之前,所有要从形状中移除的面都被分类到连接的块中——每个块代表一个要移除的特征。特征从形状中一一移除,这允许移除所有可能的特征,即使在移除它们时存在一些问题(例如由于不正确的输入数据)。
移除的特征由与其