从 Printables 或 MakerWorld 下载模型时,你经常要做选择:STL 还是 3MF。Bambu Studio 和 PrusaSlicer 用 3MF 保存工程,但许多模型库仍然优先提供 STL。两者都能打印,但携带的信息并不相同;一旦模型有多个零件、带颜色或比例特殊,差别马上就会显现。
STL 诞生于 1987 年,由 3D Systems 为最早的立体光刻设备创建。它存储一个三角面列表,每个三角面有三个顶点和一条法线。仅此而已:没有单位,没有颜色,没有材质,也没有独立对象的概念。所有切片软件都能读取它,这正是它能沿用这么久的原因。
缺少单位是经典陷阱。STL 只会说“40”,从不说“40 毫米”。打印圈约定按毫米读取,所以一个以英寸或米建模的文件会在没有任何提示的情况下以错误的尺寸导入。
3MF(3D Manufacturing Format)由 3MF 联盟发布,该联盟于 2015 年由微软和多家 3D 行业企业创立。.3mf 文件是一个 ZIP 压缩包,以 XML 形式保存模型。除了几何数据,它还可以存储:
它还经过压缩,所以 3MF 通常明显小于保存为 STL 的同一模型。
| STL | 3MF | |
|---|---|---|
| 单位 | 不存储 | 在文件中声明 |
| 颜色 | 否 | 是,可精确到三角面 |
| 多个对象 | 否 | 是 |
| 打印设置 | 否 | 是,存于切片软件工程中 |
| 压缩 | 否 | 是(ZIP) |
| 兼容性 | 所有工具 | 现代切片软件 |
你想打印的大多数模型一开始根本不是 STL 或 3MF:游戏资源是 FBX,扫描是 PLY 或 OBJ,网页模型是 GLB,AR 文件是 USDZ。Eyemesh 在 macOS 上能打开 17 种格式,从 1.5.2 版开始还能一键把其中任何一种导出为 3MF:合并为一个对象、转为 Z 轴朝上,并保留颜色。完整步骤见将 3D 模型导出为 3MF,用于 Bambu Studio 或 PrusaSlicer。反过来,Eyemesh 也能导出 STL:参见把 3MF 转换为 STL。
如果在做选择之前只想看看文件,在访达中按下空格键就够了。具体做法见不打开切片软件,在 Mac 上预览 STL 文件。
它存储的信息更多:单位、颜色、多个对象、设置。对于单一颜色、单一零件的模型,两者打印出来完全一样。
Bambu Studio、PrusaSlicer、OrcaSlicer 和 Cura 都可以。一些较老或非常专业的工具仍然只接受 STL。
不能。几何数据还是同样的三角面。3MF 只是补上了 STL 无法表达的内容,比如颜色或单位。
因为它是一个切片软件工程:在 Bambu Studio 或 PrusaSlicer 中保存它的人把自己的配置也存了进去。Eyemesh 导出的 3MF 不带任何打印设置,只有模型。
可以,Eyemesh 两个方向都能导出。转换成 STL 时颜色会丢失,因为这种格式没有存放颜色的地方。