作者:Huy Nguyen · ·
STEP 文件把零件保存成精确的数学曲面,FBX 保存的是三角网格,外加游戏引擎和动画软件需要的场景信息。把 STEP 转成 FBX,就是一个 CAD 零件不再是 CAD 的那一刻,而且这扇门只能单向通过,所以值得先弄清楚另一头出来的究竟是什么。
需要这个转换的场合其实很集中:把机械零件放进游戏引擎、做产品动画或转台渲染、喂给实时配置器,或者交给建模师继续加工。这些场合只需要外形,所以转换完全够用;但对还要继续改设计的人来说,它是错的选择。
今天我们现做了两个 STEP 文件,用本页同一条通道转成 FBX,再用 Blender 5.1 重新导入,并直接读取 FBX 文件内部的原始数值。下面的每个数字都来自这次实测。
两次实测:保住了什么,丢了什么
第一个输入是单个机加工零件:40 x 20 x 10 毫米的平板,中间一个 6 毫米通孔,四条竖边各带 2 毫米圆角,共 11 个精确曲面,35 KB。第二个是装在同一个 STEP 文件里的装配体:60 x 40 x 8 毫米的底板(带 8 毫米孔),加一根直径 7.8 毫米、高 25 毫米的销,23 KB。两次转换都在两秒左右完成。
| 转换 | 结果 | 保住了 | 丢掉了 |
|---|---|---|---|
| 单个零件转 FBX | 15.4 KB 二进制 FBX,232 个三角面 | 整体外形、通孔、2 毫米圆角,以及 40 x 20 x 10 这组毫米数值 | 精确曲面、回到可编辑 CAD 的任何可能,以及 STEP 里的零件名称 |
| 双实体装配体转 FBX | 15.1 KB 二进制 FBX,220 个三角面 | 两个实体,相对位置正确 | 两个实体之间的分界:它们被焊成了一个网格对象 |
装配体回来时变成一个网格
这一条最容易浪费时间。第二个 STEP 文件里明明是两个独立实体,转出来的 FBX 里只有一个 220 三角面的网格对象,底板和销已经合在一起。你没法单独选中那根销、单独移动它,也没法只给它一个材质,除非自己动手把网格切开。
如果两个实体必须分开,就在 CAD 里分别导出成两个 STEP 文件,再一个一个转。多花一分钟,省掉一小时的网格手术。材质也是同样的道理:一个网格实际上只能稳妥地带一个材质,所以拆分必须在赋材质之前就存在于文件里。
FBX 是 Y 轴朝上,Blender 不会帮你翻过来
CAD 习惯 Z 轴朝上,FBX 习惯 Y 轴朝上。我们转出来的文件按 FBX 的规矩写得没错:直接读取文件里的顶点数组,那块 40 x 20 x 10 毫米的平板在 X 方向是 40、Y 方向是 10、Z 方向是 20,文件头也声明了 Y 为上方向。这正是 Y 轴朝上的软件想要的。
真正会让你察觉到的是 Blender。用 Blender 5.1 的默认设置导入,同一块板量出来是 40 x 10 x 20,躺倒在地上,因为导入器原样保留了坐标轴。解决办法:在 FBX 导入面板勾选 Manual Orientation 并把 Up 设为 Y,或者导入后把对象绕 X 轴旋转 90 度。在导入这一步修一次,比以后逐个对象去改省事得多。
单位:数值原样保留,含义不会跟过来
STEP 一般以毫米为单位,这次转换把数值原样传了过去:40 毫米的板在 FBX 里就是 40 个单位宽,文件里的单位缩放系数仍然是 1,没有任何自动换算。
所以零件进来后大小是否合理,完全取决于你打开它的软件把一个单位当成多少。一个 40 毫米的支架显示成 40 米宽,那是单位不匹配,不是转换坏了:以米为单位的场景乘 0.001,以厘米为单位的场景乘 0.1。导入后先看一眼对象尺寸,再开始围着它搭东西。
三角化:圆角为什么看起来有棱有角
三角化是这个转换真正的代价。11 个精确曲面变成了 232 个三角面,装配体的 10 个曲面变成 220 个。6 毫米的孔现在是一圈平板条,2 毫米的圆角只剩几条窄带。远景渲染没人看得出来,特写镜头一定看得出来。
本页没有三角化精度的选项,转换按固定密度运行。如果某个曲面细节很重要,就在零件所在的软件里控制精度:FreeCAD 把实体导出成网格时可以设置偏差值,偏差越小三角面越多、曲面越圆。把那个网格导入你的三维软件,再从那里写出 FBX。
如果你的文件后缀是 .stp
STP 和 STEP 是同一种格式,短后缀只是三字符文件名时代留下的习惯。转换后台两种都读得了,这点我们验证过:把测试零件复制一份改名成 .stp,转出来的 FBX 和原来逐字节相同。
需要注意的只是本页的下拉列表。你选好文件之后,目标格式列表会收窄到该后缀正式列出的格式,而 .stp 对应的是 STL、OBJ 和 IGES。上传前把文件改名成 .step,FBX 就会重新出现在列表里。
不想上传?在本机上这样做
- Blender 读不了 STEP,所以两步走是常规做法:先在 CAD 里把零件导出成 OBJ 或 STL,导入 Blender,再用 文件 - 导出 - FBX。三角化精度在 CAD 那边控制,FBX 选项在 Blender 这边控制。
- FreeCAD 能打开 STEP,并导出 STL、OBJ、IGES、BREP 和 DXF。先在模型树里选中对象,再点 文件 - 导出,否则导出时没有东西可写。
- Blender 的 FBX 导出面板可以直接设置前方向、上方向和缩放系数,通常比事后旋转和缩放对象更省事。
- 导出前先应用修改器,因为写进文件的是计算后的网格,不是视口里看到的预览效果。
本站的限制,以及你的文件会怎样
- 免费:单个文件最大 30 MB,每小时 10 次转换,同时最多 2 个任务,不需要注册。
- Pro:单个文件最大 1 GB,每小时 50 次转换,同时最多 5 个任务。
- 上传的文件和转换结果会在上传后 1 小时内从服务器删除。
- SLDPRT、PRT、ASM、CATPart 这类 CAD 原生文件完全读不了。请先在生成它们的软件里导出 STEP,再回到本页。
2026 年 10 月 27 日实测:一个 FreeCAD 做的 STEP 零件(40 x 20 x 10 毫米平板、6 毫米孔、2 毫米圆角,35 KB)和一个双实体 STEP 装配体(60 x 40 x 8 毫米底板加 25 毫米销,23 KB),都在本站转成 FBX,然后用 Blender 5.1 重新导入,并直接读取 FBX 文件内部数据,核对三角面数量、对象数量、材质、上方向和单位缩放系数。