用 Blender 做3D打印:用 3D Print Toolbox 修复网格并导出干净的 STL

Blender 能建出大多数 CAD 软件难以处理的有机造型,但为渲染而建的网格并不一定可以直接打印。Blender 自带的 3D Print Toolbox 能在切片软件把孔洞、翻转的面和相交的几何体变成失败的打印之前,先把它们找出来。本指南介绍如何启用它、如何解读各项检查、如何修复被标出的问题,以及如何导出干净的 STL。

简短结论

3D Print Toolbox 是 Blender 自带的插件;在 Preferences、Add-ons、Mesh 下启用后,它会在 3D 视图侧边栏中添加一个 3D-Print 选项卡。根据 Blender 手册,它会分析网格中会导致切片失败的缺陷:非流形边、翻转的法线、相交的面、退化或扭曲的几何体、过薄的区域以及悬垂。在编辑模式下,点击任一结果即可选中有问题的元素,Make Manifold 加上 Clean Up 菜单可以修复其中大多数问题。之后面板还能缩放零件,并直接导出为 STL 供切片软件使用。

启用插件并找到面板

3D Print Toolbox 随 Blender 一起提供,但默认是关闭的。根据 Blender 手册,打开 Preferences,进入 Add-ons 选项卡,打开 Mesh 分类,然后勾选 3D Print Toolbox。无需下载任何东西。启用后,3D 视图的侧边栏中会出现一个 3D-Print 选项卡。该选项卡只有在选中网格物体时才会出现,所以如果看不到,请先点击你的模型。

面板顶部是统计信息。点击 Volume 或 Area,就会计算所选网格的该数值并直接显示在那里。Volume 能让你在打开切片软件之前就大致了解耗材用量,同时也可作为合理性检查:体积为零或数值离谱,通常说明表面是开放的或法线被翻转了。统计信息下方是各项检查、清理工具、两个缩放工具,以及通往 Blender 导出功能的快捷入口。打印前准备零件所需的一切都集中在一列,你操作时不必在 Blender 的菜单里翻找。当你在建模软件和切片软件之间为同一个零件来回切换多次时,这一点很重要。

切片软件所说的水密网格是什么意思

Cura 这类切片软件会读取你的网格,把它切成一层层,再把每一层转换成打印机可以执行的刀具路径。要做到这一点,模型表面必须处处封闭。Blender 手册称之为“水密”(watertight):不能有任何凸出的游离边,也不能有悬空的面。表面一旦有缺口,切片软件就无法区分内部和外部,填充或掏空的区域就会变得近乎随机。

核心规则很简单:每条边必须恰好连接两个面。只连接一个面的边是孔洞的边界。被三个或更多面共用的边同样无效。Blender 把这两种情况都称为非流形。第二个陷阱是法线,也就是每个面所朝的方向。如果某个面与相邻面的朝向相反,它的边就会被标记为 “Bad Contiguous”。切片软件可能会把这个面当作内部表面,在你想要实心塑料的地方挖出一个空腔。手册指出,切片软件对杂乱网格越来越宽容,但仍建议你交出尽可能干净的文件。这正是 Toolbox 的用途:在导出前发现这些缺陷,而不是在打印一小时后才在打印板上发现。

运行检查并解读 Result 框

面板提供了多项独立的检查。Solid 查找非流形边和 Bad Contiguous 边。Intersections 查找互相穿插的面,比如两个从未合并的重叠立方体。Degenerate 找出面积为零的面和长度为零的边。Distorted 标出顶点不在同一平面上的四边形和多边形面。Thickness 标出太薄、切片软件无法识别的几何体,Sharp 对过于尖锐的边做同样的事,Overhang 则列出悬在空中、打印机无法在没有辅助的情况下铺设的部分。

Check All 会一次运行所有检查。Blender 手册以软件自带的猴头 Suzanne 为例:她的眼睛是独立的物体,眼窝有孔洞,所以 Solid 和 Intersecting 检查都不通过,还有多个 Distorted 面。每次检查之后,Result 框会显示发现了多少个有问题的元素。切换到编辑模式,点击某一行结果,Blender 就会选中对应的边或面。再按 View Selected(快捷键为反斜杠键),视图就会聚焦到这些元素上,你可以准确看到孔洞或翻转的面在哪里。这种“检查、再选中”的循环是整个方法的核心:列表中的每一项都对应一个可以手动修复、或用某个自动工具修复的位置。

用 Make Manifold 和 Clean Up 菜单修复问题

面板包含两个自动修复工具。Make Manifold 会尝试修复一切导致网格非流形的问题:它会修正错误的法线、填补孔洞,并删除空的边和面。运行之后请再次运行 Check All,因为对于严重损坏的几何体,它可能会遗留问题,或生成奇怪的形状。第二个工具会对 Distorted 检查所标出的面进行三角化。手册解释说,四边形很少真正平整,导出时会被转换成三角形;折成马鞍形的四边形,三角化的结果可能出人意料。对于单个有问题的面,手册甚至建议手动三角化,这样你可以自己选择对角线。

