Preview3D
获取

什么是 .3mf 文件?里面有什么,以及如何在 Mac 上打开它

3MF 是一种面向 3D 打印的开放格式:一个装着 XML 的 ZIP,除了三角网格,还包含单位、颜色、材料和打印板上的布局。它始于 2015 年,基于 Microsoft 捐赠的一种格式,2025 年成为 ISO/IEC 25422 标准,PrusaSlicer、Bambu Studio 和 OrcaSlicer 都用它保存项目。macOS 既打不开它,也无法预览它。

概览

扩展名
.3mf
类型
3D 打印模型
创建者
3MF Consortium
始于
2015
标准
ISO/IEC 25422:2025
macOS 自身(不装应用)
不认识:没有预览,也没有缩略图

信息核对于 2026年11月4日

和 STL 一样是网格,外加 STL 缺少的东西

3MF 中的几何是三角网格,和 STL 一样。区别在于网格之外还保存了什么:

  • 单位。每个文件都会说明它以毫米、英寸还是米为单位,如果什么都没说,就按毫米处理。STL 根本没有单位,这就是为什么一个以英寸绘制的模型打开后会小 25.4 倍。
  • 颜色和材料,从每个对象一种颜色,一直细到每个三角形一种颜色。
  • 多个对象以及它们在打印板上的位置,包括由其他零件组成的零件。
  • 元数据:标题、设计者、描述、许可证。

规范还要求网格是封闭的,且三角形朝向一致;3MF Consortium 称之为“按规范水密”(watertight by spec)。

这种格式由 3MF Consortium 维护,该联盟于 2015 年由 Autodesk、Dassault Systèmes、HP、Microsoft 和 Shapeways 等公司创立。自 2020 年起它是 Linux Foundation 的项目,2025 年 6 月作为国际标准 ISO/IEC 25422 发布。它的出身至今仍能在文件里看到:XML 指向 schemas.microsoft.com。

内部结构:一个可以解压的 ZIP

.3mf 文件就是一个普通的 ZIP。把它重命名为 .zip 再解压,或者在终端中用 unzip -l model.3mf 列出其内容。下面是 PrusaSlicer 2.9.6 的一个项目,一个换了两次耗材的立方体:

[Content_Types].xml
Metadata/thumbnail.png
_rels/.rels
3D/3dmodel.model
Metadata/Prusa_Slicer_custom_gcode_per_print_z.xml
Metadata/Prusa_Slicer_wipe_tower_information.xml
Metadata/Slic3r_PE.config
Metadata/Slic3r_PE_model.config

同一个立方体在 Bambu Studio 2.7 中保存后:

[Content_Types].xml
Metadata/plate_1.png
Metadata/plate_1_small.png
Metadata/plate_no_light_1.png
Metadata/top_1.png
Metadata/pick_1.png
Metadata/plate_1.json
3D/3dmodel.model
3D/_rels/3dmodel.model.rels
3D/Objects/object_2.model
Metadata/custom_gcode_per_layer.xml
Metadata/project_settings.config
Metadata/model_settings.config
Metadata/cut_information.xml
Metadata/slice_info.config
Metadata/filament_sequence.json
_rels/.rels

标准主要涵盖 3D/3dmodel.model:XML 形式的几何、单位(这里是 unit="millimeter")和颜色。Bambu Studio 还会把每个对象放进 3D/Objects 下单独的文件里,这正是标准的 Production 扩展的用途。不过,Metadata 下的一切都是各个切片软件按自己的方式写的:打印设置、打印板预览、换耗材。

为什么颜色会在切片软件之间丢失

多色彩绘按每个三角形分别存储,而每个切片软件都有自己的属性来记录它:

切片软件彩绘在某一高度换耗材
PrusaSlicerslic3rpe:mmu_segmentationPrusa_Slicer_custom_gcode_per_print_z.xml(M600)
Bambu Studiopaint_colorcustom_gcode_per_layer.xml(tool_change)

OrcaSlicer 基于 Bambu Studio,以相同的结构保存项目,换耗材也记录在 custom_gcode_per_layer.xml 中。在我手头的 OrcaSlicer 文件里,应用甚至把自己署名为 BambuStudio-02.06.00.51。

切片软件不认识的东西,就会跳过。所以一个项目在切片软件之间未必能完整传递:打印设置属于各自的切片软件,彩绘的颜色到了另一边可能变成灰色。Bambu Lab 和 Prusa 的论坛上都一再有人问这个问题,这也是为什么 Printables 和 MakerWorld 上的设计者经常被要求在 3MF 旁边再附一个 STL。

颜色进入 3MF 的三种方式

  • 彩绘:每个三角形一种颜色,有时单个三角形内部还有精细的笔刷细节。
  • 零件用各自的耗材:模型由多个零件组成,每个零件用不同的颜色打印。
  • 在某一高度换色:从某一层开始,打印切换耗材,例如 PrusaSlicer 中的 M600。

