一句话定义:文件格式决定「这个数字模型里到底装了什么」——STL 只装一张三角网,STEP 装精确的 CAD 实体,3MF 是打印专用的现代格式;选错格式会丢信息、丢精度。
为什么重要
- 「下了一个模型打出来精度崩了」「发给别人打却变成破面」多半是格式问题。
- 格式是建模工具(CAD vs 雕刻)与打印链路(切片器)之间的合同:理解合同条款才能不丢数据。
前置知识
网格基础:顶点、边、面与法线 网格基础。
核心概念:五大常用格式
| 格式 | 装什么 | 精度 | 单位 | 典型用途 |
|---|---|---|---|---|
| STL | 只装三角网格,无颜色无单位无层级 | 近似(离散化) | 无 | 打印事实标准(1980s 至今) |
| OBJ | 网格 + UV/材质(可配 .mtl),文本可读 | 近似 | 无 | 网格交换、雕刻输出 |
| STEP | 精确 B-rep 实体(解析曲面,非三角网) | 精确 | 有 | CAD 之间的标准交换 |
| 3MF | 网格 + 单位 + 颜色/材质 + 多件组装 + 打印设置 | 近似 | 有(mm) | 现代打印专用(2015 起) |
| glTF/GLB | 网格 + 材质 + 场景,为实时渲染设计 | 近似 | 米 | Web/AR 展示,不直接用于打印 |
原理与机制
- STL 的两个先天缺陷:①无单位——1.0 是 1mm 还是 1m?②三角化精度固定——圆孔在 STL 里永远是一圈「多边形」,精度由导出时的细分公差(chordal tolerance)决定,导太粗孔就装不下轴。
- STEP 为什么精确:它存的是数学曲面(圆柱就是「半径 r 的圆柱」),不存三角面。所以尺寸驱动的打印件应保留 CAD 源文件,交付打印时才导出 STL/3MF(参数化CAD与特征建模)。
- 3MF 解决 STL 痛点:内建单位、可装多个零件的相对位置(装配体)、颜色、甚至切片参数,一个文件闭环。主流切片器已全面支持。
模型/图示:选择决策
需要精确尺寸/后续可改? ──是──▶ CAD 源文件(.f3d/.FCStd) + STEP 存档
│否 └─ 交付打印: STL(兼容性) 或 3MF(推荐)
否(网格/雕刻/扫描)
├─ 打印 ──▶ STL 或 3MF
└─ 上网展示/AR ──▶ glTF/GLB直观类比
- STL = 只能拍剪影的相机:形状轮廓有了,颜色、尺寸标注、内部结构全丢。
- STEP = 工程蓝图原件;STL/3MF = 按蓝图做的「施工模型」。
实例与案例
- 从 Thingiverse 下载的模型多为 STL:直接切片没问题,但想改孔径只能改网格(难)或找 STEP 源(好)。
- 打印服务上传件建议用 3MF/STEP:避免单位歧义与破面纠纷。
常见误区
- 「STL 是万能格式」:它是兼容性之王,但丢单位、丢颜色、丢装配,跨软件协作优先 STEP/3MF。
- 「导出 STL 精度拉满最好」:公差过细会让文件巨大且无收益;一般角度公差 0.5°、偏差 0.01~0.05mm 足够(按设备精度量级取)。
- 「glTF 也能直接打印」:它是渲染格式(还可能是 Y-up),打印链路请转 STL/3MF。
自测题
- STL 有哪两个先天缺陷?分别导致什么事故?
- 什么时候必须保留 STEP 而不是只交 STL?
- 3MF 相比 STL 多装了哪些信息?
与其他知识点的关系
- 参数化 CAD → 参数化CAD与特征建模(为什么源文件比格式更重要);NURBS/B-rep 的数学 → NURBS曲面建模;切片器读格式 → 切片原理与 G-code。
延伸阅读
- 3MF Consortium 官方规范(3mf.io);Autodesk/Alias 对 STL 导出公差的文档。