自动化BOM与装配图生成:基于Altium Output Job文件的标准化输出配置详解
在现代PCB设计流程中,物料清单(BOM)与装配图(Assembly Drawing)的生成已从手工整理阶段全面转向自动化、可复用、可追溯的标准化输出模式。Altium Designer通过Output Job文件(.OutJob)构建了统一的输出配置框架,将原理图、PCB布局、元器件库及企业级规则有机整合,实现了BOM与装配图输出的一致性、可配置性与工程可审计性。该机制不仅显著降低人为错误率,更支撑了ECN变更响应、DFM协同及SMT产线直通率提升等关键目标。
Output Job并非简单模板,而是一个基于XML结构的声明式输出任务定义容器,其内部由三类核心元素构成:Outputs(输出项)、Containers(容器组)和Generators(生成器)。Outputs定义最终交付物类型(如“PCB Fabrication Outputs”或“Assembly Outputs”),Containers用于逻辑分组(例如按制造阶段划分“Gerber+NC Drill”与“Pick & Place+Assembly Drawing”),而Generators则绑定具体实现引擎——如BOM Generator调用原理图编译后的Compiled Data Model,Assembly Drawing Generator则依赖PCB文档中的Layer Stack、Component Placement、Designator位置及注释对象。值得注意的是,所有Generator均运行于Altium的Unified Data Model(UDM)之上,确保BOM中Part Number、Description、Footprint、Supplier Part等字段与原理图符号、PCB封装、元器件数据库(如Octopart或企业ERP映射表)严格同步,避免因版本脱节导致的贴片错料。
一个工业级BOM输出必须满足多维度约束:字段完整性、排序逻辑、条件过滤、格式兼容性及权限控制。在OutJob中,BOM Generator支持深度定制:字段映射方面,可通过“Column Configuration”手动添加/删除列,并设置公式字段(如“=‘R’&[Designator]”生成标准电阻标识);排序策略支持多级嵌套(先按Designator前缀分组,再按Value升序);过滤条件可基于PCB层属性(如仅含Top Layer元件)、采购状态(“Status=InStock”)、或自定义参数(“ExcludeFromBOM=True”)动态剔除测试点、占位焊盘等非装配项。实际案例显示,某医疗设备项目通过配置“Group by Manufacturer + Sort by MPN”并启用“Include Alternate Parts”,使BOM行数减少37%,同时确保每个主料号下自动关联3家合格供应商的替代料号,直接支撑JIT采购与供应链韧性建设。
装配图的本质是面向SMT贴片机与人工目检的几何-语义双重表达,其生成质量直接影响首件通过率。Altium Assembly Drawing Generator默认输出包含:1)顶层/底层丝印层叠加元件轮廓(以IPC-7351标准焊盘尺寸为基准);2)带引脚编号的IC极性标记(通过Pin 1标识符+圆圈/缺口符号);3)可配置的Designator与Value文本(支持字体大小、旋转角度、是否隐藏重叠文字);4)带公差标注的Board Outline与Mounting Holes。关键配置在于“Layer Stackup Mapping”——需精确指定哪些机械层(Mechanical Layers)作为装配基准(如Mechanical 1为板框,Mechanical 10为定位孔),并启用“Show Component Bodies”以渲染3D模型投影轮廓。某通信基站单板项目曾因未勾选“Use True Type Fonts”导致PDF装配图中中文乱码,后续强制启用该选项并指定SimSun字体后,解决了EMS工厂本地化审核障碍。

为消除项目间输出差异,建议建立企业级Output Job模板库,按产品类别(消费类/工业类/汽车电子)划分,每个模板固化以下要素:BOM字段集(含公司编码规则字段如“ERP_ItemID”)、装配图图层组合(如强制包含“Mechanical 15-Placement_Overlay”)、文件命名规范(采用“{ProjectName}_ASM_{Rev}_{Date}.pdf”)、以及输出路径变量(如“$PROJECTDIR\Outputs\Assembly”)。模板通过Altium的“Project Reuse”功能导入新项目,再经“Validate Outputs”一键校验——该工具会扫描所有Generator依赖项(如是否存在未分配封装的器件、BOM字段是否引用了不存在的参数),并生成HTML报告。某Tier-1汽车供应商通过此流程将新项目Output配置时间从平均8小时压缩至45分钟,且BOM首次提交准确率达99.96%(基于IATF 16949条款8.5.1.3要求)。
Output Job的终极价值在于成为设计-制造数据链的可信锚点。通过Altium的API(如OutJob.ExportToCSV()或第三方插件如Unified Engineering的Altium Connector),可将BOM输出自动推送至Windchill或Teamcenter PLM系统,触发ECO审批流;装配图PDF则可经MQTT协议上传至MES工单系统,供SMT贴片机调取坐标文件(Pick and Place CSV)。实践中需注意数据一致性防护:BOM导出时应启用“Lock Output on Generation”选项,防止生成过程中原理图被意外修改;同时,在OutJob中配置“Post-Process Script”调用PowerShell脚本,自动比对当前BOM哈希值与PLM中存档版本,不一致则中断发布并邮件告警。某新能源车企电池管理系统项目正是通过该机制,在2023年全年实现零起因BOM版本错误导致的产线停线事件。
典型问题包括:BOM中出现重复行(源于同一器件在多通道设计中未启用“Unique Component Designators”)、装配图缺失某IC极性标记(因封装内Pin 1焊盘未正确设置“Pad Designator = 1”)、或输出PDF字体嵌入失败(Windows系统未安装对应TrueType字体)。调试须遵循“三层溯源法”:第一层检查Output Job中Generator的Source Document绑定是否正确(如BOM Generator是否指向最新编译的.SchDoc而非旧版);第二层验证源文档参数(右键元件→Properties→Parameters中确认“Manufacturer”“MPN”等字段非空且格式合规);第三层审查全局设置(Preferences→Data Management→Default Print Settings中确认单位制为Millimeters且精度≥3位)。Altium 22及以上版本还提供“Output Preview”实时渲染窗格,支持逐项预览BOM表格与装配图效果,大幅缩短调试周期。
微信小程序
浙公网安备 33010502006866号