ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

KiCAD生产文件导出全流程:Gerber、钻孔、坐标与BOM指南

KiCAD生产文件导出全流程:Gerber、钻孔、坐标与BOM指南 1. 生产文件到底是一包什么东西先弄明白再点导出很多人在 KiCAD 里画完板子点一下导出把压缩包丢给板厂就完事了结果过两天收到一封工程确认邮件说钻孔对不上、阻焊层缺失、丝印压焊盘。返工一轮打样周期从五天变成十天。我自己前几年就吃过这个亏一块四层板因为阻焊层没导出硬生生多等了一周。所以这篇东西先解决一个认知问题KiCAD 输出生产文件不是点一个按钮而是一套有交付标准的动作。板厂要的是能直接驱动光绘机、钻机、贴片机的数据集合工厂的 CAM 工程师拿到之后只会做两件事检查、然后上线。你给的东西越标准他确认得越快你给的东西含糊他就得回头找你时间全耗在沟通上。这篇文章面向三类人刚学会 KiCAD 拉线、第一次要下单打样的新手从别的 EDA 工具转过来、不熟悉 KiCAD 导出逻辑的老手以及做小批量生产、需要把导出差事流程化的小团队。我会把每一层文件是干什么的、参数为什么这么填、导出后怎么自己验一遍按我实际的作业顺序讲清楚。看完之后你应该能做到一块常规双层或四层板从 KiCAD 到可下单的 Gerber 包二十分钟内搞定而且不用麻烦板厂来问。1.1 Gerber 层文件的组成与命名逻辑Gerber 是 PCB 行业通用的光绘数据格式本质上是把每一层铜箔、阻焊、丝印、外形轮廓用矢量指令描述出来。KiCAD 在导出时是按层逐个生成独立文件的这一点和某些工具一次性打包不同理解它很重要因为你要自己判断哪些层该导出、哪些不该。一块最普通的双层板最少需要这几层层名KiCAD 内输出文件作用是否必须F.Cu / B.Cu顶层、底层铜箔走线与铺铜必须F.Mask / B.Mask顶层、底层阻焊开窗必须F.Silkscreen / B.Silkscreen顶层、底层丝印字符建议Edge.Cuts板框外形轮廓必须F.Paste / B.Paste钢网开孔贴片用打样可不给量产必须F.Adhesive / B.Adhesive点胶层极少用F.Courtyard / B.Courtyard元件占地范围仅供 DRC 用不导出四层板再补上 In1.Cu、In2.Cu 两层内电层。这里有个新手最容易犯的错把 Courtyard 或者 User.Drawings 之类非制造层一起导出了。这些层里可能有一堆标记线、尺寸标注、备注文字板厂 CAM 工程师看到会一脸问号轻则打电话问你重则当成真实图形做进板子里。我在第一块自制板上就干过这事把 User.Comments 里的手写备注一起导出去了好在当时只是打样五片白白浪费了一百多块钱。关于命名KiCAD 有两个选择一是默认的板名-F_Cu.gbr这种带下划线的长名字二是勾选Use Protel filename extensions之后的.GTL、.GBL、.GTS、.GBS、.GTO、.GBO、.GKO这套老式扩展名。国内绝大多数板厂两种都认但小厂的老 CAM 软件对 Protel 扩展名识别更稳。我的习惯是问一句工厂的工程你们习惯哪种后缀一次问清楚后面所有订单都省事。如果懒得问用 Protel 后缀基本不会出错。1.2 钻孔、坐标、BOM 三件套各自的作用Gerber 层只能描述二维图形它没法告诉钻机这里要钻一个 0.3mm 的孔。所以钻孔数据必须单独出一个 Excellon 格式文件。这个文件里列出了所有过孔、插件孔、安装孔的坐标和直径是板厂钻孔工序唯一的依据。KiCAD 会把 PTH金属化孔也就是电镀过的过孔和插件焊盘和 NPTH非金属化孔比如螺丝安装孔分开你可以选择合成一个文件也可以分开成两个。元件坐标文件Component Placement常叫 POS 或者 Pick and Place是给贴片厂用的里面记录了每个贴片元件的位号、X/Y 坐标、旋转角度、所在的板面。贴片机的编程工程师拿到这个文件加上你自己的物料就能直接跑机。注意这个文件有两个关键陷阱一是坐标原点必须和 Gerber 一致二是旋转角度的定义各家工厂理解不完全一样出问题的话返工成本很高。BOMBill of Materials不是 Gerber 包的一部分但它是采购和贴片的核心文档。KiCAD 的 BOM 是通过原理图导出的不是在 PCB 编辑器里导出这一点很多人第一次会找不到位置。BOM 里至少要包含位号、数量、元件值、封装、以及你自己加的立创编号或者供应商料号字段。三件套凑齐才算一个完整的、可以进入生产的交付包。缺任何一个工厂都得停下来等你。1.3 一份能直接下单的交付包长什么样我把自己的交付习惯列出来你可以直接照抄这个目录结构项目名_日期/ ├── gerber/ │ ├── 板名.GTL / .GBL / .GTS / .GBS / .GTO / .GBO / .GKO │ ├── 板名.TXT 钻孔文件 │ └── 板名.gbrjob Gerber 任务文件可带可不带 ├── pos/ │ └── 板名-top.csv / 板名-bottom.csv ├── bom/ │ └── 板名_BOM.xlsx └── readme.txt 板厚、层数、阻焊颜色、表面处理、是否拼板readme.txt这一步是很多人的盲区。Gerber 里不包含工艺信息板厚 1.0mm 还是 1.6mm、阻焊黑色还是绿色、表面处理是喷锡还是沉金、要不要阻抗、要不要阻抗测试报告这些全靠你文字说明。写清楚这一页纸能省掉至少两封工程确认邮件。我现在的做法是把这些参数直接拼在压缩包文件名上比如控制板_2层_1.6mm_绿油白字_喷锡_20250401.zip工厂一眼就看明白了。2. 动手之前把板子本身收拾干净导出只是最后一秒钟的动作真正决定这批板子能不能一次过的是导出之前那半小时的排查。我的经验是导出前花十分钟检查能省掉三天返工。这一章讲的就是这十分钟该看什么。2.1 DRC 与丝印、焊盘的排雷清单第一件事按一下F8Update PCB from Schematic确保 PCB 和原理图完全同步。网表不同步是板子做出来功能不对的头号原因而且它在 Gerber 里是看不出来的只能靠这一步拦下来。第二件事跑Design Rules Checker检查 设计规则检查器。跑完之后重点看三类报错未连接项Unconnected Items哪怕只有一根线没连也要确认是你故意的比如预留的跳线位。间距冲突Clearance Violation多数是走线离焊盘太近板厂能做到的最小间距是有限的常规工艺 6mil0.15mm比较稳别贪那一点空间。丝印压焊盘Silkscreen overlap这个是警告级别但后果很实际。板厂的常规处理是直接削掉压在焊盘上的丝印于是你的位号就变成半个字插件时找元件要找半天。关于丝印还有两个细节容易被忽略。一是丝印线宽别低于 0.15mm低于这个值丝印工序会有断线或者糊字的风险尤其是小批量打样。二是位号要重排一次原理图里标注 标注原理图避免出现 R?、C? 这种未命名的位号。带着问号导出的 BOM采购看了会崩溃。注意DRC 里的警告不是让你无脑忽略。我的做法是把每一条警告都点开看一眼确认无害之后才放过。真正的坑往往就藏在应该没事吧那句侥幸里。2.2 叠层、板厚与阻抗参数怎么定叠层信息在 KiCAD 里通过Board Setup板设置 Physical Stackup配置。这里的重点不是 KiCAD 能算多准而是你要和板厂说清楚。因为同一块四层板不同板厂的压合结构不一样半固化片型号、铜厚、介质厚度都不同阻抗能不能做到你要的 ±10%取决于工厂的叠层能力。我的实际做法是设计阶段按常规参数走线比如 50 欧姆单端阻抗在 1.6mm 四层板上通常对应 6mil 线宽配 6mil 到目标层的介质厚度。导出之后我在 readme 里注明J1 到 U1 之间需要 50Ω 阻抗控制让板厂按他们的叠层去微调线宽。不要自己算完了就锁死因为工厂一定会按自己的工艺微调你配合他反而更快。板厚方面1.6mm 是默认值也是最便宜的选项。做薄板0.8mm、1.0mm成本会略高而且要看工厂有没有现货板材。特殊板厚下单前问一句能避免下完单被告知做不了的尴尬。2.3 原点设置一个最容易被忽略的前置动作这个动作只有两步但漏掉它贴片厂一定会来找你。第一步在 PCB 编辑器里点放置 钻孔/放置文件原点Drill/Place File Origin把原点放到板子的左下角最好是对齐板框。第二步导 Gerber、导钻孔、导坐标时都选择绝对原点Absolute别用页面原点Page Origin。为什么要这么做因为贴片机的编程逻辑是以原点为基准计算每个元件的相对位置。如果你用页面原点而页面原点在板子外面很远的地方坐标值就会变成一堆大数值有些贴片厂的软件处理超大坐标时会精度丢失贴出来整体偏移。我遇到过最离谱的一次贴片厂反馈说你们的坐标全是正的但我们机器要求相对板框最后只能重新导出。现在我把设置原点定成导出流程的第一步再也不会忘。3. Gerber 与钻孔文件的导出全过程准备工作做完正式开工。KiCAD 的导出入口有两个图形界面的文件 绘图Plot以及命令行的kicad-cli。这一章先讲图形界面因为它是理解参数含义的基础命令行放到后面单独讲。3.1 绘图对话框里每一项参数怎么填打开文件 绘图会弹出一个对话框。里面的参数看着多其实分四组我按我的填法逐条说。输出目录单独建一个gerber子目录别和工程文件混在一起。混在一起的结果就是打包的时候漏层这种错误在电脑上很难发现因为文件名长得都差不多。绘图格式选Gerber。同目录下还有 PostScript、SVG、DXF、PDF、HPGL 等选项那些是做文档和机械加工用的不要拿去给板厂。层选择按 1.1 节的表勾选。这里有个省事的小技巧勾选完常用层之后可以保存成一个自定义的图层组下次直接调用。四层板的勾选顺序建议固定成铜层 → 阻焊层 → 丝印层 → 钢网层 → 外形层从上到下过一遍不容易漏。选项区逐个说绘制边框和标题栏不勾。勾了之后板框外会多出一圈图纸边框和标题栏文字板厂看到会来问你这是不是要铣掉的图形。绘制封装参考号和值建议不勾。这两个是显示在铜层或者丝印层的辅助文字正常生产不需要。如果你的丝印层已经单独放了位号就更不该勾。从丝印中减去阻焊建议勾上。这个选项的作用是自动把压在焊盘上的丝印切掉避免上面说的削字问题属于 KiCAD 的贴心功能。使用 Protel 文件名扩展按 1.1 节的结论决定。使用 X2 格式的 Gerber 属性建议勾。X2 格式会在文件里嵌入网络名、元件位号等属性信息某些板厂的 CAM 软件能直接读取减少人工比对。老厂不认也没关系不影响图形。生成 Gerber 任务文件.gbrjob可选。它描述了层结构属于加分项勾上不亏。钻孔标记选无或者实际尺寸。选小会在 Gerber 里画一个示意小圆虽然可选忽略但有些老 CAM 会误读我一般直接选无。填完之后点绘图KiCAD 会在指定目录里生成一堆文件同时弹出一个图纸信息列表告诉你每层生成成功还是失败。这个列表必须看一眼失败的那层通常是因为该层是空的如果你确认该层本来就该有内容那说明有问题了。3.2 钻孔文件格式、单位与原点钻孔文件在文件 制造输出 钻孔文件里。参数看起来更专业其实关键就四个。格式选Excellon。这是全球通用格式没有第二个选项。单位毫米mm。国内工厂习惯毫米用英寸虽然也能读但多一层换算就多一份误差风险。零点格式选十进制格式Decimal format不要选抑制前导零或者抑制后置零。这是老式数控机床留下来的历史包袱现在的工厂软件都支持十进制选十进制最直观、最不容易出歧义。之前有朋友用了抑制前导零结果工厂读出来的孔位整体偏移了一点点查了两天才发现是格式问题。钻孔原点绝对Absolute和 2.3 节设置的原点保持一致。另外两个勾选项PTH 和 NPTH 分开成两个文件如果板子上有非金属化安装孔建议分开。有些板厂会默认所有孔都做电镀分开之后就不会搞混安装孔被镀上铜会导致螺丝短路或者装不进去。生成钻孔图可选生的是给人看的图纸不是给机器用的数据。自己留档挺有用。点生成钻孔文件之后会多出一个.drl用 Protel 后缀则是.TXT。这个文件绝对不能漏我在 1.2 节说过它是钻孔工序的唯一依据。我见过有人只发了 Gerber 就下单结果板厂默认没有钻孔数据直接按 Gerber 里画的焊盘中心盲钻结果过孔没镀铜整批报废。3.3 导出后的自检用 Gerber 查看器逐层核对导出完不等于结束必须自己先看一遍。KiCAD 自带的Gerber 查看器GerbView就够用也在开始菜单里。打开之后把刚才导出的所有文件一次性全部加载进去然后把层叠显示打开。核对顺序我固定成四步看板框Edge.Cuts 应该是完整闭合的一圈。如果哪里断了板厂铣外形的时候会有毛刺甚至切错这是最严重的问题之一。看铜层与钻孔对齐把钻孔文件叠在铜层上面所有过孔应该正好落在焊盘中心。如果整体偏移说明原点设置不一致如果个别偏移说明那个封装本身有问题。看阻焊层阻焊开窗应该比焊盘略大一圈通常是单边 0.05mm 左右。如果某个焊盘完全没有开窗贴片的时候焊不上去。看丝印位号应该在元件旁边不压焊盘、不超板框、字号别太小。这四步走完五分钟都用不了但它拦下来的问题往往就是整批报废级别的。GerbView 还有个隐藏用法文件 导出到 PCB可以把 Gerber 反向还原成一个 PCB 文件。我自己做过一次实验把别人给的 Gerber 还原出来能验证数据完整性也能看到原本封装的位置关系挺有意思。提示如果工厂提供了在线 DFM 检查工具把 Gerber 包传上去跑一遍也是好办法。等于多一个人帮你看而且不花钱。这一步和本地自查不冲突两个都做最稳妥。4. 贴片坐标、BOM 与拼板工艺的额外处理如果你的板子要上贴片机光有 Gerber 还不够。这一章讲的是从光板到成品板路上另外三个必须整理的东西。4.1 元件坐标文件POS的导出要点入口是文件 制造输出 元件放置文件。参数里最要紧的三项格式选CSV。部分工厂也接受 ASCII 文本但 CSV 拿 Excel 打开就能核对沟通成本最低。单位毫米。理由和钻孔文件一样。使用钻孔/放置文件原点勾上。这就是 2.3 节埋下的伏笔勾了之后坐标基准才和 Gerber、钻孔完全一致。导出的文件里通常有这些列位号、元件值、封装、X 坐标、Y 坐标、旋转角、所在板面。核对的重点是旋转角。不同 EDA 工具对0 度的定义方向不一样KiCAD 的定义和某些工厂的贴片机默认定义可能差 90 度。最稳的办法是先小批量试贴十片确认方向没问题再上量。我现在的习惯是第一次合作的新贴片厂一定先做十片的验证批一百来块钱的事能省掉整批返工。另外要不要分顶层和底层两个文件看工厂要求。有的是分开给有的是给一个文件带层这一列问一句就行。4.2 BOM 导出与字段整理BOM 从原理图编辑器导出不是 PCB 编辑器。KiCAD 默认的 BOM 导出走的是脚本或者内置的 CSV 导出不同大版本菜单位置不太一样一般在工具 生成 BOM或者文件 制造输出 BOM附近出来的 CSV 是每个元件一行需要你自己按值分组。我更推荐的做法是导出原始明细然后在表格软件里自己整理成分组 BOM也就是相同型号的元件合并成一行数量相加位号并列。整理后的样子大概是位号数量值封装备注C1,C2,C5,C84100nF040250V X7RR1,R4210k04021%U11主控QFN-32需确认货期封装这一列必须写清楚尺寸和引脚间距比如0402、SOP-8、QFN-32_5x5mm_P0.5mm。只写贴片电容是没用的采购和工厂都要靠这一列去对应物料。我吃过一次亏封装写了0603但实际是0603 宽体贴片机吸嘴选错了一批板子上的元件全部虚焊返工花了半天。还有一个进阶做法在原理图元件属性里提前加好LCSC 或者其他供应商的料号字段导出 BOM 时一起带出来。这样采购拿到表格直接可以下单不用再一个个查。小团队做量产的时候这个习惯能省下大量来回。4.3 拼板、工艺边与 Mark 点的落地做法板子尺寸小的时候比如 30mm × 20mm单板打样成本高、贴片也不方便通常要拼板。KiCAD 自身没有专门的拼板工具实际有两条路一是直接在 PCB 编辑器里复制粘贴单板排成阵列二是用独立的拼板工具生成。复制粘贴这条路关键在复制的对象是什么。如果你用的是特殊粘贴会连网络一起复制容易出现网络名冲突或者 DRC 报错如果用普通粘贴则只复制图形网表不跟着走。我一般复制之后立刻跑一次 DRC把新增的报错清干净再手动补上线。拼板必须加的两样东西工艺边在板的上下或者左右加一条 5mm 到 8mm 宽的边料用于贴片机的传送轨道夹持。工艺边和板之间用V-CUT或者 **邮票孔mouse bites**连接。V-CUT 适合直的边界邮票孔适合异形或者需要分板应力的场合。注意邮票孔要做成 NPTH 孔直径一般 0.5mm 左右孔间距 0.8mm 到 1.0mm。Mark 点基准点贴片机的视觉定位用。通常在对角位置各放一个直径 1.0mm 的实心铜盘周围留出 2mm 左右的阻焊开窗不能被丝印或者走线干扰。Mark 点必须放在 Copper 层上而且要在阻焊层开窗只画个圆在丝印层是不起作用的。还有一点拼板之后元件坐标文件也要按拼板的阵列导吗多数情况不用贴片厂可以自己按单板坐标加偏移。但拼板的 Gerber 必须是拼好的整版。这两者的关系第一次做容易搞混问一句工厂的工程就清楚了。5. 踩过的坑常见问题与排查速查前面讲流程这一章讲故障。下面这张表是我自己踩过、也被别人问过的问题汇总基本覆盖了九成以上的导出事故。现象最可能的原因排查方法板厂说缺少某一层绘图对话框里没勾选或勾了但该层为空打开 Gerber 查看器逐层加载缺哪层一目了然钻孔和焊盘整体错位Gerber 用绝对原点、钻孔用页面原点检查两处原点设置是否一致重新导出铜箔图形左右镜像误选了镜像输出或者把底层当顶层用在查看器里叠三层对比底层的文字应该是反的才算正常某个焊盘没有阻焊开窗该焊盘的阻焊层被手动改过或者被丝印减去的选项影响单独加载阻焊层放大检查丝印缺字、被削掉一半丝印压在焊盘上板厂自动削除回到 PCB 把位号挪开或用从丝印中减去阻焊提前处理非金属化孔被镀了铜PTH 和 NPTH 没有分开导出重新导出并勾选分开同时在 readme 里注明贴片整体偏移坐标文件原点和 Gerber 不一致统一用钻孔文件原点重新导出坐标贴片元件方向反了旋转角定义差异先试贴十片验证必要时在表格里统一加 90 度板子外形有多余的线条User 层或者图纸边框被一起导出了检查勾选列表取消非制造层5.1 层缺失、镜像与焊盘丢失这三类问题占了我早期事故的绝大部分它们的共同点是在 PCB 编辑器里完全看不出来因为屏幕上显示的是正常的只有导出之后才会暴露。层缺失最好查用 Gerber 查看器把所有文件加载一遍看列表有没有少。但要注意一个迷惑现象如果某一层是空的KiCAD 有些版本会直接不生成文件而不是生成一个空文件。比如你双面板的底层丝印只放了一个位号导出的文件可能是正常的但如果底层丝印一个东西都没有那就可能压根不生成文件。这时候不用担心工厂也不需要有内容。镜像问题相对少见但后果严重。判断方法很简单底层的丝印文字在查看器里看起来是反的镜像的这是正确的因为从底层往上看本来就是反的。如果底层的文字看起来正着那反而说明你导出时把底层镜像翻转了。这个逻辑第一次接触会绕多叠几次就形成肌肉记忆了。焊盘丢失一般不是导出问题而是封装本身的问题。有些第三方封装库里的焊盘层设置不完整比如只有 Paste 层没有 Cu 层。DRC 有时候也不报导出后才露馅。我的做法是尽量用 KiCAD 自带的官方库第三方库导入后一定逐个检查焊盘的层设置。5.2 钻孔与焊盘错位、槽孔识别问题钻孔错位的原因前面说过九成是原点不一致。剩下的一成里有一半是**槽孔Slot**的问题。槽孔就是长条形孔比如 USB 接口两侧的固定槽、某些连接器的定位槽。KiCAD 支持在焊盘属性里设置椭圆形或者自定义形状来生成槽孔。但不同版本的 Excellon 格式对槽孔的编码方式不一样有些板厂的老软件会把槽孔识别成两个普通圆孔甚至直接忽略。我的处理办法有两个一是导出钻孔文件时用Excellon 的 G85 槽孔格式如果版本提供这个选项兼容性更好二是在 readme 里明确写板上共有 X 个槽孔尺寸分别是……让工厂的 CAM 工程师人工确认一遍。加一句话的事能避免机械加工阶段出错。还有一种情况是孔壁太薄。比如一个 0.3mm 的孔周围焊盘只有 0.1mm 的环宽工厂的钻孔公差就会把焊盘钻掉。经验值焊盘外径至少要比孔径大 0.25mm也就是单边 0.125mm 环宽低于这个值就要问工厂的工艺能力了。5.3 与板厂、贴片厂沟通的文件命名与话术技术问题之外还有一类软问题怎么和工厂说清楚你要什么。我的经验是文件命名比正文说明更有效因为工程人员是先看文件名再看内容的。命名规范我固定成这样项目名_层数_板厚_阻焊颜色_字符颜色_表面处理_数量.zip。举例电源板_4层_1.6mm_黑油白字_沉金_10片.zip。一个文件名把九个关键参数说全工厂拆包之前就知道该上哪条线。如果板子有特殊要求我在邮件正文里按这个顺序写先是板子基本信息然后是特殊工艺阻抗、盲埋孔、特殊板材最后是交期要求。一次把话说全不要挤牙膏式地一封封补。工厂的工程每天处理几十个订单来回三次他就把你排到最后了。贴片厂的沟通重点不一样先确认坐标文件的原点和角度定义再确认 BOM 里的封装是否都能识别最后确认元件的来料方式是你们提供还是工厂代购。元件代购要提前确认货期我遇到过一次 U1 的主控芯片货期八周板子做完了在那儿等芯片白白压了一个月的库存。6. 把导出流程自动化命令行与一键打包手工点一遍流程熟练之后十几分钟但如果是经常改版、频繁打样的项目一天导五六次也够烦的。KiCAD 从 7.0 开始提供了比较完整的命令行工具kicad-cli可以把整个导出流程写成脚本。6.1 kicad-cli 常用命令速查下面这几条是我日常用得最多的参数名在个别版本之间可能有出入用--help确认一遍再跑这是个好习惯。# 导出 Gerber指定层 kicad-cli pcb export gerbers \ --output ./output/gerber/ \ --layers F.Cu,B.Cu,F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,Edge.Cuts \ --subtract-soldermask \ ./board.kicad_pcb # 导出钻孔文件 kicad-cli pcb export drill \ --output ./output/gerber/ \ --format excellon \ --drill-origin absolute \ --units mm \ --generate-map \ ./board.kicad_pcb # 导出元件坐标 kicad-cli pcb export pos \ --output ./output/pos/ \ --format csv \ --units mm \ --use-drill-file-origin \ --side both \ ./board.kicad_pcb # 从原理图导出 BOM kicad-cli sch export bom \ --output ./output/bom/bom.csv \ --fields Reference,Value,Footprint,Description \ ./board.kicad_sch # 顺手出一个 3D 模型方便发给结构同事 kicad-cli pcb export step \ --output ./output/3d/ \ --subst-models \ ./board.kicad_pcb跑完这五条输出目录里就是一套完整的交付素材。相比手工点命令行的好处是参数固化了不会出现这次忘了勾某个选项的问题。而且它天然适合放进版本管理改了什么一眼能看到。6.2 一键生成交付包的脚本思路把上面的命令包进一个 Shell 脚本再配上自动打包就是一套完整的自动化流程。思路是这样的#!/usr/bin/env bash set -e PROJboard DATE$(date %Y%m%d) OUT./release/${PROJ}_${DATE} mkdir -p $OUT/gerber $OUT/pos $OUT/bom $OUT/3d kicad-cli pcb export gerbers --output $OUT/gerber/ \ --layers F.Cu,B.Cu,F.Silkscreen,B.Silkscreen,F.Mask,B.Mask,Edge.Cuts \ --subtract-soldermask ${PROJ}.kicad_pcb kicad-cli pcb export drill --output $OUT/gerber/ \ --format excellon --drill-origin absolute --units mm ${PROJ}.kicad_pcb kicad-cli pcb export pos --output $OUT/pos/ \ --format csv --units mm --use-drill-file-origin ${PROJ}.kicad_pcb kicad-cli sch export bom --output $OUT/bom/bom.csv \ --fields Reference,Value,Footprint ${PROJ}.kicad_sch cd ./release zip -r ${PROJ}_${DATE}.zip ${PROJ}_${DATE} echo 打包完成release/${PROJ}_${DATE}.zipset -e是关键任何一条命令失败就立刻停避免生成一个看起来完整其实缺一半的包。这个坑我踩过某次钻孔导出失败了但脚本继续往后跑最后打了个包发给工厂第二天才被发现。关于脚本还有两点实战建议。一是把日期写进目录名这样每次生成的包不会互相覆盖出问题能回溯。二是在打包前加一步自动核对比如检查gerber目录里文件数量是否等于预期层数少了就报警退出。三行代码能拦住大部分低级错误。如果你用 Git 管理工程还可以把这个脚本挂到持续集成里每次提交自动生成一包生产文件作为产物。新手可能觉得没必要但当你一周改三版、每版都要打样的时候这种自动化能明显降低出错概率。社区里最近也有一些把 KiCAD 操作接入 AI 助手工作流的玩法比如通过 MCP 这类协议让助手直接调用导出命令本质上还是调用同一套命令行只是入口更顺手了。有兴趣可以了解一下但底层逻辑还是这一章讲的东西。6.3 版本差异与升级时要注意的地方KiCAD 这两年版本迭代比较快社区里讨论新版本的消息也多。升级的时候有三件事要注意第一菜单名称和位置会变。绘图对话框在不同大版本里的选项组织有明显变化比如从丝印中减去阻焊这类选项可能挪到别的位置。照着一篇老教程找不到按钮的时候先检查版本号别怀疑人生。第二导出参数的默认值可能变。有些版本默认打开 X2 格式有些默认关闭钻孔的零点格式默认值也调整过。所以每次升级之后一定拿一块已经量产过的板子重新导一次和老包对比。文件数、层名、大小都对得上才说明升级没影响流程。第三文件格式的向后兼容是单向的。新版本存的工程文件旧版本通常打不开。所以团队协作时大家的版本最好统一或者至少确认一下最低版本。我见过因为版本不一致同事打开工程后封装全丢的情况虽然不至于丢数据但也够折腾一阵子。我的习惯是大版本升级前先备份整个工程目录然后在虚拟机里装新版本跑一遍完整导出流程确认无误之后再换到主力机上。看着麻烦但比升级当天发现流程跑不通要轻松得多。最后分享一个我一直在用的小技巧在工程目录里放一个release文件夹并且把它加进.gitignore。每次导出都往里面丢定期清理旧的。这样工程目录本身保持干净历史交付包又随时能翻出来对照。上次一块板子做了三次改版靠这个文件夹里的三份旧包五分钟就定位出是哪次改动引入了问题比翻聊天记录找压缩包快多了。
返回列表