UltKit

STL转GLB转换器

STL是为切片软件设计的,GLB是为屏幕展示设计的。把打印文件转换为GLB,就能以真实尺寸、正确朝向在商品页、作品集或AR中展示。

3D 模型转换器

或将STL, OBJ, MTL … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传STL文件

    最多可添加 20 个二进制或 ASCII 格式的 .stl 文件,每个不超过 95 MB。一次上传多个零件时,每个零件会各自生成一个 GLB。

  2. 2

    检查单位和方向

    模型单位默认为 mm,几乎所有切片软件和 CAD 导出都使用这一单位;向上轴为 glTF 所用的 Y 轴向上。如果 STL 是按英寸建模的,请在高级设置中修改单位。

  3. 3

    转换为GLB

    点击转换为 GLB,再把结果拖进查看器检查。上传和转换后的文件会在 30 分钟后删除。

打印模型的几何体原样保留。转换器补上的是 STL 本来没有的内容:以米为单位的比例、Y 轴向上的方向、共用顶点、法线和基础材质,这些正是网页查看器绘制模型所需的全部信息。

STL文件与GLB文件包含的内容对比

STL(1987 年)与 GLB(glTF 2.0,2017 年)对比
项目STLGLB
设计用途3D 打印和切片软件网页、应用、AR 查看器
单位不存储,约定为 mm米,由规范固定
向上轴通常 Z 轴向上Y 轴向上
顶点每个三角形重复存储共用并建立索引
颜色与材质标准中没有PBR 材质和贴图
多个零件少见,通常是一个网格场景树中的节点

STL 诞生于 1987 年,由 Albert Consulting Group 为 3D Systems 的首批立体光刻机编写。二进制 STL 由 80 字节的文件头、三角形数量,以及每个三角形 50 字节的数据组成:一个法线、三个顶点和两个预留字节。切片软件分层只需要这些。但它不适合浏览器:没有比例、没有颜色,每个共用的顶点还要为每个三角形重复写一遍。

Khronos Group 在 2017 年发布的 glTF 2.0 正是为解决这些问题。它把顶点只存一次,放在显卡可直接使用的二进制缓冲区中,将单位固定为 1 米、向上轴固定为 Y,并用基于物理的渲染来描述材质。GLB 是 glTF 的单文件二进制形式,因此 model-viewer、three.js、Babylon.js、Shopify 和 Android 的 Scene Viewer 都支持它。

STL

STL 网格

STL(stereolithography,立体光刻)是 3D Systems 于 1987 年创建的 3D 网格格式。它只以三角形列表的形式描述物体的表面几何,不含颜色、材质、单位或场景信息。由于结构简单,它成为 Cura 和 PrusaSlicer 等 3D 打印切片软件的默认输入格式。曲面由许多平面三角形近似表示,因此光滑的模型可能产生非常大的文件。

压缩方式
–
透明度
–
动画
不支持
发布年份
1987 · 3D Systems
STL 转换器

GLB

glTF 二进制 (GLB)

GLB 是 glTF 2.0 的二进制形式,glTF 是 Khronos Group 于 2017 年发布的 3D 传输格式。它把几何体、PBR 材质、纹理和动画打包进一个为快速加载而设计的紧凑文件。GLB 广泛用于网页 3D、AR 查看器、Android Scene Viewer 和在线模型市场。一些较旧的桌面 3D 工具和 CAD 程序无法导入它。

压缩方式
–
透明度
–
动画
支持
发布年份
2017 · Khronos Group
GLB 转换器

创客把 STL 转成 GLB,是为了在网页或 AR 中展示可打印的零件,因为浏览器和 3D 查看器需要紧凑、尺寸明确的 glTF 文件,而不认识切片软件使用的无单位三角形列表。

STL转GLB的关键设置

模型单位
告诉转换器 STL 中一个单位代表什么。毫米会换算为 0.001 米,所以 120 mm 的手办在 GLB 中高 0.12 米,在 AR 中会以真实大小显示。
向上轴
切片软件和 CAD 使用 Z 轴向上,而 glTF 是 Y 轴向上。选择 Y 轴向上会旋转零件,使其立在查看器的地面上,而不是仰面躺着。
合并为单个网格
关闭时,独立的实体会保留为单独的节点,之后可以隐藏或重新上色。开启则生成一个对象,适合作为单件展示品。
文件编码
此处不适用;GLB 始终是二进制。如果需要可读的 JSON 文件,请在转换为中选择 glTF 选项。

在网上展示3D打印模型

用 Google 的 model-viewer 网页组件把 GLB 放到页面上,访客就能旋转零件、放大查看,在 Android 上还可以通过 AR 把它摆到自己的桌面上。

反过来,如果想把网格变成可在 Fusion 360 或 SolidWorks 中按精确尺寸编辑的模型,则需要使用 STL 转 STEP。

STL转GLB常见问题

为什么转换后的GLB是灰色的?

标准 STL 只存储三角形,不含颜色、材质或贴图。生成的 GLB 会带有一个中性的基础材质,因此可以带光照渲染。之后可在 Blender 或 three.js 编辑器中上色,也可以用带颜色的 OBJ 或 3MF,通过 OBJ 转 GLB 开始转换。

GLB打印出来和STL一样吗?

几何体仍是同样的三角形,只是按米重新缩放。不过大多数切片软件更适合使用 STL 或 3MF,所以请保留原始 STL 用于打印,GLB 仅用于展示。

我的打印件有多个实体,能分开保留吗?

STL 通常把所有实体存成一堆三角形,因此转换后是一个网格。如果 STL 是以 ASCII 格式导出的多个独立实体,只要合并为单个网格保持关闭,每个实体都会成为 GLB 中各自的节点。

GLB文件和STL相比有多大?

通常比二进制 STL 更小。STL 会为每个三角形重复写入共用的顶点,而 glTF 每个顶点只存一次,再通过索引引用。一般的二进制 STL 会明显缩小,ASCII 格式的 STL 缩小得更多。

由STL转换的GLB能用于iPhone AR吗?

iPhone 在 AR 快速查看中打开的是 USDZ,而不是 GLB。可用 GLB 转 USDZ 再转换一次,两个文件配合使用:GLB 用于 Android 和网页,USDZ 用于苹果设备。

曲面在查看器里会显得有棱角吗?

有可能,因为 STL 只有平面三角形,没有平滑数据。转换器会根据三角形计算法线;如果 STL 导出时精度较低,请在 CAD 软件中以更高精度重新导出,外观会更平滑。