1. 硬件输出全流程的整体设计思路
1.1 为什么硬件输出需要一套标准流程
画完原理图和PCB,把文件往压缩包里一扔就发给工厂,这种做法在打样阶段可能侥幸过关,但一旦进入小批量或量产,问题就会集中爆发。我见过太多案例:工厂收到的Gerber层叠顺序不对,阻焊和焊盘搞反了;BOM里某个电容的封装写的是0603,实际贴片位置却是0805;装配图没有标注极性器件的方向,导致一批板子上的电解电容全部焊反。这些问题返工一次,少则耽误三五天,多则直接报废整批PCB。
硬件输出本质上是一次“设计意图的跨角色传递”。你的设计在Altium Designer里是完整的、有网络关系的、有3D模型的,但工厂拿到的只是一堆二维图形和表格。如果输出文件不能准确还原你的设计意图,中间就会产生信息损耗。所以一套规范的输出流程,核心目标就是把信息损耗降到最低。
具体来说,硬件输出要解决四个核心问题:第一,PCB板厂需要知道每一层长什么样,这就是Gerber文件的作用;第二,贴片厂需要知道每个位置放什么元件、放多少个,这就是BOM和坐标文件的作用;第三,组装厂需要知道每个元件怎么装、朝哪个方向,这就是装配文件的作用;第四,你的团队和客户需要一份可读的原理图存档,这就是PDF原理图的作用。四个输出物对应四个不同的接收方,每个接收方的关注点不同,输出格式和内容要求也不同。
1.2 Altium Designer的OutJob机制为什么值得用
很多工程师习惯手动一个一个导出文件:先导出Gerber,再导出BOM,再导出坐标文件,每次都要重新设置一遍参数。这种做法的最大问题是不可复现。你今天导出的Gerber设置和下周导出的可能不一样,换一个同事操作又不一样。一旦出了问题,你甚至无法确定是设计的问题还是导出设置的问题。
Altium Designer提供了一个叫Output Job File(简称OutJob)的机制,本质上是一个“输出配方”。你可以把所有需要输出的文件类型、输出路径、输出参数全部预先配置好,之后每次只需要点一下“Generate”就能批量生成所有输出文件。这个机制的价值在于:配置一次,反复使用;团队共享,标准统一;版本可控,有据可查。
我个人的做法是,每个项目在设计初期就创建一个OutJob文件,把所有输出配置写好。等到设计完成需要输出时,直接运行OutJob,几分钟内就能拿到全套文件。更重要的是,当工厂反馈某个文件有问题时,我可以直接检查OutJob里的配置,而不是凭记忆去回想当时是怎么导出的。
1.3 输出文件的命名与目录结构规范
在展开具体操作之前,先说一下文件命名和目录结构。这件事看起来不起眼,但实际影响很大。工厂每天收到几十个项目的文件,如果你的文件命名混乱,轻则沟通成本增加,重则工厂拿错文件做错板。
我推荐一套经过实践检验的命名规范:
- 项目名_版本号_日期_文件类型.扩展名
- 例如:PowerBoard_V1.2_20250115_Gerber.zip
- 例如:PowerBoard_V1.2_20250115_BOM.xlsx
- 例如:PowerBoard_V1.2_20250115_Assembly.pdf
目录结构方面,建议按输出类型分文件夹:
ProjectName_Output/ ├── 01_Schematic_PDF/ ├── 02_Gerber/ ├── 03_BOM/ ├── 04_Assembly/ ├── 05_Coordinate/ └── 06_Drill/这样做的好处是,当你把整个Output文件夹打包发给工厂时,对方一眼就能看清每个文件夹里是什么内容,减少来回确认的时间。而且版本号放在文件名里,后续如果有修改,新旧文件不会混淆。
注意:版本号一定要和原理图、PCB文件内部的版本标注一致。我见过有人PCB文件里写的是V1.2,但输出文件夹命名是V1.3,结果工厂按V1.3做了,实际设计还是V1.2的,导致一批板子报废。
2. PDF原理图输出的核心细节与实操要点
2.1 原理图PDF输出的常见痛点
原理图导出PDF看起来是最简单的操作,但实际工作中问题不少。最典型的问题就是清晰度不够。很多人直接用“File → Smart PDF”默认设置导出,结果放大后文字模糊、线条发虚,特别是引脚编号和网络标号,根本看不清。工厂的工程师如果看不清原理图,就无法核对PCB网络,出了问题只能来回沟通。
另一个常见问题是页面设置不合理。Altium Designer默认按A4纸张输出,但很多原理图的实际尺寸远大于A4,导致内容被压缩得极小,或者被分割到几十页上,阅读体验极差。还有人导出的PDF没有书签导航,几百页的原理图只能一页一页翻,效率极低。
2.2 Smart PDF的关键参数设置
Altium Designer的Smart PDF功能是导出原理图PDF的主要途径。以下是我实测下来最稳定的一套参数配置:
输出质量设置:在Smart PDF向导的“Output Quality”页面,选择“High”或“Custom”。如果选Custom,建议将DPI设置为600以上。我通常用1200 DPI,这样即使放大到400%也能看清每个引脚的编号。作为对比,默认的300 DPI在放大到200%时就开始模糊了。
页面设置:在“Page Settings”页面,选择“Fit to Page”而不是固定纸张大小。这样Altium会自动计算最合适的缩放比例,保证整张原理图在一页内完整显示。如果原理图实在太大,可以选择“Custom”并手动指定缩放比例,但建议不要低于50%,否则文字会太小。
颜色模式:建议选择“Color”而不是“Monochrome”。彩色PDF可以保留网络标号的颜色区分,比如电源网络是红色、地网络是黑色,阅读时更容易区分。但如果你的打印机是黑白的,或者工厂习惯黑白打印,也可以选Monochrome,但一定要确保对比度足够。
书签和导航:在“Additional Options”页面,勾选“Generate Bookmarks”和“Generate PDF Index”。这样导出的PDF会自动生成按原理图页面的书签导航,几百页的原理图也能快速跳转。这个功能很多人不知道,但用过之后就离不开了。
2.3 解决PDF不清晰的具体方法
如果你已经用默认设置导出了PDF,发现不清晰,不用重新画原理图,只需要调整导出参数重新导出即可。具体操作步骤:
- 打开原理图文件,点击“File → Smart PDF”
- 在向导第一步选择“Current Document”或“Project”,取决于你要导出单页还是整个项目
- 在“Output Quality”页面,将DPI从默认的300改为1200
- 在“Page Settings”页面,将缩放模式改为“Fit to Page”
- 在“Additional Options”页面,勾选“Generate Bookmarks”
- 完成向导,生成PDF
如果重新导出后仍然不清晰,检查一下原理图的字体设置。有些工程师喜欢用很小的字体(比如6pt)来节省空间,这种字体在任何DPI下导出都会模糊。建议原理图字体不要小于8pt,关键标注不要小于10pt。
实操心得:导出PDF之前,先在Altium Designer里按“Ctrl+Shift+F”打开“Find Similar Objects”,检查一下有没有字体过小的文本。如果有,批量修改为统一的标准字体。这个步骤花不了几分钟,但能避免后续反复导出。
2.4 多页原理图的组织与输出策略
对于复杂的项目,原理图往往有几十页甚至上百页。这种情况下,PDF的组织方式就很重要。我通常采用以下策略:
按功能模块分章节:在原理图设计时,就用“Sheet Symbol”把不同功能模块分开,比如电源模块、MCU模块、通信模块、接口模块等。导出PDF时,每个模块的页面会自动归类,书签也会按模块分组。
添加封面页:在原理图项目里单独建一页作为封面,写上项目名称、版本号、设计日期、设计者等信息。导出PDF时,封面页会自动排在第一页,方便查阅。
交叉引用检查:导出PDF后,用PDF阅读器的搜索功能,搜索几个关键网络标号,确认跨页连接是否正确。这个步骤能发现很多原理图设计中的疏漏。
3. BOM输出的规范与实战技巧
3.1 BOM的核心字段与格式选择
BOM是硬件输出中最容易出问题的环节。一个规范的BOM应该包含以下核心字段:
| 字段名 | 说明 | 是否必填 |
|---|---|---|
| Item | 序号 | 必填 |
| Quantity | 数量 | 必填 |
| Comment | 元件值/型号 | 必填 |
| Designator | 位号 | 必填 |
| Footprint | 封装 | 必填 |
| Manufacturer Part Number | 制造商料号 | 建议填 |
| Manufacturer | 制造商 | 建议填 |
| Supplier | 供应商 | 可选 |
| Supplier Part Number | 供应商料号 | 可选 |
| Description | 描述 | 建议填 |
格式方面,最通用的是Excel(.xlsx)格式,因为所有工厂都能打开。有些工厂要求CSV格式,也可以从Altium Designer直接导出。不建议用PDF格式的BOM,因为工厂可能需要修改或补充信息,PDF不方便编辑。
3.2 Altium Designer导出BOM的详细步骤
Altium Designer导出BOM的入口在“Reports → Bill of Materials”。打开后会看到一个BOM配置界面,左侧是所有元件的列表,右侧是分组和列配置。
第一步:配置分组方式。默认按Comment分组,但实际生产中更常用的是按“Comment + Footprint”分组。因为同一个值的电阻,0603封装和0805封装的料号可能不同,必须分开统计。在“Grouped Columns”区域,把Comment和Footprint都拖进去。
第二步:配置显示列。在“Columns”区域,勾选你需要输出的字段。建议至少勾选:Quantity、Comment、Designator、Footprint、Manufacturer Part Number、Manufacturer。如果你们的元件库维护得好,Description字段也建议勾选。
第三步:导出为Excel。点击“Export”按钮,选择“Microsoft Excel”格式,指定输出路径。Altium Designer会生成一个.xlsx文件,包含所有配置好的字段。
第四步:后期整理。导出的Excel通常需要手动整理一下:调整列宽、添加表头、合并相同料号的行、添加版本号和日期。这些工作虽然琐碎,但能显著提升BOM的可读性。
3.3 BOM中常见错误与排查方法
BOM错误是导致贴片返工的主要原因之一。以下是我总结的常见错误和排查方法:
位号重复或遗漏:在Altium Designer中,按“T → A”打开“Annotate Schematics”对话框,选择“Update Changes List”然后“Accept Changes”。这个操作会自动检查所有位号,确保没有重复或遗漏。导出BOM后,再用Excel的“条件格式 → 重复值”功能检查一遍Designator列。
封装不匹配:这是最隐蔽的错误。原理图里写的封装是0603,但PCB里实际用的封装是0805,BOM导出时按原理图的封装走,工厂按BOM备料,结果贴不上去。排查方法:在Altium Designer中打开PCB,按“T → G”打开“Cross Select Mode”,然后在原理图和PCB之间交叉点击,逐个核对封装。
料号缺失:有些工程师习惯在原理图里只写元件值,不写制造商料号,等到BOM导出后再手动填。这种做法在元件少的时候还行,元件多了就容易漏。建议在原理图设计阶段就把料号填好,导出BOM时直接带出来。
数量统计错误:Altium Designer的BOM默认按分组统计数量,但如果分组设置不对,数量就会出错。比如两个不同封装的0.1uF电容,如果只按Comment分组,会被合并成一行,数量翻倍但封装只显示一个。所以一定要按“Comment + Footprint”分组。
避坑技巧:导出BOM后,用Excel做一个简单的交叉验证。在BOM表旁边加一列,用COUNTIF函数统计每个位号在原始元件列表中的出现次数,确保每个位号只出现一次。这个检查花不了两分钟,但能避免大问题。
3.4 BOM的版本管理与变更记录
BOM不是一次性的文件,随着设计迭代,BOM会不断更新。如果没有版本管理,很容易出现“工厂按旧BOM备料,但设计已经改了”的情况。
我的做法是:每次BOM变更,都在Excel里单独建一个“Change Log”工作表,记录变更日期、变更内容、变更原因、变更人。同时在BOM主表的表头加上版本号和日期。这样即使过了几个月,也能追溯每一次变更。
另外,建议在BOM里加一列“备注”,用来标注一些特殊要求,比如“此元件需要耐高温”、“此元件有方向要求”、“此元件需要预涂锡”等。这些信息在标准BOM字段里没有,但对贴片厂来说很重要。
4. Gerber文件的生成与检查全流程
4.1 Gerber文件到底包含哪些层
Gerber文件是PCB板厂生产PCB的依据,它本质上是一组二维图形文件,每一层对应PCB的一个物理层。一个完整的Gerber文件集通常包含以下层:
| 层类型 | 文件名示例 | 说明 |
|---|---|---|
| Top Layer | ProjectName.GTL | 顶层线路 |
| Bottom Layer | ProjectName.GBL | 底层线路 |
| Top Solder Mask | ProjectName.GTS | 顶层阻焊 |
| Bottom Solder Mask | ProjectName.GBS | 底层阻焊 |
| Top Silkscreen | ProjectName.GTO | 顶层丝印 |
| Bottom Silkscreen | ProjectName.GBO | 底层丝印 |
| Top Paste | ProjectName.GTP | 顶层钢网 |
| Bottom Paste | ProjectName.GBP | 底层钢网 |
| Drill File | ProjectName.TXT | 钻孔文件 |
| Board Outline | ProjectName.GM1 | 板框 |
有些工厂还会要求提供ODB++格式,这是一种比Gerber更高级的数据格式,包含了网络信息和元件信息。Altium Designer也支持导出ODB++,在“File → Fabrication Outputs → ODB++”里操作。不过大多数板厂还是以Gerber为主,ODB++作为补充。
4.2 Altium Designer导出Gerber的详细步骤
第一步:打开Gerber设置。在PCB界面,点击“File → Fabrication Outputs → Gerber Files”。这会打开Gerber设置对话框。
第二步:General设置。在“General”页面,Units选择“Inches”或“Millimeters”,取决于你的设计习惯。Format选择“2:4”或“2:5”,2:5精度更高,建议选2:5。勾选“Embedded Apertures”和“Use Software Arcs”。
第三步:Layers设置。在“Layers”页面,勾选“Plot Top Layer”、“Plot Bottom Layer”以及所有需要的层。特别注意:一定要勾选“Include Unconnected Mid-Layer Pads”和“Mirror Bottom Layer”。如果板子有内层,也要勾选对应的内层。
第四步:Drill Drawing设置。在“Drill Drawing”页面,勾选“Drill Drawing”和“Drill Guide”。这两个文件用于标注钻孔位置和尺寸。
第五步:Apertures设置。在“Apertures”页面,勾选“Embedded Apertures”和“Use Software Arcs”。这两个选项能确保Gerber文件在不同软件中打开时显示一致。
第六步:Advanced设置。在“Advanced”页面,勾选“Use Global Aperture List”和“Suppress Leading Zeroes”。其他选项保持默认。
第七步:生成Gerber。点击“OK”,Altium Designer会生成所有Gerber文件,并自动在CAM编辑器中打开。检查一下每一层是否正常显示,确认无误后关闭CAM编辑器。
第八步:生成钻孔文件。点击“File → Fabrication Outputs → NC Drill Files”,在对话框中选择“Inches”或“Millimeters”,Format选择“2:5”,勾选“Suppress Leading Zeroes”和“Optimize Change Location”。点击“OK”生成钻孔文件。
4.3 Gerber文件的检查方法与常见问题
Gerber文件生成后,千万不要直接发给工厂。我见过太多因为Gerber问题导致PCB报废的案例。以下是我常用的检查方法:
用CAM编辑器检查:Altium Designer自带的CAM编辑器可以打开Gerber文件。重点检查:线路层是否有断线或短路、阻焊层是否覆盖了焊盘、丝印层是否压到了焊盘、钻孔是否与焊盘对齐。
用第三方Gerber查看器检查:推荐使用“Gerber Viewer”或“KiCad的Gerber Viewer”等免费工具。这些工具可以独立于Altium Designer打开Gerber文件,模拟工厂的视角。重点检查:层叠顺序是否正确、板框是否闭合、钻孔文件是否与Gerber对齐。
常见问题一:阻焊层反了。有些工程师在设置阻焊层时,误将“Negative”和“Positive”搞反,导致阻焊层覆盖了焊盘。检查方法:在Gerber查看器中,阻焊层应该显示为“焊盘位置是空的,其他位置是实的”。如果反了,焊盘会被阻焊覆盖,无法焊接。
常见问题二:钻孔偏移。钻孔文件与Gerber线路层不对齐,导致钻孔打偏。检查方法:在Gerber查看器中,同时打开线路层和钻孔层,放大后逐个检查每个焊盘的钻孔是否居中。
常见问题三:板框不闭合。板框层(GM1)如果没有闭合,工厂无法确定板子的外形。检查方法:在Gerber查看器中,用测量工具检查板框的每条边是否首尾相连。
实操心得:Gerber文件生成后,先发给自己公司的同事用Gerber查看器打开一遍,确认没有问题再发给工厂。这个“内部检查”环节能拦截80%以上的Gerber问题。另外,建议把Gerber文件打包成ZIP格式再发送,避免文件在传输过程中损坏。
4.4 不同Altium Designer版本的Gerber导出差异
Altium Designer的版本更新比较频繁,不同版本的Gerber导出界面和默认参数可能略有不同。以下是我实测过的几个版本的差异:
AD09/AD10:Gerber导出界面比较老旧,默认DPI是300,建议手动改为1200。钻孔文件的格式默认是“2:4”,建议改为“2:5”。
AD14/AD15:界面有所改进,增加了“Embedded Apertures”选项,建议勾选。钻孔文件的“Optimize Change Location”选项默认不勾选,建议手动勾选。
AD18/AD19:引入了“OutJob”机制,建议用OutJob统一管理Gerber输出。默认参数已经比较合理,但DPI仍然建议手动改为1200。
AD20/AD21/AD24:界面进一步优化,增加了“Preview”功能,可以在导出前预览每一层的效果。建议利用这个功能,在导出前先预览一遍。
AD25/AD26:最新版本,Gerber导出流程基本没变,但增加了对ODB++格式的更好支持。如果工厂支持ODB++,建议同时导出ODB++作为备份。
5. 装配文件与坐标文件的输出规范
5.1 装配图的作用与内容要求
装配图是给组装厂看的,主要作用是标注每个元件的位置、方向、极性。一张合格的装配图应该包含以下内容:
- 元件位号(Designator):每个元件的位置标注
- 元件轮廓:每个元件的外形轮廓
- 极性标注:电解电容、二极管、IC等有方向要求的元件,必须标注极性
- 引脚1标注:IC类元件必须标注引脚1的位置
- 版本号和日期:便于追溯
Altium Designer生成装配图的方法:在PCB界面,点击“File → Smart PDF”,选择“PCB”而不是“Schematic”,然后在“Additional Options”里勾选“Generate Assembly Drawing”。这样生成的PDF会包含顶层和底层的装配图。
5.2 坐标文件的生成与格式说明
坐标文件(Pick and Place File)是贴片机编程的依据,包含每个元件的位号、坐标、旋转角度、封装等信息。Altium Designer生成坐标文件的步骤:
- 在PCB界面,点击“File → Assembly Outputs → Generates Pick and Place Files”
- 在对话框中选择“CSV”格式
- 选择“Imperial”或“Metric”单位,建议与工厂确认后选择
- 勾选“Include Component Rotation”和“Include Layer Information”
- 点击“OK”生成
坐标文件的典型格式如下:
Designator,Footprint,Mid X,Mid Y,Ref X,Ref Y,Pad X,Pad Y,Layer,Rotation,Comment R1,0603,10.5,20.3,10.5,20.3,10.5,20.3,TopLayer,0,10K C1,0805,15.2,25.1,15.2,25.1,15.2,25.1,TopLayer,90,0.1uF U1,QFP48,30.0,40.0,30.0,40.0,30.0,40.0,TopLayer,0,STM32F1035.3 装配文件与坐标文件的交叉验证
装配图和坐标文件是配套使用的,必须交叉验证。我通常的做法是:
第一步:检查位号一致性。把装配图PDF和坐标文件CSV同时打开,逐个核对位号。确保装配图上有的位号,坐标文件里也有,反之亦然。
第二步:检查方向一致性。在装配图上找到有极性的元件,比如电解电容C1,确认它的正极方向。然后在坐标文件里找到C1的Rotation值,确认旋转角度与装配图一致。
第三步:检查层一致性。确认顶层元件在坐标文件里标注为“TopLayer”,底层元件标注为“BottomLayer”。如果搞反了,贴片机会把元件贴到错误的一面。
第四步:检查封装一致性。确认坐标文件里的Footprint字段与BOM里的封装一致。如果不一致,贴片机可能无法正确识别元件。
避坑技巧:在Altium Designer里,按“T → G”打开“Cross Select Mode”,然后在PCB上点击一个元件,原理图会自动跳转到对应位置。用这个方法逐个核对关键元件的位置和方向,比单纯看文件更直观。
5.4 装配文件的版本管理与工厂沟通要点
装配文件发给工厂后,工厂可能会反馈一些问题,比如“某个元件方向不明确”、“某个元件坐标有偏差”等。这时候版本管理就很重要。
我的做法是:每次修改装配文件,都在文件名里加一个版本号,比如“Assembly_V1.0.pdf”、“Assembly_V1.1.pdf”。同时在PDF的每一页页脚加上版本号和日期。这样工厂反馈问题时,可以直接说“V1.1的第3页有问题”,沟通效率高很多。
另外,建议在装配文件里加一页“特殊说明”,列出所有需要特别注意的元件和装配要求。比如“C1为钽电容,正极朝上”、“U1为QFN封装,需要底部散热焊盘”、“J1为USB接口,需要过炉后检查”等。这些信息虽然简单,但能避免很多装配错误。
6. 常见问题与排查技巧实录
6.1 PDF原理图导出常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| PDF文字模糊 | DPI设置过低 | 将DPI改为1200以上 |
| PDF页面过大或过小 | 页面设置不合理 | 选择“Fit to Page” |
| PDF没有书签 | 未勾选书签选项 | 勾选“Generate Bookmarks” |
| PDF颜色不对 | 颜色模式设置错误 | 选择“Color”模式 |
| PDF缺少某些页面 | 导出范围设置错误 | 选择“Project”而非“Current Document” |
6.2 BOM导出常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 位号重复 | 原理图标注错误 | 用“Annotate Schematics”重新标注 |
| 封装不匹配 | 原理图与PCB封装不一致 | 用“Cross Select Mode”逐个核对 |
| 数量统计错误 | 分组设置不对 | 按“Comment + Footprint”分组 |
| 料号缺失 | 原理图未填料号 | 在原理图里补填料号后重新导出 |
| Excel打开乱码 | 编码格式问题 | 导出为.xlsx而非.csv |
6.3 Gerber导出常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 阻焊层覆盖焊盘 | 阻焊层极性设置错误 | 检查“Negative/Positive”设置 |
| 钻孔偏移 | 钻孔文件与Gerber不对齐 | 检查钻孔文件的单位和格式 |
| 板框不闭合 | 板框层有断点 | 用测量工具检查板框连续性 |
| 丝印压焊盘 | 丝印层设计不规范 | 在PCB里调整丝印位置 |
| Gerber文件缺失 | 层设置遗漏 | 检查“Layers”页面的勾选情况 |
6.4 装配文件常见问题速查表
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 元件方向不明确 | 装配图未标注极性 | 在装配图上添加极性标注 |
| 坐标偏差 | 坐标文件单位错误 | 确认单位与工厂一致 |
| 层搞反 | 坐标文件层信息错误 | 检查“Layer”字段 |
| 位号不一致 | 装配图与坐标文件不同步 | 重新生成两个文件 |
| 封装不匹配 | BOM与坐标文件封装不一致 | 统一封装命名 |
6.5 独家避坑经验分享
经验一:输出前先做一次“设计规则检查”。在Altium Designer里,按“T → D”打开“Design Rule Check”,运行一次完整的DRC。这个检查能发现很多潜在问题,比如线宽不够、间距太小、焊盘重叠等。虽然DRC通过不代表Gerber一定没问题,但DRC不通过肯定有问题。
经验二:Gerber文件用“对比工具”检查。如果项目有多个版本,可以用Gerber对比工具(如“Gerber Compare”)对比两个版本的Gerber文件,快速找出差异。这个工具在版本迭代时特别有用,能避免“改了A但忘了改B”的情况。
经验三:BOM和坐标文件用同一个Excel文件管理。我习惯把BOM和坐标文件放在同一个Excel文件的不同工作表里,这样修改BOM时能顺便检查坐标文件,避免两个文件不同步。
经验四:输出文件打包前先“自检一遍”。把输出文件夹里的所有文件逐个打开一遍,确认每个文件都能正常打开、内容完整。这个习惯能拦截很多低级错误,比如文件损坏、内容为空等。
经验五:和工厂确认“输出格式要求”。不同的工厂对输出格式的要求可能略有不同,比如有些工厂要求Gerber用“2:4”格式,有些要求“2:5”;有些工厂要求坐标文件用“Metric”单位,有些要求“Imperial”。在第一次合作时,先和工厂确认清楚,避免反复修改。
经验六:保留每次输出的“输出记录”。我习惯在输出文件夹里放一个“Output_Log.txt”,记录每次输出的日期、版本号、输出人、输出内容。这样即使过了很久,也能追溯每次输出的具体情况。
经验七:用OutJob统一管理所有输出。前面提到过OutJob机制,这里再强调一下。OutJob不仅能批量生成文件,还能确保每次输出的参数一致。建议每个项目都创建一个OutJob文件,把所有输出配置写好,之后每次输出只需要点一下“Generate”。
经验八:输出文件发给工厂前,先发给自己一份。把输出文件打包发到自己的邮箱或网盘,然后用另一台电脑打开检查一遍。这个步骤能发现很多“在本机正常,在别的电脑上异常”的问题,比如字体缺失、路径错误等。
经验九:Gerber文件用“压缩包”发送。Gerber文件通常有几十个,直接发送容易遗漏或损坏。建议打包成ZIP格式再发送,并在邮件里注明“解压后请检查文件数量是否完整”。
经验十:和工厂保持“输出文件版本同步”。每次修改设计后,重新输出所有文件,并通知工厂更新。不要只更新Gerber而不更新BOM,或者只更新BOM而不更新坐标文件。所有输出文件必须版本一致。
6.6 输出流程的自动化与效率提升
如果你经常做硬件输出,可以考虑用Altium Designer的脚本功能实现自动化。Altium Designer支持用Delphi Script或VBScript编写脚本,自动执行一系列输出操作。比如,你可以写一个脚本,自动完成以下操作:
- 导出PDF原理图
- 导出BOM
- 导出Gerber
- 导出钻孔文件
- 导出坐标文件
- 导出装配图
- 打包成ZIP
这个脚本一次编写,长期使用,能节省大量时间。不过脚本编写需要一定的编程基础,如果团队里有擅长编程的同事,可以请他帮忙写一个。
另外,Altium Designer的OutJob机制本身也支持“Batch Mode”,可以一次性生成所有输出文件。在OutJob界面,点击“Batch Mode”按钮,然后点击“Generate”,Altium Designer会自动按顺序生成所有配置好的输出文件。这个功能比手动一个一个导出快得多,而且不容易出错。
6.7 输出文件的归档与追溯
硬件输出完成后,输出文件的归档也很重要。我通常按以下结构归档:
ProjectName_Archive/ ├── V1.0_20250101/ │ ├── Schematic_PDF/ │ ├── Gerber/ │ ├── BOM/ │ ├── Assembly/ │ ├── Coordinate/ │ └── Output_Log.txt ├── V1.1_20250115/ │ ├── ... └── V1.2_20250201/ ├── ...每个版本一个文件夹,文件夹名包含版本号和日期。这样即使过了几年,也能快速找到某个版本的输出文件。Output_Log.txt记录每次输出的详细信息,包括输出人、输出时间、输出内容、备注等。
归档时,建议同时保存一份“原始设计文件”(原理图、PCB、元件库),这样如果后续需要修改,可以直接从归档里恢复。原始设计文件和输出文件放在同一个版本文件夹里,确保版本对应。
实操心得:归档时,建议把输出文件同时保存到本地硬盘和云端存储。本地硬盘用于日常查阅,云端存储用于灾难恢复。我见过太多因为硬盘损坏导致设计文件丢失的案例,双备份是最低要求。
7. 输出流程的团队协作与标准制定
7.1 团队协作中的输出规范统一
如果是团队协作,输出规范的统一就更加重要。不同的人有不同的操作习惯,如果不统一规范,输出文件的质量就会参差不齐。我建议从以下几个方面统一:
统一OutJob模板:团队共同维护一个OutJob模板文件,所有人都用这个模板输出。模板里预设好所有输出参数,包括DPI、页面设置、Gerber层配置、BOM字段等。新人入职时,直接把这个模板发给他,让他按模板操作。
统一文件命名规范:制定一套文件命名规范,所有人都按这个规范命名。比如“项目名_版本号_日期_文件类型.扩展名”。规范要简单明了,容易记住,避免过于复杂。
统一输出检查清单:制定一份输出检查清单,每次输出后逐项检查。清单内容包括:PDF是否清晰、BOM是否完整、Gerber是否对齐、坐标文件是否准确等。检查清单能有效避免遗漏。
统一归档结构:制定统一的归档目录结构,所有人都按这个结构归档。这样即使不同人负责不同项目,归档后的文件结构也是一致的,方便查找和管理。
7.2 输出文件的评审与签核流程
对于重要的项目,输出文件在发给工厂之前,建议经过一次内部评审。评审的内容包括:
- 原理图PDF是否完整、清晰
- BOM是否准确、完整
- Gerber文件是否对齐、无短路
- 坐标文件是否与BOM一致
- 装配图是否标注了极性和方向
评审通过后,由评审人签字确认,然后才能发给工厂。这个流程虽然增加了一点时间,但能有效避免批量报废的风险。
7.3 与工厂的沟通要点与常见问题处理
和工厂沟通时,有几个要点需要注意:
明确输出格式要求:在第一次合作时,先问清楚工厂对Gerber格式、BOM格式、坐标文件格式的具体要求。比如Gerber的精度是“2:4”还是“2:5”,坐标文件的单位是“Metric”还是“Imperial”。
提供完整的输出文件:不要只发Gerber不发BOM,或者只发BOM不发坐标文件。所有输出文件必须一次性发全,避免工厂来回索要。
标注特殊要求:如果有特殊要求,比如“板厚1.6mm”、“阻焊颜色绿色”、“字符颜色白色”等,要在邮件里明确标注。不要假设工厂知道你的要求。
保留沟通记录:所有和工厂的沟通记录(邮件、聊天记录)都要保留,以备后续追溯。特别是关于输出文件版本的沟通,一定要有书面记录。
及时响应工厂反馈:工厂反馈问题时,要及时响应。如果是输出文件的问题,尽快重新输出;如果是设计的问题,尽快修改设计。拖延只会导致项目延期。
7.4 输出流程的持续改进
硬件输出流程不是一成不变的,随着项目经验的积累,流程也需要不断改进。我通常每做完一个项目,都会回顾一下输出流程,看看有没有可以改进的地方。比如:
- 这次输出有没有遇到新的问题?
- 有没有哪个步骤可以简化?
- 有没有哪个检查可以提前?
- 有没有哪个参数需要调整?
把这些改进点记录下来,更新到OutJob模板和检查清单里。下次做项目时,就能避免同样的问题,提高输出效率和质量。
个人体会:硬件输出流程的完善是一个长期积累的过程。我做了十几年硬件,到现在仍然在不断完善自己的输出流程。每一次踩坑,都是一次改进的机会。关键是要有记录和总结的习惯,把每一次的经验教训固化到流程里,这样才能越做越顺。