此外,还有 CAD 工具或转换器按标准直接写入 3MF 的颜色。

.gcode.3mf:来自 Bambu Studio 的成品打印文件

Bambu Studio 还可以保存以 .gcode.3mf 结尾的文件。除了预览图,它还携带已经为某一台特定打印机切好的 G-code,每个打印板一份(Metadata/plate_1.gcode)。它是一个完成的打印任务,而不是项目,所以无法为另一台打印机重新切片。

文件名的新扩展名,格式的新扩展

自 Core 1.4.0(2025 年 2 月)起,规范建议按内容使用双重扩展名,例如 .model.3mf 或 .project.3mf。在我的文件中,PrusaSlicer、Bambu Studio 和 OrcaSlicer 都还没有使用它们。

除了核心规范,3MF 还有一组扩展:材料和纹理、Production、切片堆栈(Slice)、晶格结构(Beam Lattice)、加密(Secure Content)和体数据(Volumetric)。在工业软件之外,其中大多数你很少会遇到。

3MF 还是 STL?

只要颜色、单位或整个打印项目重要,就用 3MF。如果你只是发送形状,又不知道对方会用什么打开,就用 STL。把 3MF 转换为 STL 只会保留几何:颜色、单位和设置都会丢失。

如何在 Mac、iPad 和 iPhone 上打开 3MF

macOS 没有 3MF 的文件类型。访达显示空白图标,按空格键(快速查看)什么都不显示,Bambu Lab 论坛上一个询问此事的帖子从 2023 年春天一直持续到现在。可选的办法有:

  • 切片软件:PrusaSlicer、Bambu Studio 和 OrcaSlicer 都是免费的,能打开 3MF。但为了一个预览,你得启动一整套切片软件。
  • ThumbHost3mf 免费,可以添加访达缩略图。它显示的是切片软件存进文件里的图片,而不是模型本身。
  • Preview3D,我的应用,可以在窗口中、在快速查看里以及作为访达缩略图打开 3MF。在 iPad、iPhone 和 Apple Vision Pro 上也可以。

Preview3D 能从 3MF 中显示:

  • PrusaSlicer 和 Bambu Studio 的彩绘颜色,包括精细的笔刷细节;
  • 使用各自耗材的零件,以及在某一高度的换耗材(显示为彩色色带),来自 PrusaSlicer、Bambu Studio 和 OrcaSlicer;
  • CAD 工具或转换器写入 3MF 的颜色;
  • 位于各自位置的对象和零件,包括用于多实体模型的爆炸视图滑块;
  • 模型信息中的尺寸和网格检查:孔洞、翻转的面,以及被两个以上的面共用的边(非流形);
  • 在 iPad 和 iPhone 上,以相同的颜色在 AR 中查看模型。

用单一耗材打印的模型保持中性灰。

Preview3D 中一个来自 PrusaSlicer 的彩绘多色 3MF,以耗材颜色显示
Preview3D 中一个来自 PrusaSlicer 的彩绘多色 3MF,以耗材颜色显示

关于 macOS 无法渲染的格式在访达中的预览,我写了《访达里的 3D 预览,包括 macOS 自己打不开的格式》。

把 3MF 转换为 STL

在 Mac 上,Preview3D 通过 文件 → 导出模型为…(⌥⌘E)进行转换。对于 3MF,它提供 STL、OBJ 和 PLY,可以转换整个模型或选中的一个零件,无需联网。结果只有几何:颜色、单位和打印设置都无法放进 STL。

常见问题

PrusaSlicer 能打开 Bambu Studio 的 3MF 吗?

取决于版本。几何是按标准写入的,但打印设置和彩绘是按切片软件自己的方式存储的,所以可能无法带过去。

3MF 比 STL 小吗?

取决于文件。几何在 ZIP 中是压缩的,但切片软件的项目还带有预览图和设置。

什么是 .gcode.3mf 文件?

Bambu Studio 的成品打印任务:为一台打印机切好的 G-code,附带预览图。它无法重新切片。

为什么 3MF 在 Mac 上没有预览?

macOS 没有 3MF 的文件类型,所以访达和快速查看都不知道该显示什么。只有在某个应用注册了这种格式之后,才会出现预览。

转换为 STL 时颜色能保留吗?

不能。STL 只携带形状,没有颜色,也没有单位。

能在 iPhone 或 iPad 上打开 3MF 吗?

能,用 Preview3D。从“文件”应用、隔空投送或其他应用中打开文件,还可以在 AR 中以相同的颜色把它立在你的桌上。

相关页面

资料来源

你有没有一个 3MF,颜色在切片软件之间丢了,或者 Preview3D 显示得和你的切片软件不一样?请发到 apps@xfanta.com,我来看看差别在哪里。

在 Preview3D 中打开

在 Mac、iPad、iPhone 和 Vision Pro 上打开 STEP、3MF、STL、G-code、BGCODE 等格式。一次购买,无需账户,无需联网。

App Store 上的 Preview3D