网格 OBJ 到二进制 STL

免费 OBJ转STL

放下一个 Wavefront .obj,单位保持毫米,看包围盒和三角形数量,再下载切片软件能用的 STL。文件不会离开你的设备。无需注册。

你的网格留在这台设备上。 不会上传。转换在你的浏览器里运行。

纹理、MTL 库和 UVs 会被忽略。你得到的是给切片软件用的三角形。

文件: 未选择文件

准备好了就放下 OBJ。

轴和 STL 格式
三角形
—
物体
—
包围盒
—
最小 — · 最大 —

尺寸是毫米。STL 不存单位;切片软件通常把 1 单位读成 1 mm。

没有账号。下载从不会被拦住。

预览

拖动或中键拖动可环绕。按住 Shift 拖动可平移。滚动可缩放。Z 朝上。放下 OBJ,它就会出现在这张格子上。

这个页面把 Wavefront OBJ 网格做成切片软件能打开的 STL。事情发生在你已经打开的标签页里。没有账号,没有付费墙,也没有上传这一步。材质和贴图都留在原地。你下载的是一层三角形外壳,默认是二进制,打印前可以按毫米读包围盒。

它怎么工作

OBJ → 解析 → 按源单位缩放 → 可选预览 → 下载二进制 STL。下面的步骤和本页转换工具一致。

  1. 步骤 1

    放下一个 Wavefront OBJ

    从电脑里选一个 .obj 网格,或把它拖到转换工具上。文件在本地读取。纹理和 MTL 文件会被忽略。

  2. 步骤 2

    把单位设成毫米

    除非你知道 OBJ 是按厘米、米或英寸保存的,否则单位留在毫米。只有确实要改尺寸时,才另加缩放系数。

  3. 步骤 3

    看包围盒和三角形数量

    打印前确认毫米尺寸和三角形数量。STL 本身不存单位。

  4. 步骤 4

    想看再预览

    预览是一张格子,放文件之前就能环绕、平移和缩放。OBJ 解析之后,网格出现在同一个视图里。做 STL 不需要预览。

  5. 步骤 5

    下载二进制 STL

    保存二进制 STL。不需要账号,下载也不会被拦住。ASCII STL 在高级导出里。

  6. 步骤 6

    在切片软件里打开 STL

    把 STL 导入 Bambu Studio、UltiMaker Cura 或 PrusaSlicer,切片前在热床上确认尺寸。

隐私:转换留在浏览器里

转换工具用浏览器的 File API 读取文件,再把这些字节的一份副本交给 Web Worker。Worker 解析 OBJ 并导出 STL。完成的 STL 是你机器上的一个 Blob。下载按钮保存这个 Blob。它不会把网格 POST 到任何地方。

打开浏览器开发者工具,选中网络面板,再丢一个 OBJ。你不应该看到发往本站或别人的、正文是你的网格的请求。这个源站提供的唯一网格是那个小示例立方体,而且只有你按下“加载 10 单位示例立方体”时才会出现。你自己的文件不是那个请求。网格字节不会发到本站源。

页面可以发出三个本地事件 — file_drop、parse_ok 和 download_stl — 里面有文件大小、所选单位和三角形数量。这些事件留在页面里。它们不含文件名或网格,这个上线版本也不会把它们发给分析服务。完整说明在隐私页面。

单位和缩放

STL 没有单位。Bambu Studio、UltiMaker Cura 或 PrusaSlicer 这类切片软件几乎总把一个坐标当成一毫米。如果 Blender(或 CAD 的网格导出)把 OBJ 存成米,一个按 0.08 建模的 80 mm 手办会切成 0.08 mm。反过来就是经典的 1000× 巨人:场景里的 1 米会变成 1000 mm 的零件。

单位菜单回答的是“OBJ 里的 1 单位原来是什么?”。毫米不改数字(默认)。厘米乘以 10。米乘以 1000。英寸乘以 25.4。额外缩放是第二层倍数,默认 1,用来在单位换算之上故意改尺寸。包围盒随后用毫米显示切片软件应该看到的大小,以及最小、最大角点和三角形数量。

Blender 的 OBJ 导出通常是 Y 轴朝上。切片软件是 Z 轴朝上。默认的轴选项把 Y 转到 Z,站着的模型仍然站着。如果你导出时已经是 Z 朝上,就选“已经是 Z 朝上”,避免转两次。“把网格放到热床上”会移动 Z,直到最低点为 0。需要原来的原点时把它关掉。把米这个坑画清楚的长说明在单位:毫米与米。

一米等于一千毫米的图,说明 OBJ 按米保存时,切片软件若把单位当成毫米,STL 会变得极大或极小。

二进制与 ASCII STL

二进制 STL 把每个三角形存成打包的数字。ASCII STL 把同样的角点写成文本。真正打印时,二进制更小、保存更快,也是切片软件期望的格式。除非你勾选“改为导出 ASCII STL”,否则下载按钮用二进制。想在文本编辑器里读几行顶点时,选 ASCII 才合适。密的雕刻不适合它。字节排布,以及文本什么时候仍有用,见二进制与 ASCII STL。

会丢掉什么

