跳到主要内容

免费 3D 模型转换器

在 STL、OBJ、PLY、GLB、glTF 和 USDZ 之间转换 3D 模型。也可打开 3MF、FBX、Collada (DAE)、3DS、AMF 和 VRML。会按新格式的要求把模型摆正,并处理米与毫米的单位差异。在浏览器中运行,模型不会被上传。

将文件拖放到此处或点击浏览

STL, OBJ, PLY, GLB, GLTF, 3MF, FBX, DAE, 3DS, AMF, USDZ, USDC, USDA, WRL, VRML, MTL, BIN, PNG, JPG, WebP, GIF, BMP, TGA · 在你的设备上处理

或按 Ctrl+V 从剪贴板粘贴

你可以一次拖放多个文件

浏览文件

可打开 STL、OBJ(含其 .mtl 和纹理)、PLY、GLB、glTF(含其 .bin)、3MF、FBX、DAE、3DS、AMF、USDZ 和 WRL。

你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。

工作原理

页面使用开源的 three.js 加载器读取你的模型,统计三角形数量并测量尺寸,然后用 three.js 的导出器写出。当两种格式对“哪个方向朝上”看法不一致时(CAD 和切片格式为 Z 轴向上,glTF 和 OBJ 为 Y 轴向上),它会旋转模型,使其仍然保持直立;当模型明显以米为单位而目标是毫米格式(或相反)时,它会建议使用 ×1000 或 ÷1000。

  1. 1
    打开模型
    拖入模型文件(如有 .mtl、.bin 或纹理文件,请一并拖入),或点击“浏览文件”。
  2. 2
    选择格式
    打印和 CAD 用 STL 或 OBJ,网页和游戏引擎用 GLB,iPhone AR 用 USDZ。
  3. 3
    检查摆正和缩放
    保持勾选“摆正”,并检查“缩放”下方显示的尺寸。
  4. 4
    转换并保存
    点击“转换”并保存新文件。

你的模型在此浏览器中转换,绝不会被上传。

指南

操作示例

点击“试用示例”。它会加载 sample-torus-knot.obj,文件标签显示“5,120 个三角形 · 65.6 × 68.4 × 31.8”。“转换为”提供 STL、“STL(文本)”、OBJ、PLY、GLB、glTF 和 USDZ。GLB 已默认选中,因为 OBJ 最常转为 GLB,按钮下方的一行提示“保留颜色、材质和纹理(GLB/glTF 中还保留动画)。”点击“转换为 GLB”,面板显示“sample-torus-knot.glb 已就绪。”,并附有显示文件大小的“下载”按钮。现在选择 STL。提示变为“仅保留形状:此格式不保留颜色和纹理。”,并出现一个已勾选的复选框:“将其扶正(Y 轴向上 → Z 轴向上)”,因为 OBJ 是 Y 轴向上,而 STL 是 Z 轴向上。“转换后的尺寸”仍为 65.6 × 68.4 × 31.8(×1),因为没有建议的缩放。“转换为 STL”会得到 sample-torus-knot.stl。

