STL转GLB转换器
STL是为切片软件设计的,GLB是为屏幕展示设计的。把打印文件转换为GLB,就能以真实尺寸、正确朝向在商品页、作品集或AR中展示。
3D 模型转换器
或将STL, OBJ, MTL … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
STL 和 OBJ 不保存单位。如果零件在切片软件中显示得小了或大了 10 倍或 25.4 倍,说明单位读取有误,请在此处设置。
Blender、CAD 软件和切片软件使用 Z 轴向上;glTF、Unity 和大多数游戏引擎使用 Y 轴向上。如果导入后模型是侧躺的,请切换此项。
将 STEP 或 IGES 实体转换为网格时使用。精细的曲线更平滑,但文件更大;粗糙足够用于快速预览。
仅用于 PNG、JPG 或 SVG 输入。浮雕会抬高暗部区域;灯影相片(Lithophane)是一块薄板,背光时可显示照片;拉伸则把徽标或 SVG 轮廓变成平面实体形状。
打印模型的宽度;高度按图片的宽高比自动计算。
浮雕或灯影相片的最大凸起高度,或拉伸形状的厚度。灯影相片通常使用 2–3 mm。
浮雕下方的实心底板,使打印件保持整体。0 表示没有底板。
使用方法
- 1
上传STL文件
最多可添加 20 个二进制或 ASCII 格式的 .stl 文件,每个不超过 95 MB。一次上传多个零件时,每个零件会各自生成一个 GLB。
- 2
检查单位和方向
模型单位默认为 mm,几乎所有切片软件和 CAD 导出都使用这一单位;向上轴为 glTF 所用的 Y 轴向上。如果 STL 是按英寸建模的,请在高级设置中修改单位。
- 3
转换为GLB
点击转换为 GLB,再把结果拖进查看器检查。上传和转换后的文件会在 30 分钟后删除。
打印模型的几何体原样保留。转换器补上的是 STL 本来没有的内容:以米为单位的比例、Y 轴向上的方向、共用顶点、法线和基础材质,这些正是网页查看器绘制模型所需的全部信息。
STL文件与GLB文件包含的内容对比
| 项目 | STL | GLB |
|---|---|---|
| 设计用途 | 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
GLB
glTF 二进制 (GLB)
GLB 是 glTF 2.0 的二进制形式,glTF 是 Khronos Group 于 2017 年发布的 3D 传输格式。它把几何体、PBR 材质、纹理和动画打包进一个为快速加载而设计的紧凑文件。GLB 广泛用于网页 3D、AR 查看器、Android Scene Viewer 和在线模型市场。一些较旧的桌面 3D 工具和 CAD 程序无法导入它。
- 压缩方式
- –
- 透明度
- –
- 动画
- 支持
- 发布年份
- 2017 · Khronos Group
创客把 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 软件中以更高精度重新导出,外观会更平滑。
- OBJ转GLB转换器将OBJ及其MTL和纹理合成一个GLB,可用于three.js、model-viewer、Shopify和Android AR。比例设为米,材质内嵌。
- glTF转GLB转换器将.gltf文件及其.bin缓冲区和贴图图片打包成单个GLB文件。把整个文件夹压缩成ZIP上传,模型、材质和比例保持不变。
- GLB转USDZ转换器将GLB模型转换为USDZ,iPhone和iPad用户可在Safari、信息或文件App中以AR方式摆放模型。PBR材质和纹理一并保留。
- STL转OBJ转换器将STL转换为OBJ,用于Unity、贴图工具及其他需要OBJ的3D软件。共享顶点、可读文本格式、三角面完全一致,几秒完成。
- STL转STEP转换器将STL网格转换为可在Fusion 360、SolidWorks和FreeCAD中打开的STEP文件。设置STL未记录的单位,然后下载由平面构成的STEP实体。
- GLB转FBX在线转换将GLB转换为FBX,保留网格、贴图、骨骼和动画,适用于需要Autodesk FBX的Unity、Unreal Engine、Maya或Blender工作流程。