3D 模型中的网格错误:成因以及在哪里修复
您从市场下载一个3D模型,发送到切片软件,然后收到错误:non-manifold edges detected。更糟的是,打印完成了,但有缺口、缺失的墙壁或奇怪的伪影。模型在查看器中看起来完全正常——那到底出了什么问题?
| 您手上的文件 | 在哪里修复 | 处理方式 |
|---|---|---|
| STEP、IGES 或 BREP 零件 | 3D CAD Converter,勾选“修复” | 在网格生成之前,OpenCascade 通过三道处理修复并缝合曲面。 |
| STL、OBJ、PLY 或 3MF 网格 | Blender 的 3D-Print Toolbox 或切片软件的修复功能 | “修复”不会处理网格。如果还有原来的 STEP 或 IGES,请从它重新转换。 |
| 3D 扫描 | 扫描仪软件或网格编辑器 | 在其中填补孔洞,然后转换扫描件并减少三角形数量。 |
这些错误大多在网格生成之前就已出现,源于生成网格的 CAD 曲面。3D CAD Converter 在转换时修复 STEP、IGES 和 BREP 曲面,从而让许多此类错误不会进入 STL。它不会编辑您已有的网格;本文会说明这种情况该用什么工具。
常见网格问题
大多数网格错误来自建模过程本身——布尔运算、格式转换或手动编辑将几何体留在不一致的状态:
Non-manifold边
被两个以上面共享的边,或表面无法展平的顶点。切片软件无法确定哪侧是内部、哪侧是外部,导致打印失败。
自相交
互相穿透的面,通常由布尔并集或差集运算遗留。游戏引擎和渲染器可能显示闪烁或z-fighting伪影。
开放孔洞
缺失的面在表面留下缺口。模型不是水密的,意味着切片软件无法计算实心填充,打印机可能跳过层。
退化面
面积为零的三角形——三个顶点在一条线上或在同一点。浪费多边形数量并可能干扰网格算法。
重复顶点
同一位置的多个顶点应该被合并。导致可见接缝、错误法线和文件大小膨胀。
3D CAD Converter 修复什么:STEP、IGES 和 BREP 曲面
勾选「修复」(或在命令行中使用 --repair)后,每个 STEP、IGES 或 BREP 零件在网格化之前都会经过三道 OpenCascade 处理:
- 形状修复检查整个实体,并在较小的公差范围内修正无效的边、线框和面。
- 边和面的修正闭合沿边的小缝隙,并修复边界不相接的面。
- 缝合将相邻的面连接成一个壳体,使曲面之间的小缝隙不会变成网格中的开放边。
它不修复什么:您已有的网格
「修复」对 STL、OBJ、PLY、3MF 等网格文件无效,这些文件会按原样转换。网格已没有可供修复的精确曲面,因此现有 STL 中的孔洞、自相交和翻转法线需要使用网格编辑工具处理,例如 Blender 的 3D-Print Toolbox 或切片软件的修复功能。如果您仍有生成该 STL 的 STEP 或 IGES 文件,请勾选「修复」后从该文件重新转换。
要让较大的网格变轻,cadconvert convert model.obj -f stl --decimate 0.25 会保留约四分之一的三角形。精简是针对网格源文件的命令行选项;对于 STEP 和 IGES 零件,请改为选择更粗的细分预设。
修复源文件在何时有帮助
3D 打印之前
面与面之间有小缝隙的 STEP 或 IGES 零件,网格化后会得到被切片软件报告为非流形的 STL。转换时请勾选「修复」。
来自旧系统的 IGES 文件
IGES 常常包含松散的曲面而不是实体。「修复」会将它们缝合成壳体:在我们的测试中,一个以 IGES 保存的外壳的 54 个面变成了一个封闭壳体。
来自供应商的文件
来自其他 CAD 系统的 STEP 文件可能带有公差缝隙。「修复」会在转换文件夹的同一次批处理中修复其中的小缝隙。
不适用于 3D 扫描
扫描文件是网格,因此「修复」不适用。请在扫描软件或网格编辑软件中填补孔洞;之后 3D CAD Converter 可以转换扫描文件并减少其三角形数量。
分步指南
在转换时修复 STEP 和 IGES 零件只需五个步骤:
- 添加 STEP、IGES 或 BREP 文件:拖放单个文件或选择整个文件夹。
- 选择输出格式(STL、OBJ、3MF、glTF 等)。
- 在高级选项中勾选修复 STEP/IGES/BREP 曲面,或在命令行中添加
--repair。 - 如果源文件使用不同的单位系统,可选择启用单位转换(例如英寸到毫米)。
- 点击转换。每个零件都会被修复、网格化并写出;请在切片软件中打开结果进行检查。
使用「修复」转换您的 STEP 和 IGES 文件下载免费试用版:全部功能可转换 10 次,包括「修复」。订阅可选,无需上传到云端。
下载免费试用版