八种3D CAD中性格式选型指南:STEP、STL、JT与导出参数避坑 📅 发布时间:2026/9/17 7:17:08 👁 浏览次数: 刚入行那会儿我吃过一次大亏把辛苦做了三天的装配体发出去对方回了一句文件打不开。后来才明白3D CAD 中性格式这件事看着只是文件后缀的差别实际上决定了你的数据能不能在别人机器上活下来。同一个零件用原生格式发给同款软件的人万事大吉发给用另一套软件的人轻则特征树全丢重则打开是一堆碎面量出来的尺寸还差 25.4 倍。这篇东西我想把八种最常用的中性格式一个个拆开讲清楚它们各自怎么来的、内部装的是什么、什么场景该选谁、导出面板上那几个参数到底在改什么以及我自己这些年转档时踩过的坑。做结构设计的、做工艺的、做采购跟供应商对图的、搞 3D 打印的都能在里面找到能直接抄的作业。1. 中性格式的中性到底中在哪原生文件为什么一出厂就废要理解中性格式先得理解原生格式为什么认生。你用一个软件存出来的.sldprt、.prt、.catpart里面装的东西远远不止几何它更像一份完整的施工档案。把它发出去等于把自家厨房的钥匙交给别人而别人家的灶台可能连接口都对不上。1.1 原生文件绑定的三样东西内核、特征树、参数化历史原生文件里最关键的三样东西第一是几何内核。市面上的三维软件大致分成两派一派用 Parasolid 内核一派用 ACIS 内核还有少数自研内核。内核决定了实体这个数学概念在程序里怎么表达两个不同内核的软件之间实体是没法直接互相读的就像两个方言区的人词汇表根本对不上。第二是特征树。拉伸、旋转、倒角、阵列、抽壳这些操作按顺序记录在树里改一个尺寸整棵树重新算一遍。这是参数化设计的核心价值也是原生格式最舍不得丢掉的东西。第三是参数化历史与约束草图里的尺寸约束、几何约束、父子关系全在里面。问题就出在这这三样东西几乎全是私有的。行业里没有任何一家公司有义务把自家的特征树格式公开所以你在 A 软件里做的圆角到了 B 软件里只能变成一堆固定的曲面想改半径重新做吧。中性格式的思路非常朴素既然带不走历史那就只带结果——把算完之后的几何形状用一种大家都认识的数学语言重新描述一遍。1.2 三种技术路线精确边界表示、曲面拼接、三角网格中性格式内部并不是同一套逻辑粗分下来是三条完全不同的路线理解这三条路线后面八个格式的选择逻辑就全通了。路线描述方式典型代表能否再编辑精确边界表示BREP用解析曲面和 NURBS 面片精确描述实体边界带完整拓扑关系STEP、Parasolid X_T、ACIS SAT、JTBREP 层可以做布尔、倒角等实体操作曲面集合只导出一个个独立的曲面片拓扑关系弱或者干脆没有IGES 最常见需要先缝合才能当实体用三角网格把表面离散成大量三角面片只保留外形STL、OBJ、3MF只能看、只能打印不能做参数化修改BREP 这条路线是工程领域的主流它的核心思想是把一个实体的表面切成若干张面每张面用数学公式精确表达面与面之间的边和顶点用拓扑结构串起来形成封闭的壳。正因为有拓扑程序才知道这个面是这个体的外表面才能算体积、算干涉、做抽壳。1.3 转换必然有损哪些信息一定丢哪些能救回来有个认知必须先建立起来任何一次格式转换都是有损的区别只在于损失多少、损的是不是你在意的那部分。下面这张表是我这些年总结出来的经验判断基本覆盖了日常会遇到的情况。一定丢的特征树、草图约束、参数化历史、装配配合关系Mate/Constraint、自定义属性、设计表。可能丢的颜色与外观、图层、装配层级与零件名、PMI 标注尺寸公差、基准、注释、材料信息。基本能保住的几何形状本身前提是选对格式和精度、坐标系位置、装配体的相对位置关系。经常被忽略的单位。STEP 文件头里带单位定义但 STL 不带很多软件导出 STL 时默认单位是毫米也有默认英寸的一旦搞错零件整体缩放 25.4 倍。注意如果你需要对方能改模型那发中性格式本身就是错的方案应该考虑让对方装同款软件或者把关键尺寸标注清楚发工程图。中性格式解决的是看得见、量得出、能加工不是能改。2. STEP唯一称得上通用语言的那一个八个格式里如果只能留一个我留 STEP。它由 ISO 10303 标准定义正式名称叫产品模型数据交换标准文件后缀是.step或.stp。从 1994 年第一版落地到现在它几乎是所有三维软件都必须支持的进口出口连不少免费的在线看图工具都能读。2.1 AP203、AP214、AP242选错协议等于白转STEP 最容易让人栽跟头的地方是它下面挂着一堆应用协议Application Protocol简称 AP。名字都叫 STEP内容差别很大。AP203是最早也最精简的一版面向航空航天和国防的配置控制设计。它带几何和装配结构但不带颜色、不带图层、不带公差标注。很多老软件的默认导出就是 AP203导出去一片灰白客户以为是软件坏了其实是协议选低了。AP214是汽车行业推起来的在 AP203 的基础上加了颜色、图层、GDT 的部分支持是 2000 年代到 2010 年代初的默认选择。日常跟供应商传图选 AP214 基本不会出错。AP242是 2014 年发布的整合版本把 AP203 和 AP214 的能力合并并且正式支持语义 PMI也就是把尺寸、公差、基准以机器可读的方式写进模型配合 MBD基于模型的定义流程使用。这几年新版本软件默认导出基本都是 AP242。怎么判断手里的 STEP 是什么协议用记事本打开看靠前的位置有没有这么一段ISO-10303-21; HEADER; FILE_DESCRIPTION((),2;1); FILE_NAME(bracket.step,2024-05-12T09:30:00,(),(),,,); FILE_SCHEMA((AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 })); ENDSEC; DATA;最后那行FILE_SCHEMA里的AUTOMOTIVE_DESIGN就是 AP214如果是CONFIG_CONTROL_DESIGN就是 AP203AP242_MANAGED_MODEL_BASED_3D_ENGINEERING就是 AP242。这个小技巧在排查为什么颜色没了的时候特别管用两秒钟定位问题。2.2 导出面板里那几个参数决定文件能不能用STEP 导出面板上通常有这么几个选项每一个都值得停下来想一想。输出为实体还是曲面。这个选项直接决定文件质量。选实体导出的就是封闭的 BREP 体对方导入后能直接做布尔运算选曲面导出的是散面对方拿到手要自己缝合缝合容差没设好就是一地碎片。除非你的模型本身就是曲面片拼的、根本不是一个实体否则永远选实体。精度/公差。这个值控制曲面被离散和近似时的误差上限常见默认是 0.001mm 到 0.01mm。设得太粗圆柱变成多边形小圆角直接消失设得太细文件体积暴涨某些老软件还会因为面片数过多导入超时。我的经验值是一般机械零件用 0.001mm大型装配或者钣金件用 0.01mm模具型面这种精度要求高的单独用 0.0005mm 并单独发文件。单位。老老实实选毫米。我见过太多因为单位设成英寸导致整套夹具全部报废的案例而且这种错误在屏幕上看不出来因为模型整体等比缩放外形看着挺正常只有量尺寸的时候才会发现。装配结构。选单文件还是每个零件一个文件取决于接收方的用途。要装配结构完整选单文件并把装配树写进去要方便对方单独调用某个零件选多文件。发多文件务必打包成压缩包不然对方收到的是一堆散落的.stp哪个对哪个全靠猜。2.3 实测中最容易翻车的四种STEP场景第一种导入后是空壳。屏幕上能看到模型的边线轮廓但选中之后什么都操作不了。原因通常是导出时选成了曲面或者线框只写了几何元素没写拓扑。解决办法是让上游重新导出实体版本。第二种装配体散架。导入之后所有零件都在但装配树是一堆平铺的名字层级关系没了。这多半发生在用中间软件转了一道的情况下转档工具没有正确写NEXT_ASSEMBLY_USAGE_OCCURRENCE这类装配关系实体。第三种颜色全丢。前面说过先查FILE_SCHEMA。如果确实是 AP214 以上还丢颜色那就是导出时没勾选导出外观/颜色。第四种同一个文件在 A 软件里能开、在 B 软件里报错。STEP 的容错性各家实现不一样有的软件对非流形边、自相交面特别敏感。遇这种情况我会先用免费查看器确认文件本身没坏然后让对方升级软件版本或者降一级精度重新导出再试。3. IGES四十年的老将和它绕不开的曲面碎片IGES 的全称是 Initial Graphics Exchange Specification最早是 1980 年前后由美国国家标准局牵头制定的标准号 ANSI Y14.26M。它的最后一个大版本是 5.3之后基本就停止演进了。到今天它还在被使用纯粹是因为历史存量太大很多老机床、老检测设备、老软件只认它。3.1 IGES的底层逻辑它是一堆几何元素的集合理解 IGES 最关键的一点它本质上是一堆几何元素的集合而不是一个完整的实体模型。IGES 文件内部是 80 列固定宽度的卡片格式分成起始段、全局段、目录条目段、参数数据段和结束段五部分。每个几何元素在目录条目里有一条记录记录类型号、参数指针、层级、线型等信息真正的参数写在参数数据段用逗号分隔。常见的实体类型号有这些100 是圆弧110 是直线126 是 NURBS 曲线128 是 NURBS 曲面144 是裁剪曲面186 是流形实体。大多数软件导出 IGES 时如果模型里有倒角、圆角这类复杂特征它会拆成一张张 144 裁剪曲面而不是 186 实体。这就是为什么 IGES 文件导入后经常是散的。3.2 破面、缝隙、缝合失败的实际成因我现在拿到一个 IGES 文件心里默认它是需要修的这个心理预期能省很多事。常见的三类问题表面有缝隙。相邻两张曲面在公共边上没有严格对齐存在微小间隙肉眼看不到但缝合时判定不过。成因通常是导出时对每个面单独做了近似各自误差方向不同。处理办法是把缝合容差放宽从 0.001mm 逐步试到 0.05mm绝大多数情况能缝上。面片有重叠。两张面互相侵入缝合算法不知道该保留哪一边。这种一般是原模型本身就有问题或者是转换过程中产生的需要在导入后手动删掉多余面片。曲面的法向不一致。有些面朝外有些面朝内缝合后得到的实体在渲染时会出现黑色的斑块做抽壳也会失败因为程序判断不出哪边是里。这个需要用到统一法向或者翻转面这类工具批量修正。提示处理 IGES 导入的模型顺序建议是先缝合再检查几何体不要一上来就做倒角和抽壳。缝合成实体之后再动手后面的操作才有意义。3.3 什么时候还得请IGES出场坦白说IGES 在我日常流程里的出场率已经很低了但有几类场景仍然绕不开。一是对接很老的设备或软件比如某些老版本的数控编程系统、老的三坐标测量机软件二是纯粹传递曲面数据比如钣金展开面、模具分型面这种本来就是曲面集合、不需要实体的场景三是线框数据某些线切割和二维加工流程只需要曲线。排除这几种情况能用 STEP 就用 STEP别折腾 IGES 的缝合。4. 内核双雄Parasolid(X_T) 与 ACIS(SAT) 的半中性身份这两个格式有点特殊它们既是内核的私有格式又在事实上承担了中性格式的角色。原因是用同一个内核的软件之间互传文件用它们比用 STEP 质量高得多。4.1 X_T 为什么比 STEP 更厚道Parasolid 是西门子的建模内核NX、Solid Edge、SolidWorks、Onshape 等一批软件都在用。它的文件后缀文本格式是.x_t二进制格式是.x_b。相比 STEPX_T 有几个实打实的优势几何精度几乎完全保留因为中间没有经过标准化的翻译过程曲面和实体的边界情况处理得更宽容导入速度明显快尤其是大装配。但 X_T 有一个必须记住的坑版本向下不兼容。Parasolid 内核每次大版本更新文件的 Schema 版本号会跟着变高版本导出的 X_T低版本内核的软件打不开或者报错。所以在导出 X_T 时通常需要手动把版本降下来一般降到自己和对方软件版本的中间值比较稳妥。我在导出面板里见过Parasolid 版本这个下拉框里面有从很老到最新的十几个选项很多人从来没注意过。4.2 SAT/SAB 的版本魔咒与兼容矩阵ACIS 是 Spatial 公司现在归达索系统的建模内核AutoCAD、Inventor、SpaceClaim、部分 CATIA 模块都在用早期的 SolidWorks 也用过。它的文本格式是.sat二进制是.sab。同样是版本强绑定SAT 文件的头部会写一个版本号低版本软件读不了高版本的文件。这里有个实际经验同样两个软件都声称支持 SAT互相之间也可能失败因为各家的 ACIS 授权版本号不同而且有些软件对 SAT 的支持只做了一半比如能读实体不能读某些高级曲面。所以用 SAT 传文件之前最好先跟对方确认一下软件内部的 ACIS 版本或者干脆退一步用 STEP。4.3 两者与 STEP 的选型对照对比项Parasolid X_TACIS SAT/SABSTEP几何保留质量最高几乎无损高高取决于导出精度版本兼容性向下不兼容需手动降版向下不兼容基本无版本问题跨内核可用性只有 Parasolid 系软件能读只有 ACIS 系软件能读几乎所有软件能读文件体积中等中等偏大文本格式冗余多适合场景同内核软件之间交接同内核软件之间交接跨公司、跨软件、长期归档选型逻辑很直白对方和自己用同一套内核用 X_T 或 SAT不确定对方用什么用 STEP。没有第三种答案。5. 网格三兄弟STL、OBJ、3MF 各自的战场前面几节讲的都是精确几何接下来这三个是网格格式思路完全不同它们不再描述这个面是一个半径为 5 的圆柱面而是这里有一堆三角片大概拼出个圆柱的样子。精度靠三角片的密度来堆。5.1 STL结构最简单坑也最集中STL 是 1987 年由 3D Systems 为光固化设备做的到现在还是 3D 打印领域最通用的格式。它的文件内容极其简单就是一连串三角面片每个面片记录三个顶点坐标和一个法向量。没有单位没有颜色没有材质没有装配关系连这是一个零件这种信息都没有。正因为简单它的问题也集中。第一必须是封闭流形表面不能有洞一条边必须恰好被两个三角面共享多一个少一个都会导致切片软件报错。第二法向必须一致朝外翻转的面片会让切片软件判断不出内外直接给你切出一堆乱七八糟的东西。第三单位为隐式行业默认是毫米但很多从英制软件导出的 STL 实际是英寸打印出来尺寸差 25.4 倍这个坑我踩过浪费了一整卷料。STL 还分 ASCII 和二进制两种二进制版本体积通常只有 ASCII 的六分之一左右日常一律用二进制除非你要用文本工具去查某个坐标。5.2 OBJ能带颜色纹理的那一个OBJ 是 Wavefront 公司为渲染领域设计的除了顶点和法线还额外支持 UV 纹理坐标和材质库文件.mtl。所以它比 STL 多出来的是外观信息颜色、贴图、多对象分组。它的典型使用场景是外观评审、可视化展示、逆向扫描数据处理。做工业设计的朋友经常用它来渲染效果图因为主流渲染器几乎都支持 OBJ。但它同样不带单位、不带装配约束也不适合做工程用途。另外 OBJ 是文本格式顶点数一多文件会非常庞大几十万面的模型轻松上百 MB。5.3 3MF3D打印方向的现代答案3MF 是 2015 年之后由几家厂商联合推起来的新格式结构上是一个 ZIP 压缩包里面装着 XML 描述文件。它把 STL 缺的东西基本补齐了显式单位、颜色、多种材料、多个对象及其位置、甚至晶格结构和切片信息。从实际使用体验看同一个模型存成 3MF 和二进制 STL3MF 体积通常更小而且信息量更大。现在主流的切片软件都支持 3MF用来做多色打印、多零件拼盘特别方便因为它能在文件里保存每个对象的摆位和参数。不过 3MF 的普及度还赶不上 STL老设备、老切片软件可能不认。发给第三方加工厂的时候稳妥做法是 STL 和 3MF 各发一份让他们自己挑。5.4 弦高、公差与文件体积的取舍换算网格格式绕不开一个参数弦高公差chordal tolerance有的软件叫表面偏差。它决定了曲面被离散成三角片时的最大误差。这个值的物理含义可以算出来。假设你要离散一个半径 R50mm 的圆柱面允许的弦高误差是 δ那么相邻两个三角片的顶点之间的弧长 L 满足近似关系 L ≈ √(8Rδ)。δ 0.01mm 时L ≈ √(8×50×0.01) √4 2mm圆周 314mm 需要约 157 段。δ 0.1mm 时L ≈ √40 ≈ 6.32mm需要约 50 段。也就是说公差放宽 10 倍面片数量减少到约三分之一因为段数与 1/√δ 成正比。这个规律很实用当 3MF 或 STL 文件大得离谱、切片软件卡死的时候把弦高从 0.01 改成 0.05体积能掉一大半而外观上基本看不出来差别。提示3D 打印常用的经验值是弦高 0.02mm 到 0.05mm、角度公差 15 度。做手板造型讲究表面质量的弦高可以压到 0.005mm但要提前接受文件体积翻几倍。6. JT大装配轻量化绕不过去的一站整台设备、整车级别的模型用 STEP 传会让人崩溃。几十万个零件的装配体STEP 文件动辄几个 GB导入一次要等半小时转动视角一卡一卡。这时候该 JT 上场了。6.1 JT 的 LOD 分层与压缩逻辑JT 最早是西门子开发的后来成为 ISO 14306 国际标准。它的核心设计是分层细节LOD同一个零件文件里同时存着精确的 BREP 几何和若干个不同精细程度的三角网格版本。看你离得近软件调高精度那层拉远了自动切到粗网格。这样既保证了局部查看时的精度又控制住了整体数据量。实际测试下来一个 1.5GB 的 STEP 整车装配转成 JT 通常能压到 100MB 到 200MB 左右加载时间从十几分钟降到几十秒。JT 还支持 PMI 标注所以在 PLM 系统里做评审、做干涉检查、做工艺查看JT 是主力格式。它的局限也很明确主要用于看不适合再编辑。虽然 JT 里存了 BREP但经过压缩和近似处理拿来做精细的布尔运算和曲面操作是不合适的。6.2 JT STEP 的组合打法我在项目里的固定做法是双轨制评审和分发用 JT最终交付和归档用 STEP。给内部评审、给客户看方案、给工艺做装配可行性分析发 JT对方不管用什么软件装个查看器就能流畅打开。给下游做加工的供应商发 STEP而且要拆开按零件发不要塞一个大装配过去让人家自己找。归档的时候同样存 STEP因为 JT 是压缩过的、以可视化为主十年后要重新调用数据的时候STEP 的完整性更可靠。注意JT 有两种常见后缀.jt是主文件大装配时还可能伴随一个.jt加多个分段文件的情况。发送前确认对方拿到的是一整套缺文件会导致部分零件加载不出来。7. 八种格式横向速查按场景直接抄作业讲了这么多细节最后需要一个能直接查的表。下面这张表是我自己贴在工位旁边的版本按能不能改、精不精确、通不通用三件事来排。7.1 一张对照表看懂差别格式后缀几何类型带单位带颜色可再编辑最典型用途STEP.step/.stpBREP 精确是AP214 以上支持可做实体运算跨软件交付、归档IGES.igs/.iges曲面集合为主是部分支持需先缝合老设备、曲面数据Parasolid.x_t/.x_bBREP 精确是支持可做实体运算同内核软件交接ACIS.sat/.sabBREP 精确是支持可做实体运算同内核软件交接JT.jtBREP 网格是支持仅查看为主大装配评审STL.stl三角网格否否否3D 打印、快速成型OBJ.obj三角网格否支持配 mtl否渲染、可视化3MF.3mf三角网格是支持否多材料、多色 3D 打印顺手提两个经常被混进来、但严格说不算三维中性格式的DXF 主要是二维图纸的交换格式虽然能带三维数据但支持很弱glTF 是面向网页和实时渲染的三维格式在工业领域基本不用做产品展示页面的时候才会碰到。这两个我一般单列不往上面这张表里塞。7.2 常见行业惯例不同行业的默认习惯不太一样跟供应商对接的时候按惯例走能省很多沟通成本。汽车与零部件主流是 AP214 或 AP242 的 STEP配合 JT 做评审。老一点的项目可能还在用 IGES 传型面数据。消费电子与模具STEP 为主模具厂经常要求额外提供 IGES 的型面文件因为他们用的老 CAM 软件更吃得惯 IGES 的曲面。航空航天AP242 用得多因为要带 PMI 和公差信息走基于模型的流程对数据完整性要求最高。3D 打印与手板STL 是硬通货新一点的打印服务商也接 3MF。发 STL 之前一定要检查封闭性和单位。非标设备与工程机械很难统一因为上下游用的软件五花八门我一般默认发 STEP对方有特殊要求再换。8. 转档实操我踩过的坑和现在的固定流程前面七节讲的都是应该怎么做这一节讲实际会怎么翻车以及我现在固化成习惯的做法。8.1 发文件之前的自检清单每次发文件前我都会花两分钟过一遍这几项基本上把 90% 的问题挡在前面。格式选对了吗。对方用什么软件、什么版本、要拿去干什么这三个问题没搞清楚之前不要点导出。单位是毫米吗。打开导入后的模型随手量一个已知尺寸确认没有缩放。是实体不是曲面吗。用检查几何体或者测量体积的功能确认一下如果是曲面片体积是算不出来的。装配结构完整吗。展开装配树看一眼层级不要只看能不能显示。精度参数合理吗。0.001mm 是通用值大装配用 0.01mm别用软件默认值不闻不问。文件名规范吗。我习惯用项目号-零件名-版本号-日期的格式比如A2310-支架-V2-20240512.stp。中文文件名在某些老系统上会乱码跨公司发送尽量用英文加数字。8.2 收文件之后的验证手法收到别人的文件别急着拿来用先做三个动作。第一量一个关键尺寸。随便挑一个标注明确的特征量一下确认单位没错、比例没错。这一步能拦掉最常见也最致命的错误。第二检查几何体有效性。主流软件里都有检查实体的工具能报出无效面、缝隙、自相交。有问题的地方直接让上游重新导出不要自己花两小时修因为修完之后责任边界就不清楚了。第三核对零件数量。签合同和报价都是按零件数走的装配体里少一个零件、多一个零件都是成本。我习惯把装配树导成清单跟对方的 BOM 项目号一项项对。8.3 几个省时间的固定习惯分享几个我自己慢慢养成的习惯都不是什么高深技巧但确实省事。建一个格式转换的模板配置。主流软件都能把导出设置存成模板把单位、精度、协议、版本这些固定下来下次一键调用不用每次重新点。给每类客户建一个备注。谁家用什么软件、什么版本、偏好什么格式、有没有特殊要求记在通讯录备注里。第二次打交道的时候直接按备注走能省掉一整轮来回确认。保留中间文件。转档过程里生成的那些中间文件比如缝合后的实体、降版后的 X_T别急着删万一对方说打不开你还有东西可以退回去重新处理。大文件先拆分再发。超过 500MB 的装配体先按模块拆成几个文件分开发送再附一张总装位置图。比发一个大文件让对方等导入要友好得多。我个人的体会是中性格式这件事技术门槛其实不高难的是把每一个细节都当回事。我见过太多项目设计做得漂亮最后卡在文件传不过去上浪费的时间比重新建模还多。把上面这八种格式的适用边界记熟把导出前那两分钟的自检养成条件反射这类问题基本就绝迹了。至于选哪一个回到那句最朴素的原则不确定对方用什么就发 STEP用毫米存实体精度 0.001这四条不出错剩下的都是次要的。