使用哪些设置,以及限制

  • 按接下来的用途选择输出格式。 输出格式有 STL(二进制)、“STL(文本)”、OBJ、PLY(二进制)、GLB、glTF 和 USDZ。GLB、glTF 和 USDZ 保留颜色、材质和纹理,GLB 和 glTF 还保留动画。STL、OBJ 和 PLY 只保留形状,页面会在按钮下方说明。点云无法转为 STL:“此模型是点云,STL 无法容纳;请选择 PLY 或 OBJ。”工具会根据输入预选输出:STL、3MF 或 AMF 转为 OBJ,USDZ 转为 GLB,GLB 或 glTF 转为 STL,其余都转为 GLB。
  • 把配套文件和模型一起拖入。 把模型和它的附属文件一起选择或拖入。第一个具有模型扩展名的文件是模型,其余是配套文件:.mtl、.bin 和纹理(png、jpg、jpeg、webp、gif、bmp、tga)。OBJ 通过其 mtllib 行找到 .mtl,或使用你提供的第一个 .mtl。.gltf 需要它所指名的每个 .bin。缺少附属文件不会中止任务。.gltf 会列出找不到的纹理,OBJ 会列出缺失的 .mtl,提示形如“未找到,因此已省略:wood.jpg。请与模型一起拖入以保留它们。”你没有添加的纹理会留空。纹理最多有 8 秒的加载时间。
  • 让工具把模型扶正。 STL、3MF、AMF 和 3DS 以 Z 为上。OBJ、GLB、glTF、FBX、DAE、USDZ 和 WRL 以 Y 为上。当输入和输出不一致时,会出现一个已勾选的复选框,如“将其扶正(Z 轴向上 → Y 轴向上)”,模型会绕 X 轴旋转 90°。PLY 保持不变,因为不同的扫描仪各异,所以当 PLY 是输入或输出时不会出现该复选框。如果模型本来就朝向正确,请取消勾选。
  • 用“缩放”修正单位。 大多数格式不存储单位,所以相同的数字可能表示米或毫米。“缩放”提供“×1(保持数值)”“×1000(米 → 毫米)”“÷1000(毫米 → 米)”、×10、÷10、×25.4 和 ÷25.4。工具会在两种情况下选中并标注“建议”:GLB、glTF 或 USDZ 转为 STL、OBJ 或 PLY 且最长边小于 5 时选 ×1000;STL、3MF 或 AMF 转为 GLB、glTF 或 USDZ 且最长边大于 20 时选 ÷1000。一旦你自己更改了“缩放”,再选其他格式就不会再改变它。
  • 了解能打开什么、写出什么。 它能打开 STL、OBJ、PLY、GLB、glTF、3MF、FBX、DAE、3DS、AMF、USDZ 和 WRL。文件选择器还接受 .usdc、.usda 和 .vrml。它只写出上面七种输出,因此没有 3MF、FBX 或 Collada 导出。每次运行转换一个模型。某种格式的加载器在你使用该格式时才获取,文件在你的浏览器中读取,不会上传。

常见问题及解决方法

提示“未找到 3D 模型。请选择 STL、OBJ、PLY、GLB、glTF、3MF、FBX、DAE、3DS、AMF、USDZ 或 WRL 文件。”
你添加的文件中没有一个具有模型扩展名。.mtl、.bin 或图片只是配套文件,工具需要一个模型文件与之搭配。请把模型也加进来。其他扩展名的文件会被拖放区本身拒绝,并提示“不支持的文件类型”及文件名。
提示“此 .gltf 的数据保存在单独的文件中:scene.bin。请与 .gltf 一起拖入,或使用 .glb 版本。”
.gltf 可以指向外部的 .bin 缓冲区,没有它们就没有几何数据可读,所以工具会停止并指出缺少的文件。请一次选中 .gltf 和提示的文件。缺少纹理图片则不同:它们只会产生“未找到,因此已省略”那一行,模型仍会在没有它们的情况下完成转换。
提示“无法读取此模型。文件可能已损坏,或使用了转换器不支持的功能。”
加载器在解析文件时抛出了错误。文件可能已损坏或被截断,可能扩展名与内容不符,或者使用了该格式的 three.js 加载器未处理的功能。请从制作它的程序中重新导出模型,最好导出为 GLB、OBJ 或 STL,然后再次添加。
提示“此文件中没有可转换的形状。”
文件已被读取,但其中没有三角形,也没有点。工具会统计网格中的三角形和点云中的点,所以只含线条、相机或灯光的文件会停在这里。请在源程序中检查模型是否被隐藏或为空。
提示“无法以此格式写出模型。请尝试其他输出格式。”
模型已加载,但导出器在写出时失败,或者结果会是一个空文件。模型仍留在页面上,所以无需重新添加。请在“转换为”下选择另一个按钮,例如 GLB 或 OBJ,然后再次点击转换。

对比分析

Blender、MeshLab 或切片软件可以打开并编辑模型。此工具只做转换:它用 three.js 加载器读取模型,可以将其扶正并更改缩放,然后以另一种格式写出,全部在你的浏览器中完成,不会上传任何内容。它不会修复孔洞、减少三角形数量、编辑材质或显示预览。输出仅限于 STL(二进制或文本)、OBJ、PLY、GLB、glTF 和 USDZ,颜色和纹理只能保留到 GLB、glTF 和 USDZ。桌面 3D 程序能更好地处理庞大或特殊的文件,并让你控制材质。当你需要把同一个形状变成另一种格式,例如给切片软件的 OBJ 或用于网页的 GLB,这个页面是更快捷的途径。

相关工具

常见问题