干这行有些年头了,报价这事儿一直是个磨人的活。尤其是碰到那种上百个零件的大装配,一个一个数零件、查材料、估重量,搞完一套下来眼睛都花了,关键是还容易数错。漏一个零件报少了亏本,报多了又丢单。
后来慢慢摸索出来一个办法,用CATIA导出3dxml格式,把BOM表整出来,报价效率能翻好几倍。我把这套路子捋一捋,兴许对你有用。
我以前一直以为3dxml就是个轻量化模型,拿来给别人看图用的。后来有一次偶然发现,这玩意儿其实是个压缩包。你把文件后缀从.3dxml改成.zip,解压开,里面除了三维网格数据,还有一堆XML文件,其中就藏着BOM表的信息。
3dxml这个格式是达索自己搞的,说白了就是把CATIA那套庞杂的参数化模型压缩成三角网格,文件体积能缩小到原来的10%到20%。一个2.3GB的CATIA装配体,导成3dxml就剩320MB。体积小了,传文件快,打开也快。而且它不光存几何,产品结构、装配关系、零件属性这些信息都带着。
这就意味着,你发给供应商的3dxml文件里,其实已经包含了完整的BOM数据,只是大多数人没去拆而已。

路子有这么几条,看你手头有什么条件。
这是最直接的办法,不用额外装任何东西。
在CATIA V5的装配设计模块里,打开你的.CATProduct文件,点顶上菜单栏的分析 → 物料清单(Analyze → Bill of Material)。弹出来的对话框里有个“定义格式”的按钮,点进去可以选你要导出哪些列——零件号、名称、数量、材料、重量这些,按需勾选就行。选好了点“另存为”,文件类型选Excel(.xls),搞定。
这个方法的好处是快,点几下鼠标就完事。但有个毛病——默认导出的字段有时候不全,比如缺材料或者缺重量,得你自己在格式定义里头加。另外层级关系有时候会乱,尤其是嵌套装配多的产品。
如果你三天两头要报价,每次都手动导一遍BOM,那太磨叽了。写个宏跑一遍,省出来的时间够你喝好几杯茶。
CATIA自带VBA编辑器,在工具 → 宏 → 宏...里面可以录宏也可以自己写。基本思路就是用CATIA的Automation API遍历产品结构树,把每个零件的属性读出来,写到Excel里。
网上有人分享现成的VBA工具箱,有个叫“Exact_BOM_3D”的宏模块,跑一遍自动把零件名称、编号、尺寸、质量、数量这些信息填到Excel里。还有个叫“Al1_CDF_Tool_2D3D”的工具栏,上面有个“导出BOM”的按钮,点一下就完事。
如果你会用Python,GitHub上有个叫pytia-bill-of-material的开源项目,是个带图形界面的BOM导出工具,能把BOM导出成xlsx,还能顺带把每个零件存成step和stl文件。不过作者说了,他因为没CATIA授权已经不维护了,但代码还能用。
如果你拿到的就是别人发来的3dxml文件,自己没有CATIA,或者不想开CATIA,那也有办法。
把.3dxml改成.zip解压开,里头有个PropertySet1.xml文件,里面存的就是BOM字段、设计参数、自定义属性这些信息。用Python、C++或者C#写个解析脚本,把XML里的BOM数据读出来,整理成表格。
这路子技术门槛稍微高一点,但好处是不依赖CATIA软件,适合批量处理或者集成到自己的报价系统里。
BOM表导出来之后,剩下的就是算账的事了。
我的习惯是拿到Excel之后做几件事:
第一,筛出标准件和外购件。 螺栓、垫片、密封圈这些东西,价格是固定的,直接套采购价就行,不用自己算。BOM表里如果有“类型”或者“来源”字段,按这个筛。没有的话就靠零件编号或者名称来认,干久了自然心里有数。
第二,算自制件的加工成本。 这个主要看材料、重量和加工难度。BOM表里有材料名称和重量的话,材料成本就好算了——公斤价乘以重量。加工费就得凭经验了,车铣刨磨钻,工序越多越贵。我一般根据零件复杂度给个系数,简单的乘以1.5,复杂的乘以3到5。
第三,别忘了表面处理和热处理。 很多人在BOM表里看不到这些信息就漏掉了。镀锌、喷漆、氧化、淬火,这些都是钱。如果你的三维模型里没带这些工艺属性,报价的时候得自己补上。
第四,装配费和管理费。 零件算完了,整机的装配工时、包装运输、管理利润这些按比例加上去就行,不同公司比例不一样,看你自己的规矩。
导出BOM之前,最好用CATDUA把装配体清理一遍,避免那些无效的链接和报错影响BOM生成。
3dxml导出的BOM是“所见即所得”的——你在CATIA里隐藏了某些零件,导出来的BOM里就不含它们。所以导出之前检查一下可见性,别漏了东西。
如果你用的是CATIA V6或者3DEXPERIENCE平台,BOM的管理方式跟V5不太一样,是在“Bookmark Editor”应用里导出CSV。这个要注意区分。
大概就这些。报价这事儿说到底就是个信息整理的过程,信息越全越快,报价就越准越快。把BOM导出这步理顺了,后面算账就轻松多了。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删