一个 OBJ 可以带多个物体、平滑组、UVs,以及指向贴图的旁路 MTL。STL 只留三角形。这个工具把网格物体合成一个实体,烘焙顶点位置,并忽略材质。颜色不会留下来。层级名字不会变成单独的 STL 文件。如果 OBJ 仍是你要渲染的资产,就留着它。STL 当作打印文件。这个取舍写在 OBJ 与 STL,旁边还有什么是 OBJ 文件和什么是 STL 文件。

并排的图:一边是带命名物体和材质说明的 Wavefront OBJ,另一边是只由三角形组成的 STL。

打印流程

在 Blender 里先应用缩放(Ctrl+A → Scale),让物体缩放为 1,再导出。File → Export → Wavefront (.obj)。毫米场景就把本工具留在毫米。米场景就选米。下载 STL,再导入 Bambu Studio、UltiMaker Cura 或 PrusaSlicer,切片前看尺寸。如果零件差了 1000×,在这里改单位再导出一次。不要在切片软件里输入 1000%,同时又在这里缩放,来“修好”一个按米存储的网格。只选一个地方改。

那三个切片软件的逐步说明在如何 OBJ转STL。这条路上不需要本站账号。这里只处理网格 OBJ,不是图片转 STL,也不是 STEP。

限制

  • 硬性大小上限:每个 OBJ 40 MB。更大的文件会在解析前停下,并提示用 Blender 的 Decimate。
  • 不到 40 MB 的极密网格仍可能把标签页的内存耗尽。错误会让你关掉标签页或减面。
  • 空网格或无效网格会给出明确的解析错误。可选预览会跳过超过 400,000 个三角形的网格。STL 仍是完整网格。
  • 转换不是流形修复,不是补洞,也不是壁厚检查。
  • 不支持 STEP 和 STP。先从 CAD 导出网格 OBJ。
  • PNG、JPG 和其他图片在这里不会变成 STL。
  • 一次一个 OBJ。批量 zip、FBX、GLB,以及 STL 转 OBJ,这一版都没有。

更短的回答在常见问题。

常见问题

这些回答和本页上的转换工具一致。说清楚:没有图片转 STL,也不转换 STEP;请先导出网格 OBJ。

我的 OBJ 文件会被上传吗?

不会。浏览器读取文件,同一台设备上的 Web Worker 解析并生成 STL。网格不会发到 objtostl.com,也没有上传接口。转换之后,网络面板里不该出现正文是你的 OBJ 或 STL 的请求。加载内置示例立方体是普通的页面资源,和你自己的文件无关。

为什么打印大了或小了 1000×?

STL 不存单位。切片软件通常把一个坐标单位当成一毫米。如果 OBJ 是按米建模的,不先乘 1000,0.1 米的零件就会变成 0.1 mm。把单位下拉菜单设成和文件一致,下载前用毫米读包围盒。

纹理、颜色或 MTL 会保留吗?

不会。这个转换只留三角形的位置。材质、MTL 库、UVs 和顶点色都会忽略。如果渲染还需要带贴图的 OBJ,留着那个文件,STL 只用来切片。

STL 会是水密的吗?

不保证。转换只是把三角形抄进 STL。它不补洞,不翻转反向的面,也不把网格变成流形。如果切片软件警告网格非流形,请在建模工具里修。下载成功不是可打印的保证。

该下二进制还是 ASCII STL?

默认是二进制。它小得多,也是 Bambu Studio、Cura 和 PrusaSlicer 期望的格式。ASCII STL 是纯文本,想在编辑器里看坐标时有用。单位设置一致时,两者描述的是同一批三角形。

最大文件是多大?

每个 OBJ 40 MB。更大的文件会在解析前停下,并提示在 Blender 里用 Decimate,或只导出更小的选区。低于上限的极密网格仍可能在标签页里耗尽内存。如果浏览器这样报,就关掉其他标签页,或减少三角形数量。

能转换 STEP 或 STP 吗?

不能。STEP 和 STP 是 CAD 实体,不是三角形网格,这个工具也没有 STEP 内核。先从 CAD 应用导出网格 OBJ,再转换那个 OBJ。

能把 PNG 或 JPG 转成 STL 吗?

不能。本站不把图片变成 STL。它只转换 Wavefront OBJ 网格。照片、标志或高度图需要先在建模工具里走另一条流程,得到 OBJ 再拿到这里。

需要账号吗?

不需要。没有注册,没有付费墙,应用里也没有使用上限。网格一转换完,就可以下载二进制 STL。

离线能转换吗?

网格这条路径不联系服务器。页面和转换脚本加载过一次之后,没有网络也能转换本地 OBJ。第一次访问必须先下载那些静态资源。这个上线版本没有 service worker,所以离线时强制刷新,可能要等资源再次缓存后才能打开。

哪个轴朝上?

Blender 的 OBJ 通常是 Y 轴朝上。切片软件是 Z 轴朝上。默认设置会旋转 Y 朝上的模型,让原来的朝上方向指向 +Z,然后可以选择把网格放到 Z = 0。如果导出已经是 Z 朝上,就改朝上轴,避免转两次。

相关指南