对于其他问题,编辑模式下 Mesh 菜单中的 Clean Up 子菜单可以补足面板的功能。Merge by Distance 会焊接间距小于所选距离的顶点,可修复被缩到无但从未合并的面。Degenerate Dissolve 会塌缩短于阈值的边以及由它们构成的微小面。Delete Loose 会删除不与任何元素相连的顶点和边。Fill Holes 会用一个面封住每个孔洞,并限制孔洞的边数;对于边很多的大孔洞,手册建议改用 Grid Fill。对于互相穿插的两个体积,Boolean 修改器可以干净地将它们合并,不过手册指出,有些切片软件自己就能处理这类相交。

缩放零件并导出干净的 STL

导出之前,先确认零件的实际尺寸。面板提供 Scale to Volume 和 Scale to Bounds:前者把物体缩放到指定体积,后者把物体尺寸中最长的轴设为你输入的数值。第二种更实用:输入最长一边想要的长度,整个零件就会按比例缩放。缩放后请再次核对尺寸,因为为渲染而建的模型,其单位通常与毫米没有特定关系。

面板底部可以直接调用 Blender 的导出功能,与 File 和 Export 下的是同一批。STL 是所有切片软件都能读取的格式,但它只包含三角形,没有颜色,也没有设置。如果你的切片软件支持多个物体或按物体设置配置文件,STL 与 3MF 指南介绍了其中的取舍。只导出选中的内容,这样就不会把被遗忘的摄像机或灯光一起带出去。然后在你的切片软件中打开文件并查看层预览。如果某个实心区域显示为空心,或者某面壁不见了,就回到 Blender 再次运行 Check All。通过所有检查的网格,无论你使用 Cura、PrusaSlicer 还是 Bambu Studio,通常都能顺利切片。

Toolbox 会标出但留给你决定的问题

Overhang 检查不会修复任何东西。它提醒你,打印机无法在空中挤出材料,所以悬垂区域无法自行正确打印。根据 Blender 手册,在这些区域下方添加支撑材料是切片软件的工作。这样你就有几种选择:在 Blender 中重新调整零件朝向、加厚或倒角悬垂部分,或者让切片软件通过打印支撑来处理。Thin 和 Sharp 的结果也是同样的道理。它们指向切片软件可能会完全忽略的几何体,但决定权在你:要么在 Blender 中加宽该细节,要么接受它不会出现在成品上。

Toolbox 也无法自动把适合渲染的模型变成可打印的零件。面数以百万计的雕刻模型,或带有开放表面的场景素材,仍然需要真正的建模工作。对于打印后会消失的微小凸起细节,我们关于小特征的故障排查页面介绍了打印机方面的处理方法。如果你觉得用 Blender 来做简单的机械支架有些大材小用,参数化 CAD 程序通常更快;免费CAD软件汇总文章对各个选项做了对比。对于有机造型,Blender 仍是更好的工具,而它的 Toolbox 至少能保证你导出的文件有机会被正确切片。

3D Print Toolbox 检查项:各自能发现什么问题,以及如何修复

检查能发现什么建议的修复方法
Solid非流形边(孔洞)和翻转的法线Make Manifold(修正法线并填补孔洞),必要时再用 Fill Holes
Intersections两个体积之间互相穿插的面使用 Boolean 修改器合并各个体积
Degenerate面积为零的面或长度为零的边Merge by Distance 或 Degenerate Dissolve
Distorted顶点不在同一平面上的四边形或多边形面面板上的三角化按钮,或手动三角化
Thickness 和 Sharp几何体太薄或边缘太尖锐,切片软件无法处理在 Blender 中加厚该细节,或接受它可能被忽略
Overhang悬在空中的无支撑部分调整零件朝向,或让切片软件添加支撑

常见问题

3D Print Toolbox 是 Blender 自带的吗?

是的,它是随 Blender 一起提供的插件。在 Preferences、Add-ons 的 Mesh 分类下启用即可。之后,只要选中了网格,面板就会出现在 3D 视图侧边栏中。

Blender 中的非流形是什么意思?

每条边必须恰好连接两个面。如果只连接一个面,就是有孔洞;如果连接三个或更多面,这样的几何体就无法作为实体存在。Solid 检查会标出这两种情况。

Make Manifold 足以修复一个文件吗?

对于简单的缺陷通常可以:翻转的法线、小孔洞、空的边或面。对于严重损坏的网格,它可能生成意想不到的形状。之后请再次运行 Check All,并检查被它改动过的区域。

导出之前必须修复相交吗?

Blender 手册指出,有些切片软件可以处理互相穿插的面。如果你的切片软件在层预览中显示出空心区域或缺失的壁,Boolean 修改器仍然是干净利落的解决办法。

从 Blender 应该导出 STL 还是 3MF?

STL 通用,但只包含三角形。对于单个无颜色的零件,它仍然是简单的选择。如果你要处理多个物体或按零件设置,我们的 STL 与 3MF 指南解释了二者的区别。

资料来源与局限

  • Blender 手册——3D Print Toolbox
  • Blender 手册——Clean Up

我们整理的是厂商和社区的文档,并未亲自测量这些产品。针对你具体型号的手册优先于一般性的指导。

继续探索

更清晰的候选清单,从你的项目出发。

在对比报价之前,请使用免费的选购清单和预算表。

获取免费入门工具包