CAE软件导入一个STEP零件,模型打开得很顺利,外形也看不出问题。工程师开始生成表面网格或体网格时,却收到实体不闭合、边界异常或几何无效的提示。
能在屏幕上显示,只说明模型的外观可以被绘制出来。网格划分还要使用模型的面、边和顶点,并判断它们能否构成符合目标系统规则的几何。3D InterOp的Geometry Repair与自动Healing,处理的正是STEP读取到下游几何运算之间的这一环。
看起来完整,为什么仍会失败?
STEP在不同CAD、CAM和CAE系统之间传递模型。文件进入目标应用后,软件要把其中的数据还原为自己的几何和拓扑对象。边界表示(B-Rep)就是用面、边、顶点及其连接关系描述模型的方式。
麻烦在于,不同几何内核对有效模型的判断可能不同:两个顶点相距多近算重合,相邻曲面允许多大间隙,一组面是否真正围成封闭实体,都要遵守目标系统的规则。源CAD里有效的零件,转换后仍可能出现边不连续、相邻面未连接、重复顶点或错误环。
这些问题往往藏在局部。整体外观没有明显缺口,不代表实体识别、布尔运算或网格划分也能顺利完成。

图1:整体外观与局部边界间隙的对照示意。接缝经过放大表现,不是真实STEP文件的检查截图。
Healing在读取阶段做什么?
3D InterOp在CAD数据转换时提供自动Healing。它在API中是可开启或关闭的选项,默认启用,目的是让转换后的几何符合目标几何内核的规则。处理重点包括:
- 解释单位和容差。 如果模型单位或精度理解有偏差,原本很小的间隙也可能被目标内核判断为无效。正确解释这些信息,是后续处理的基础。
- 建立拓扑连接。 Stitching识别并统一本应重合的边和顶点,让相邻曲面有机会形成目标内核可解释的面体或实体。
- 处理部分无效数据。 自动Healing可针对重复顶点、边或曲线连续性问题、错误环等情况作调整,同时尽量保留模型的原始形状和设计意图。
Spatial的技术说明还展示了延伸曲面并重算交线、使平面与圆柱面贴合,以及调整样条曲面控制点等几何处理示例。它们有助于理解几何修复要解决的问题,但不表示这些操作都会由3D InterOp在每个STEP文件上自动执行。

图2:依据Spatial的Healing技术说明中的示例重新绘制,展示曲面相交与边界贴合的处理思路。
从应用的数据流看,处理发生在读取与下游使用之间:STEP解析 → 单位、容差与有效性检查 → 自动Healing → 目标B-Rep → CAE前处理和网格模块。表面网格需要可用的曲面和边界;体网格通常还需要模型定义出封闭的三维分析域。因此,能显示的模型仍可能不满足网格划分的输入条件。

图3:边界处理与数据流位置示意。图中几何变化用于解释机制,不代表所有模型都能自动修复或成功划分网格。
失败后可以怎样排查?
把读取阶段与分析前处理分开,开发团队更容易定位错误。导入后如果没有形成预期的实体,应先检查单位、容差、开口边界和拓扑关系;如果已得到可用实体,网格仍然失败,就继续检查薄壁、细小特征、分析域以及网格尺寸和单元设置。
3D InterOp可以改善部分跨系统转换带来的几何问题,并为CAE应用提供更适合后续处理的B-Rep。应用自身仍要完成面向仿真任务的几何检查、必要的简化和网格参数设置。这样划分职责,也便于把异常提示和测试用例对应到具体环节。
自动修复的边界
严重损坏的模型或复杂非流形结构,可能仍需人工诊断。按仿真目的删除小孔、圆角、薄小特征,应另行评估Data Prep等数据准备能力。需要更细的几何修复控制,且应用采用ACIS并具备相应授权时,可以评估3D ACIS Modeler的Healing API;网格划分和求解设置仍由CAE应用及网格组件负责。
验证时应选用企业实际收到的STEP文件,并在相同的目标内核、单位和检查规则下记录:
| 检查环节 | 需要记录什么 |
|---|---|
| 导入结果 | 是否形成预期的面体或实体;是否存在开口边界、错误环等问题 |
| Healing前后 | 在相同条件下,几何与拓扑检查结果发生了什么变化 |
| 下游处理 | 网格是否成功;失败时能否定位到几何、分析域或网格参数 |
没有同一样例的检查记录,就不能把示意图当成修复成功率或网格成功率的证据。对于CAE软件,STEP读取的目标是向前处理和网格模块交付可继续运算的几何;具体模型能否走完整条流程,还要用真实文件验证。
参考资料
不同版本、数据类型及实际业务流程的表现可能存在差异。如果你在实际应用中遇到相关的技术、兼容性或流程问题,欢迎在评论区留言或私信交流。