用 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 至少能保证你导出的文件有机会被正确切片。
资料来源与局限
- Blender 手册——3D Print Toolbox
- Blender 手册——Clean Up
我们整理的是厂商和社区的文档,并未亲自测量这些产品。针对你具体型号的手册优先于一般性的指导。
更清晰的候选清单,从你的项目出发。
在对比报价之前,请使用免费的选购清单和预算表。