3MF vs STL:打印时该选哪个?
在 3MF vs STL 的对比中,3MF 更适合打印:单位、颜色、零件和切片设置都在一个紧凑文件里。STL 仍是单色模型通用性最强的选择。
- 3MF 联盟规范
- 实测文件大小
- 已核对 Bambu、Prusa 和 Cura
3MF vs STL:一句话结论
只要切片软件支持,就优先用 3MF;目前支持的有 Bambu Studio、PrusaSlicer、OrcaSlicer 和 UltiMaker Cura。它知道自己的单位,所以模型不会导入后小 25.4 倍。它还能包含多个带名称的零件、颜色和材料。把切片项目保存为 3MF 后,所有设置、修改器和耗材分配都会保留,你或任何人都能重新打开并得到同样的打印结果。
当你需要最大兼容性时用 STL:较老的切片软件、只列 STL 的打印服务、CAM 工具,或者希望十年后任何人都能打开的文件。它只描述一件事——以三角面表示的表面,别无其他。
在 Bambu AMS 或 Prusa MMU 上做多色打印时,3MF vs STL 的选择毫无悬念。STL 无法说明哪个零件用哪种耗材;3MF 可以。
3MF vs STL 对比表
规范允许什么,切片软件实际又用了什么。
| 3MF(.3mf) | STL(.stl) | |
|---|---|---|
| 几何类型 | 带索引的三角网格,可包含多个对象和组件;扩展可加入梁晶格、切片和体数据 | 无索引的三角面,单一网格 |
| 颜色 / 纹理 | 基础材料和颜色组;通过 Materials and Properties 扩展支持全彩和纹理 | 标准中不支持 |
| 单位 | 存储在文件中:微米、毫米(默认)、厘米、英寸、英尺或米 | 无;切片软件默认按毫米处理 |
| 材料 | 按对象或按三角面命名材料;切片软件将其映射到耗材 | 无 |
| 文件大小 | ZIP 压缩的 XML;我们的测试中比二进制 STL 小 59% | 84 字节 + 每个三角面 50 字节(二进制) |
| 可编辑性 | ZIP 内的 XML;重命名为 .zip 即可查看;切片项目可完整重新打开并编辑 | 仅网格;没有零件、名称或设置 |
| 软件支持 | Bambu Studio、PrusaSlicer、OrcaSlicer、Cura、Windows 3D 工具、大多数 CAD 导出器 | 所有切片、CAD、CAM 和网格工具 |
| 打印用途 | PrusaSlicer 推荐的项目格式;Bambu Studio 的原生项目格式 | 单色零件的通用后备格式 |
| 有效性规则 | 规范要求可打印对象具有流形边和朝外的法线 | 无规则;破损网格很常见 |
来源:3MF Core Specification(3MF Consortium)、PrusaSlicer 帮助中心、UltiMaker Cura 支持的文件类型、Bambu Lab wiki。
3MF 文件相比 STL 多了什么
3MF 是遵循 Open Packaging Conventions 的 ZIP 归档。把它的扩展名改成 .zip,你会看到 3D/3dmodel.model——一个 XML 文件,顶点只列一次,三角面用三个顶点索引表示——以及内容类型文件和关系文件。切片软件还会加入自己的部分:缩略图、按对象设置、打印板布局和耗材列表。PrusaSlicer 将保存的 3MF 项目描述为完整快照,在另一台电脑上应能生成相同的 G-code。
核心规范还制定了 STL 从未有过的规则。可打印对象必须具有流形边——每条边恰好由两个三角面共享——一致的三角面朝向,以及朝外的法线。实际使用中,许多工具仍会写出不完美的网格,所以修复依然有用,但符合规范的 3MF 按定义就是可打印的。
STL 没有这些结构:80 字节文件头、三角面数量,以及每个三角面 50 字节。
- 3MF:XML、缩略图和设置的 ZIP 包
- 单位和颜色是文件的一部分
- STL:一列三角面,仅此而已
STL vs 3MF 文件大小:同一模型实测
我们从图库导出同一个 50 万三角面的 AI 生成模型——一个有 287,963 个顶点的蒸汽朋克机器人骑士——每种格式都只保留几何。
| 格式 | 存储方式 | 大小 |
|---|---|---|
| 二进制 STL | 每个三角面 50 字节,顶点重复存储 | 25.0 MB |
| ASCII STL | 同样的三角面以文本表示 | 150.9 MB |
| 3MF,内部为未压缩 XML | 顶点只存一次,三角面用索引表示 | 47.1 MB |
| 保存后的 3MF(ZIP deflate) | 同样的 XML,经过压缩 | 10.3 MB |
这里 3MF 比二进制 STL 小 59%。切片项目 3MF 会加入缩略图和设置,通常多几百千字节;Bambu 的 .gcode.3mf 还会加入切片后的刀路。
Bambu Studio、PrusaSlicer 和 Cura 如何处理 3MF vs STL
PrusaSlicer 把 3MF 列在首位,称其为首选格式,并用它保存项目文件;它能读取二进制和 ASCII STL。
Bambu Studio 把每个项目都保存为 3MF,包含打印板、按零件分配的耗材和工艺设置,发给打印机的切片输出则是 .gcode.3mf。从 MakerWorld 下载的模型通常就是可直接打印的 3MF 项目。
UltiMaker Cura 能打开 3MF 文件及其自家的 Cura 项目文件,也支持 STL、OBJ、PLY、glTF 等。
跨切片软件有两点要注意。某个切片软件保存的设置是厂商专用的,所以用 PrusaSlicer 打开 Bambu 项目时,能带过来几何和零件,但不是每一项工艺设置都能保留。Cura 的发行说明还提到,从 3MF 导入的模型并不总能放在保存时的位置。几何、单位和零件结构在各处都能可靠传递。
- PrusaSlicer:3MF 是首选格式
- Bambu Studio:项目和切片文件都是 3MF
- Cura:可打开 3MF 和 STL;项目设置是 Cura 专用的
何时用 3MF,何时用 STL
简单规则:自己打印和分享成品项目用 3MF;不知道对方用什么软件时用 STL。
多色或多材料打印
分享可直接打印的项目
从 CAD 设计打印
发送给打印服务
老旧或小众软件
单色快速打印
在 STL 和 3MF 之间转换:技巧与常见错误
STL 转 3MF 只是加了一层封装;3MF 转 STL 会丢掉除形状以外的一切。
- STL 转 3MF 时检查比例:转换器必须假定一个单位,通常是毫米
- 转换前先修复 STL;破损网格转成的 3MF 仍然是破损的
- 把 3MF 项目保留为主副本,只给需要的人导出 STL
- 把多色模型拆成零件或在切片软件中上色,然后保存为 3MF
- 别指望 3MF 转 STL 后仍保留颜色、零件或设置;你只会得到一个合并网格
- 以为另一个切片软件会完全遵循厂商项目 3MF 中的每一项设置
- 随处上传 ASCII STL;它比二进制大六倍,却没有任何好处
- 把 .stl 重命名为 .3mf;3MF 必须是内含 XML 的 ZIP 包
免费的 3MF 和 STL 查看器与转换器
全部在浏览器中运行,无需登录,文件绝不会离开你的设备。
常见问题
常见问题
3MF 比 STL 更好吗?
3MF 的打印质量比 STL 更好吗?
Bambu Lab 打印机用 3MF 还是 STL:该选哪个?
我可以把 STL 转成 3MF 吗?
为什么我把 3MF 转成 STL 后只得到一个合并零件?
为什么我的 STL 比 3MF 大这么多?
Cura 支持 3MF 吗?
如何从照片获得多色 3MF?
相关工具与指南
继续探索
免费开始
用 3MF 进行彩色打印
通常只需 3 到 5 分钟即可把照片变成带纹理的 3D 模型,并在付费套餐中导出适用于 Bambu AMS 的多色 3MF。用 3 个免费积分即可试用。
无需信用卡 · 赠送 3 个免费积分