如何为 3D 打印创建高质量的 STL 文件
您是否曾经 3D 打印过具有平滑曲线的平坦点或刻面表面的零件?或者,也许您刚刚看过一张 3D 打印的图片,看起来它属于 90 年代的一些低分辨率 CGI?您并不孤单,这不是您的 3D 打印机的错——罪魁祸首很可能是用于创建零件的 STL 文件缺乏分辨率!
我们从新用户那里收到了很多关于他们打印部件上这些类型的多面表面特征的问题,因此为了帮助每个人从他们的 3D 打印机中获得最佳打印效果,我们整理了本指南来创建高质量的 STL,可用于制作出色的 3D 打印部件。
在本指南中,我们将介绍 STL 文件和 3D 打印的以下方面:
- 1.什么是 STL 文件?
- 2.为什么 STL 文件很重要
- 3.识别次优 STL
- 4.定义 STL 参数
- 5.弦公差/弦偏差
- 6.角度公差/角度偏差/法线偏差
- 7.网格质量与文件大小:我们的建议
- 8.主要 CAD 软件的 STL 导出设置
美国陆军案例研究
阅读我们关于美国陆军主要训练基地的最新客户成功案例。
TL;DR: 以正确的 STL 分辨率导出 CAD 几何图形将生成具有最高尺寸精度和表面光洁度的 3D 打印零件,而不会减慢切片过程。
我们的建议是首先导出带有以下参数的 STL:
- -在二进制 STL 格式(文件大小比 ASCII 小)
- - 弦容差/偏差 0.1 毫米 [0.004 英寸]
- - 角度公差/偏差 1度
- - [可选] 最小三角形边长 设置为 0.1 毫米 [0.004 英寸]
如果生成的文件大小大于 20 MB,我们强烈建议通过增加来减小文件大小 弦和角度公差的值,直到 STL 文件大小已减小到小于 20 MB,因为大文件大小会显着减慢准备 STL 进行 3D 打印所涉及的计算。如果您的模型在这些设置下仍然包含过多的平坦点,您可以尝试减少 弦和角度公差的值,强烈建议继续将文件大小保持在 20 MB 以下。
图片> 图>
什么是 STL 文件?
作为 80 年代后期为立体光刻 3D 打印创建的原始文件类型(STL 来自 STereoLithography),STL 文件格式实际上是 3D 打印行业标准,用于将 3D 模型文件导入切片程序,如 Markforged 的 Eiger 软件,为实际准备3D打印模型。如果您曾经使用过 3D 打印机,或者设计过一些可以 3D 打印的东西,那么几乎可以肯定您以前遇到过 STL 文件——但您是否知道并非所有 STL 都是平等的?事实上,完全有可能设计一个满足您功能要求的 3D 模型,然后从该模型生成一个 STL 文件,该文件将生产不合格的零件。
STL 文件简单地描述了一组三角形,这些三角形(通常)构成了一个近似于 3D 模型连续表面的网格。更准确地说,一个 STL 文件包含一个三维坐标列表,与一个法向量组合成三个一组 - 这些三个坐标组中的每一个组成三角形的顶点(角点),向量是法线或垂直于三角形的三个点所描述的平面。
图片> 图>
在 ASCII(基于文本的)STL 文件中,每个三角形都以以下格式表示,其中法向量 n 表示为 (ni
nj nk ) 和每个顶点 v 具有三维坐标 (vx vy vz ):
facet normal ni nj nk
外循环
顶点 v1x v1y v1z
顶点 v2x v2y v2z
顶点 v3x v3y v3z
结束循环
端面
所有的三角形(通常有数百万个)共同形成一个可以描述 3D 几何的网格,然后可以导入切片软件,如 Markforged 的 Eiger 软件平台,准备进行 3D 打印。>
图片> 图>
重要的是要注意,用于 3D 打印的 STL 应该包含一个或多个结构良好的网格,这些网格完全包围您要创建的几何体,每个三角形边正好连接到两个面(这有时称为 流形 STL,或没有间隙的)。
不过 , STL 文件只是一个坐标和矢量列表,STL 文件规范中没有对这种流形条件的要求。 STL 文件,尤其是直接从 3D 扫描仪创建的文件,通常可能包含非流形几何体或不完整的表面,可能很难或不可能正确 3D 打印,并且可能在切片过程中导致错误。
一般来说,最好从具有良好 STL 导出功能的主流 CAD 软件中导出您的 STL——几乎所有现代商业工程 CAD 软件和更知名的开源或爱好者软件包都属于这一类。快速在线搜索您的 CAD 软件和“STL 导出选项”通常会为您指明正确的方向。
STL 3D 打印:为什么重要
最后一部分是比您可能关心的更多的几何体 - 然而,对本次讨论而言重要的是所有这些三角形创建的网格。由于三角形是平面的 2D 形状,STL 文件中的三角形集合可以仅 完美复制 仅由平面组成的 3D 模型,例如立方体、多边形或实际上任何没有曲面的几何体,假设网格中的三角形可以小于模型中的最小特征。稍后我们将在讨论 CAD 中的 STL 导出设置时讨论该假设。
然而,许多工程零件至少有一些曲面,无论是孔、圆角、半径、旋转还是更复杂的曲线和有机几何形状。这些弯曲的(非平面)特征和表面将被三角形网格复制,因此它们只能近似为 基于 STL 导出设置的具有不同精度级别的 STL 文件。
图片> 图>
我需要更新我的 STL 文件吗?
如果您对 3D 打印的质量以及在 Eiger 中处理它们各自的 STL 文件的速度感到满意,那么恭喜 - 没有必要更改运行良好的东西!但是,如果您遇到问题,本文可以帮助解决两个主要挑战,它们是由导出分辨率设置过低或过高生成的 STL 文件造成的。低分辨率 STL 的定义特征是在应该具有平滑曲面的区域中具有平坦点的 3D 打印。使用分辨率过高的 STL 文件,您将生成外观精美的 3D 打印零件,但大文件大小将导致 Markforged 的 Eiger 软件中的切片时间过长,并可能导致用户界面在最极端情况下调整零件视图时滞后案例。
STL 格式如此普遍的一个根本原因是它的简单性,这反过来又使广泛的工程和设计软件可以轻松地支持、编辑和从其他 3D 模型格式生成 STL 文件,然后几乎可以在所有 3D 打印机上打印。不幸的是,STL 的主要缺点之一也是它们的简单性——它们不包含任何关于它们设计的单位系统(毫米、英寸、英尺等)的信息,并且实际上不可能确定一个的分辨率。 STL 文件本身以及它代表创建它的原始模型的准确程度。
我们的用户遇到的最常见问题是 STL 文件过于粗糙,并且在没有足够的分辨率下生成。这方面最突出的标志是设计有平滑曲线的零件的平坦点和刻面区域,如下图的喷嘴。
图片> 图>
您还可以使用 Markforged 的 Eiger 软件平台中的内置工具轻松识别这种低分辨率条件。当您将鼠标移到软件中的零件模型上时,Eiger 会以蓝色突出显示光标下方的面,以及与其平行的所有面(并且在平行的小角度公差内)。如果您在使用鼠标突出显示面时可以在模型中看到清晰的面和平坦点,则您可能需要提高 STL 文件的分辨率。如果突出显示的人脸看起来“模糊”,颜色渐变相对平滑,则 STL 分辨率可能足以满足 3D 打印目的。
图片> 图>
另一方面,分辨率过高的 STL 文件可能太大,Eiger 无法有效处理,并且会减慢切片操作的速度。 STL 的精细程度没有真正的限制(除了您计算机上的可用存储空间),并且完全有可能创建三角形边长为纳米级或更小的三角形网格(供参考)头发约为 75,000 纳米)。这比您的 3D 打印机可以使用的分辨率高得多,或者是必需的,因此分辨率过高的 STL 只会减慢您的工作流程并浪费您的时间。
尽管有这些限制,但如果您在创建 STL 文件时遵循一些最佳实践,则很容易制作出色的 3D 打印部件。生成和导出 STL 时,您在 CAD 软件中选择的导出设置会显着影响 3D 打印零件的质量、尺寸精度和表面光洁度,因此了解这些参数非常重要。
定义 STL 参数
当您从 CAD 软件导出 STL 时,有几个参数控制三角形网格的密度,进而定义零件的几何形状。考虑导出过程和这些参数之间相互作用的一种方法是,您的 CAD 软件会尝试针对较小的 STL 文件大小进行优化,因此将尝试创建最粗糙、分辨率最低的网格,但一个或多个导出您指定的参数可能需要软件在不同的特征和几何体上使用更高分辨率的网格。因此,一个有用的心智模型是将这些导出参数视为“强制”导出过程以生成更精细、更高分辨率的网格。
图片> 图>
一般来说,大多数现代 CAD 软件为用户提供了控制至少两个导出参数的能力:一个具有称为弦公差的线性尺寸 (或和弦偏差 ),还有一种称为角度公差的角度尺寸 (或角度偏差 )。生成的 STL 必须满足您选择的导出设置指定的所有条件。根据 3D 模型特定特征的几何形状,这些设置之一通常比另一个设置更具限制性(也就是需要更高分辨率的网格),并且可以被视为该特征的主要或限制参数。响应于不同的特征,限制参数通常会随着零件的几何形状而变化。我们将首先探讨这些参数以及它们如何影响 STL 生成,然后细分如何在各种主要 CAD 软件包中配置这些设置。
弦公差/弦偏差
与设计的 3D 模型相比,弦公差(或弦偏差)是一种控制 STL 全局尺寸精度的设置。弦公差通常被指定为允许的最大法线(垂直)线性偏差从设计的 3D 模型的表面和生成的 STL 的最近的三角形面,如下图所示。
图片> 图>
您可以将弦公差视为控制生成的 STL 和设计模型之间允许的最大误差,跨越零件的整个几何形状。因此,由于 CAD 软件中的 STL 导出功能正在围绕 3D 模型几何构建三角形网格,因此它无法创建与 3D 模型的最大距离超过您指定的弦公差的三角形。假设和弦容差是 STL 分辨率的限制因素,较小的和弦容差值将导致更高的分辨率 STL,具有更多的三角形和更大的文件大小。
角度公差/角度偏差/法线偏差
角度容差设置(有时称为角度偏差或法线偏差)控制网格中任意两个相邻三角形的法向量之间允许的最大角度,您可以将其视为一个参数,可以“细化”网格,使其具有更高的精度。超出和弦容差所允许的分辨率。角度公差发挥作用的一个很好的例子通常是小曲面,例如半径与弦公差大小相似的圆角。如果没有设置角度公差,这些小圆角可能会有非常明显的平坦点,或者在圆角半径等于弦公差的极端情况下变成倒角,如下图所示。
图片> 图>
如果将角度偏差值(以度为单位)设置得足够小以作为主要参数,它将强制 STL 生成过程在具有更尖锐曲率的零件区域中添加更多三角形,这些区域通常是具有小半径的特征。这反过来将“提高”所得 3D 打印部件中这些特征的平滑度,超出单独的弦公差所能提供的范围。
请注意,虽然角度偏差通常以度为单位(值越小,模型分辨率越高),但某些 CAD 软件将角度偏差指定为无量纲“角度控制”参数,其值从 0 到 1 变化,值越大在曲面周围指定更高的 STL 分辨率。请参阅以下有关主要 CAD 软件包的 STL 设置部分,或访问您的特定 CAD 软件发行商的技术支持或知识库站点以了解更多详细信息。
其他导出设置 :某些 CAD 程序可能会为您提供超出弦和角度公差两个主要控件的额外设置,其中可以包括最小或最大三角形刻面长度等选项。一般来说,这些通常用于解决边缘情况下的 STL 导出问题,我们建议将这些保留为默认值,除非您有特定的理由想要调整它们。
网格质量与文件大小:我们的建议
由于分辨率更高的 STL 网格会生成更平滑、更准确的模型,因此您可能会想简单地将 CAD 程序中的分辨率设置提高到最大可能的分辨率,然后就收工了。但是,提高 STL 导出的分辨率也会导致 STL 文件大小的增加,这通常会导致软件处理时间更长,包括生成 STL 文件、将其上传到 Eiger,然后实际对 STL 进行切片并准备3D 打印。超过某个时间点,STL 文件的分辨率可能会远远超过您的 3D 打印机的机器精度,这意味着您最终可能会为 STL 分辨率支付时间成本,而这些时间成本实际上并未反映在您的打印部件中。
我们推荐的最佳实践是选择您的 STL 导出设置,以在满足您的功能要求的高质量分辨率和可以在 Eiger 中快速处理的文件大小之间取得平衡。经验表明,以下设置是一个有用的起点:
- - 二进制 STL 格式(文件大小比 ASCII 小)
- - 弦容差/偏差 0.1 毫米 [0.004 英寸]
- - 角度公差/偏差 1度
- - 最小边长 0.1 毫米 [0.004 英寸]
如果生成的文件大小明显大于 20 MB,我们强烈建议通过增大来减小文件大小 弦和/或角度公差的值,直到 STL 文件大小已减小到小于 20 MB,因为大文件大小会减慢准备 STL 进行 3D 打印所涉及的处理操作。但是,您可以随意尝试不同的文件大小,因为您对不同级别的 STL 分辨率和软件处理时间的容忍度是个人喜好。
各种CAD软件的STL导出设置
我们试图获取主要 CAD 软件包的代表性示例,但在网上找到屏幕截图并不总是那么容易——如果您是我们错过的 CAD 供应商的代表,并且您想加入此列表,或者您觉得我们错误地表述了这些参数的配置方式,请通过我们的联系页面给我们留言,我们会改正的!
Creo (PTC)
对于 Creo,重要的是要注意下面看到的“角度控制”参数不会以度为单位调整最大角度偏差,而是对超出由“弦高”创建的半径的角度偏差细化的无单位度量(弦容差)参数。 “角度控制”参数值的范围可以从 0.0 到 1.0。您可以在此处阅读有关“角度控制”参数的更多信息。我们推荐以下设置作为起点:
- - STL 格式:二进制
- - 弦高:0.1 毫米 [0.004 英寸](注意:这是弦容差)
- - 角度控制:0.25
- - 将“最大边长”和“纵横比”保留为默认值
图片> 图>
Fusion 360 (Autodesk)
Fusion 360。我们推荐以下设置作为起点:
- - STL 格式:二进制
- - 表面偏差:0.1 毫米 [0.004 英寸](注意:这是弦公差)
- - 法向偏差:1 度(注意:这是角度偏差)
- - 将“最大边长”和“纵横比”保留为默认值
图片> 图>
NX(西门子)
我们推荐以下设置作为起点:
- - 输出文件类型:二进制
- - 弦公差:0.1 毫米 [0.004 英寸](注意:此处的单位由您的文档单位设置)
- - 角度公差:1 度
Onshape (PTC)
我们推荐以下设置作为起点:
- - STL 格式:二进制
- - 角度偏差:1 度
- - 弦公差:0.1 毫米 [0.004 英寸]
- - 最小刻面宽度:0.1 毫米 [0.004 英寸]
SOLIDWORKS(达索系统)
我们推荐以下设置作为起点:
- - STL 格式:二进制
- - 分辨率:自定义
- - 偏差:0.1 毫米 [0.004 英寸](注意:此参数是弦公差/弦偏差)
- - 角度:1 度
- - 取消选中“定义最大分面大小”
图片> 图> 3D打印