STEP 转 OBJ 转换器
拖入 .step / .stp 文件,直接在浏览器中转换为 .obj。文件不会离开你的电脑。
为什么要把 STEP 转换为 OBJ?
OBJ 是 CAD 与渲染之间的交接格式。STL 无法携带材质,OBJ 可以——通过 Blender、KeyShot 和 V-Ray 都能读取的配套 .mtl 文件。当机械数据需要交给渲染美术时,OBJ 因简单、基于文本且普遍支持而成为标准桥梁。
谁会做这种转换
用 CAD 渲染营销主视觉图的产品可视化美术、把机械零件导入角色场景的 Blender 爱好者,以及准备技术插图的工程团队。下游工具较旧(KeyShot 7、2020 年之前的 Blender)且缺少好用的 STEP 导入器时也很常见。
常见问题
- OBJ 没有与 STEP 实体对应的面分组——除非先在 CAD 中拆分装配体,否则表面会融成一个网格。
- 某些 CAD 内核偶尔会翻转法线;平面着色会掩盖这一点,但 Cycles / PBR 渲染会立刻暴露。
- 大型装配体会生成数 MB 的 OBJ 文本文件——如果在意文件大小,请考虑 GLB。
本工具的技术说明
OCCT 对 B-rep 进行曲面细分,Three.js 写出包含逐顶点位置和法线的单个 .obj。材质以默认灰色占位——预计需在 DCC 中重新制作 PBR。
STEP 与 OBJ 有什么区别?
ISO 10303 边界表示(B-rep)CAD 格式——在工程工具之间交换精确参数化实体模型的行业标准。
- 精确曲面(NURBS / B-rep)——没有曲面细分损失
- 保留装配体层级、零件名称和元数据
- 所有主流 MCAD 工具都支持(SolidWorks、Inventor、Fusion、Creo、NX……)
- 开放、厂商中立的 ISO 标准
- 3D 打印机和游戏引擎无法直接使用
- 文件比网格格式更大,打开更慢
- 需要 CAD 内核才能读取——浏览器没有原生支持
人类可读的 Wavefront 网格格式——在 3D 图形、游戏美术和资产流程中无处不在。与 .mtl 材质文件配套使用。
- 几乎所有 3D 工具都支持(Blender、Maya、3ds Max、Unity、Unreal……)
- 纯文本,便于 diff 和手动编辑
- 保留 UV 坐标和顶点法线,这一点 STL 做不到
- 通过配套的 .mtl 文件引用材质
- 文本格式——磁盘占用比二进制网格大
- 没有场景层级、动画和骨骼
- 材质存放在单独的文件中,容易丢失
深入了解这两种格式
STEP 的由来
1994 年标准化为 ISO 10303,用于取代老旧的 IGES 格式。应用协议 AP203(配置受控设计)、AP214(汽车)和 AP242(两者的现代合并版)规定了随几何一起传递哪些数据——AP242 是当前新导出的默认版本,也是 2026 年大多数加工厂所期望的版本。
- 带外部引用导出的装配体,如果移动 .step 文件时没有带上配套文件就会损坏——请始终导出为单文件包(AP242 XML 或单体 .step)。
- 内核之间的往返转换(例如 Inventor → STEP → Fusion → STEP)可能引入细小的碎面和边公差漂移;请以原始参数化文件为唯一可信来源。
- PMI(产品制造信息——GD&T、标注)只有 AP242 能携带——较旧的 AP203 导出会悄无声息地将其丢弃。
实际用途:机械供应商根据 STEP 报价,代工厂根据 STEP 编制 CNC 刀具路径,电子元器件厂商在 Digi-Key 和 Mouser 上以 STEP 发布元件 3D 模型。只要机械工程师把设计交给机加工车间或注塑模具厂,交付的就是 STEP。
OBJ 的由来
由 Wavefront Technologies 在 1980 年代后期为其 Advanced Visualizer 软件创建。Wavefront 被并入 Alias(后来又归入 Autodesk)后,该格式依然公开,成为学术 3D 研究、业余建模和早期游戏美术的通用语言。正因为它的 ASCII 格式足够简单,每本图形学教材至今仍附带 OBJ 示例文件。
- .mtl 材质文件必须与 .obj 一起传递——请打包成 zip 发送,否则对方那边的纹理会消失。
- 规范中存在负索引和逐面法线,但许多导入器会悄悄读错。如果下游工具报错,请在 Blender 中往返一次后重新导出。
- 如果目标是游戏引擎,请在导出前三角化——Unity 和 Unreal 的 OBJ 导入器处理不了 n-gon。
实际用途:计算机图形学研究论文至今仍以 OBJ 作为网格的参考格式。爱好者模型市场(TurboSquid、CGTrader 的免费区)以 OBJ + MTL 包的形式分发。摄影测量流程(Meshroom、RealityCapture)以 OBJ 作为可移植的中间格式输出。当一个陌生人只说了一句“我需要一个 3D 模型”时,交给对方 OBJ 仍然是最稳妥的选择。
如何将 STEP 转换为 OBJ
- 1将 .step 或 .stp 文件拖到页面上。CAD 内核通过 WebAssembly 在浏览器中运行——不会上传任何内容。
- 2在 3D 中预览曲面细分后的模型。通过侧边栏的场景树确认层级。
- 3点击“下载 OBJ”。将文件导入 Blender、Maya、3ds Max、Unity 或 Unreal。
常见问题解答
为什么选择 STEP → OBJ,而不是 STEP → FBX 或 GLB?
OBJ 是最通用的网格格式——所有 DCC 和渲染器都能读取。如果要把 CAD 交给不用 CAD 工具的 3D 美术,OBJ 是最稳妥的格式。Web / AR 场景请优先用 GLB。
我的 STEP 文件会被上传到任何地方吗?
不会——全部在浏览器内通过 occt-import-js(OpenCascade WASM)和 Three.js 的 OBJ 导出器完成。
OBJ 会保留零件/装配体名称吗?
OBJ 有“o”(对象)分组,但没有真正的层级。STEP 中的零件名称会显示为分组;嵌套装配体会被展平。
OBJ 会带 UV 或 .mtl 文件吗?
没有 UV(STEP 本身就没有——它是 B-rep),也没有 .mtl(STEP 里同样没有材质)。请在导入后于 Blender / 你的 DCC 中指定。
曲面会怎样?
导出时 STEP 的精确 NURBS 曲面会被曲面细分为三角面。这是从 B-rep 转为网格的固有特性,并非本工具的限制。