做硬件这块的兄弟应该都有同感画完PCB那一刻觉得整件事已经完成了80%结果准备要打样时才发现把设计文件变成工厂能认的生产文件才是真正容易翻车的环节。我最近用KiCad给一个小项目改板画好之后打算去嘉立创下单客户那边催得急逼着我研究了一整套从KiCad生成嘉立创生产文件的流程。这篇东西就是把我那几天的完整经历记下来从手动导出Gerber、钻孔、坐标和BOM再讲到安装插件实现真正的一键打包最后落到嘉立创下单时那些容易被忽略的细节。如果你正好在用KiCad又想省心地把板子交出去打样这篇应该能帮你少走不少弯路。1. 为什么非要折腾生产文件1.1 生产文件到底是个什么东西很多刚接触PCB打样的人会以为把.kicad_pcb文件直接发给工厂就完事了其实绝大多数板厂根本不认源工程文件。工厂需要的是一组光绘文件也就是所谓的Gerber数据它记录了每一层铜箔、丝印、阻焊、板框的图形相当于把PCB拆成一层层的“印刷底片”。光有图形还不够板子上那些过孔、安装孔还需要钻孔文件否则机器不知道在哪个坐标打孔、孔径多大。如果板子要做SMT贴片那就还得有坐标文件Footprint Position用来告诉贴片机每个器件放在哪个位置、什么角度。最后还有BOM也就是物料清单要列清楚每个位号用什么器件、什么封装、采购编号是多少。这几样文件凑齐了工厂才能完整还原你的设计。可以简单理解成Gerber是图钻孔文件是洞眼坐标文件是坐标BOM是购物清单缺一样都会卡在某个环节。1.2 嘉立创到底认哪几种格式嘉立创对KiCad的支持这几年做得还不错不像有些板厂只认AD导出的老格式KiCad标准的RS-274X格式Gerber可以直接上传。更省事的是嘉立创的订单页面支持直接上传zip压缩包你可以把所有制造文件打包成一个压缩文件一次性拖进去系统会自动解析。这也为后面用插件一键生成提供了前提。需要注意KiCad导出的Gerber默认后缀可能是.gbr、.gbl、.gtl、.gts等这些后缀嘉立创基本都能识别。钻孔文件一般是Excellon格式后缀通常是.drl同样支持。坐标文件和BOM文件一般以CSV为主嘉立创的SMT下单系统也能识别常见的CSV格式只是对列名有一定要求。说到底只要格式规范、命名清晰上传识别基本没什么障碍真正的坑多出在层没选全、原点不对、板框没闭合这些细节上。2. 手动生成生产文件的标准流程以KiCad 7/8为例2.1 出Gerber前的准备工作我在KiCad里折腾这套流程时用的是KiCad 7后来在8上也验证过菜单路径基本一致。动手导出之前有几件准备工作一定要做否则后面导出文件一堆问题。第一把板框画好。板框是板子的物理边界必须放在Edge.Cuts层并且线条要闭合不能有开口不能有重复线段。嘉立创上很多在线预览报错归根到底都是板框问题。我习惯用图形矩形工具从板框一角拖到另一角然后用坐标精确控制尺寸这样导出的板框既闭合又干净。第二运行一遍DRC。在PCB编辑器里按B键或者通过菜单检查-设计规则检查把所有安全间距、线宽、过孔尺寸的报错都过一遍。DRC能拦截大部分低级错误尤其是在敷铜之后容易出现的小间距问题不查清楚就出去打样回来后要么板子废了要么性能不达标。第三设置原点。我建议把原点设在板框左下角用坐标原点工具或者Placement面板里的原点设置功能这样坐标文件输出的定位点更符合贴片机的习惯。很多人默认原点在图纸中心导出的坐标文件会出现一大半负数贴片机处理起来容易糊涂。第四确认单位。KiCad默认单位是毫米最好保持毫米因为嘉立创所有参数设置都以毫米为标准。不要一会儿用毫米一会儿用英寸否则层板、丝印、间距全乱套。2.2 一层一层搞定Gerber导出准备完成后打开PCB编辑器点击菜单文件 - 制造输出 - Gerber文件这时候会弹出Gerber导出对话框。里面第一个要选的是输出目录我习惯在每个项目的fab文件夹下生成方便管理和压缩。接着看层选择。KiCad 7之后默认会预选一个常见制造层组合但我从来不完全信任默认项而是手动确认以下几个层一定在导出列表里F.Cu顶层铜B.Cu底层铜F.SilkS顶层丝印B.SilkS底层丝印F.Mask顶层阻焊开窗B.Mask底层阻焊开窗Edge.Cuts板框如果板子有内电层比如四层板的In1.Cu、In2.Cu也要一并选上。还有一点容易漏掉的是所有层下的Margin、Cmts.User说明注释层这些不是必须的我一般会取消选择避免多余图层干扰工厂检查。在右侧格式区域选择Gerber格式为RS-274X单位选毫米。比较关键的是坐标原点选项我习惯选择“绝对原点”不要选“相对于最近边缘”因为嘉立创在线预览里坐标对齐会简单很多。还有一个很多人不知道的细节在Gerber对话框左下角KiCad 8开始多了“包含钻孔文件”的选项。如果勾选钻孔文件会跟着Gerber一起生成省得你再单独导一次。不过我习惯分开生成因为有时候需要单独检查钻孔数据所以一般会关闭这个选项下面专门讲钻孔文件。全部设置好之后点生成然后点查看输出文件KiCad会自动打开Gerber查看器让你检查每一层内容。这一步非常关键等于把板子翻成底片看一遍能直观发现很多设计阶段看不到的问题比如丝印跑到板边外、阻焊开窗大小不对等。2.3 生成Excellon钻孔文件钻孔文件单独导也不复杂。菜单路径是文件 - 制造输出 - 钻孔文件或者在Gerber导出对话框里直接勾选钻孔一起处理。我常用的是单独导出因为钻孔文件有时候会因为单位、原点和精度设置不对导致打出来的孔整体偏移。在弹出的对话框里格式选Excellon单位选毫米坐标原点同样选“绝对原点”。右侧的钻孔层保持默认一般会列出PTH金属化孔和NPTH非金属化孔两个层工厂会根据这些信息判断哪些孔需要沉铜哪些不需要。这里要说一下钻孔文件精度KiCad默认可能是3位小数或者4位小数如果板子孔径很小建议把位数调高一点保证打孔精度。我习惯设置为4位小数这样1mil级别的偏移都能体现出来。导出后文件夹里会出现.drl后缀的文件同时还有一个-drl_map.gbr文件那是钻孔映射图用来检查和标注孔位工厂一般会参考这个文件做钻孔确认。2.4 坐标文件和BOM怎么生成最省心坐标文件在PCB编辑器里通过文件 - 制造输出 - 脚位位置文件打开。这里的参数同样注意三点格式选CSV单位选毫米坐标原点选绝对原点。源选项可以选择“单个板”或“所有组件”。如果你只是普通单板打样选“单独板”就行如果是拼板建议选“所有组件”或者统一用其中一个原点否则坐标偏移会很头疼。BOM生成麻烦一点因为在KiCad里默认的BOM脚本不一定带LCSC编号。我的做法是在原理图编辑器里打开文件 - 生成制造输出 - BOM然后选一个支持CSV输出的BOM生成插件。常见的bom_csv_grouped_by_value脚本能按值分组但列名不一定满足嘉立创SMT的要求。更推荐的方案是手动维护一个包含以下列关联的CSVDesignator, Footprint, Comment, LCSC Part Number其中Designator是位号Footprint是封装名Comment是器件值LCSC Part Number是立创商城的物料编号。如果工程里每个元件属性都填了LCSC编号那这个CSV就可以直接用于嘉立创SMT下单。没有编号的器件只能等下单时在系统里手动添加非常费时间所以如果确定要贴片最好在设计阶段就把编号写好。2.5 用Gerber Viewer检查有没有低级错误文件全部导出之后最忌讳顺手就打压缩包上传我先用KiCad自带的Gerber查看器把所有文件拖进去检查一轮。查看器打开后能看到每一层叠在一起在右侧图层面板里可以把不同层隐藏、着色、逐个检查。重点看几个地方板框是否完整闭合丝印是否超出板边阻焊开窗是否覆盖了需要裸露的焊盘孔位是否有偏移。如果不想装本地查看器嘉立创的订单页也有在线Gerber预览功能上传后系统会自动渲染出PCB预览图。我见过很多人在这一步发现前功尽弃的情况比如明明用KiCad设计时看着挺好一上传预览却看到某条走线飞出板外其实就是导出时图层没选全或者原点错乱。因此无论用哪种预览方式这一步不能省。3. 用插件实现真正意义上的“一键生成”3.1 插件选型为什么选 kicad-jlcpcb-tools手动流程走通之后如果只是偶尔打一次样倒也够用。但如果你是那种一个月要打几次板、还要顺手把SMT做了的人手动生成来回要折腾好几轮效率太低。这时候就该用插件了。我试过几个KiCad辅助生成嘉立创生产文件的方案用下来最顺手的是kicad-jlcpcb-tools一个老外写的开源插件作者叫BouniGitHub上一直保持更新。它做的事情很简单你在KiCad里点一个按钮它自动帮你导出Gerber、钻孔文件、坐标文件、BOM然后打包成一个标准zip还会自动清理多余文件整个过程一气呵成。更贴心的是它生成的压缩包是嘉立创可以直接上传识别的结构根本不用再手动整理目录。当然不是只有这一款插件比如还有Fabrication Toolkit这类通用制造工具箱也能导出Gerber但针对性没有那么强。kicad-jlcpcb-tools专门为嘉立创做了适配比如默认生成BOM.csv、positions.csv这种文件名列名也尽量贴近立创SMT模板肉眼可见省心。3.2 安装和配置的实操步骤先讲安装。KiCad从6.0开始内置了插件和内容管理器PCM在PCB编辑器的菜单栏上找到工具 - 插件和内容管理器打开后在搜索框里输入jlcpcb就能找到kicad-jlcpcb-tools点击安装。如果搜索不到也可以从GitHub的Release页面下载zip包把它解压到KiCad的用户插件目录重启KiCad就能识别。GitHub下载这个方法在网速慢的时候可能比较痛苦但一般zip包才几MB等一会儿就好。装完插件后在PCB编辑器里打开工具 - 外部插件或者直接在工具栏点插件图标会看到JLCPCB Tools。第一次打开时会让你填一些基本设置Project identifier给这个工程起个名一般用项目名即可Number of board layers选择板子层数自动匹配Board thickness板厚常用1.6mmCopper weight铜厚常用1ozSurface finish表面处理选HASL喷锡或ENIG沉金等PCB color板子颜色5个颜色选一个JLCPCB API Key可以留空API Key是用来在插件里直接查立创商城库存和价格的如果不需要这个功能完全可以不填也不会影响生产文件生成。填好配置后点一下Preview插件会先在当前界面显示即将生成的内容预览。如果没问题点Generate几秒钟后工程目录下会多出一个jlcpcb文件夹里面是一个gerber.zip。3.3 一次完整的“点击生成”现场记录我在KiCad 8里实际操作了一轮流程大概是这样的打开PCB文件确认所有元件都已放置完成DRC无报错。点击工具栏上的JLCPCB Tools图标。在设置里选好2层板、1.6mm、1oz、HASL板色选了绿色。点击Generate。等几秒插件提示生成完成打开工程目录下的jlcpcb文件夹里面有gerber.zip、BOM.csv、positions.csv三个核心文件。整个流程确实算得上“一键”比手动导出至少省了三分之二的时间。用命令查看一下压缩包内容会是这个样子unzip -l jlcpcb/gerber.zip输出大致包含.gbr各铜层、丝印、阻焊层文件.drl钻孔文件.gbrjInfo文件工厂系统判断格式时会参考.gm1钻孔映射图插件还会自动把Gerber文件里一些多余的、不属于制造必需的文件剔除掉所以压缩包很干净。这里我要提醒一句即便插件生成很顺我也不会直接跳过预览。我会先把zip里的文件解压出来看一眼再用嘉立创在线预览或者KiCad Gerber查看器核对一遍确认板框、孔位、丝印都没问题再上传。一键生成省的是时间省不了你对自己设计的责任心。3.4 插件输出与嘉立创下单字段的对应关系很多第一次用插件的人会犯迷糊上传Gerber时到底传什么文件上传BOM时又传哪个。我列个表方便对照插件生成文件嘉立创下单页面用途说明gerber.zipPCB打样上传区包含Gerber与钻孔整个压缩包直接拖进上传框BOM.csvSMT贴片“上传BOM”列名要含LCSC编号、位号、封装、参数positions.csvSMT贴片“上传坐标文件”列名要含Designator、Mid X、Mid Y、Rotation、Layer如果你只打PCB不贴片那么只需要上传gerber.zipBOM.csv和positions.csv可以不传。但如果你走的是“PCB元器件SMT”一体化订单三个文件都得用上。上传时嘉立创系统会自动解析解析成功后会跳转到器件匹配页面那时再检查一下位号对应关系是否合理。4. 嘉立创下单时最容易翻车的环节4.1 上传Gerber后的一页纸核对前面文件生成得再好到了下单页面漏选一个参数也会前功尽弃。上传gerber.zip后嘉立创系统会先解析出板子信息并自动带出层数、板尺寸、板厚等参数。这时候我的习惯是逐项对照层数软件解析出来是不是2层或4层和设计一致吗。尺寸长宽是否正确单位是不是毫米。板厚选1.6mm还是0.8mm解析结果要和你预期一致。铜厚1oz还是2oz能不能满足载流需求。板色绿色、蓝色、黑色、白色、红色确实没错。之后还要在“工艺要求”栏里确认表面处理选喷锡还是沉金。我一般默认喷锡成本低如果板子有金手指或者引脚小间距要求才会考虑沉金。还要注意区分“过孔盖油”选项。默认情况下过孔一般做成盖油也就是过孔焊盘裸露的铜会被绿油盖住避免和周围焊盘短路。如果你有的过孔需要做测试点或者散热记得在工艺要求里备注开窗。4.2 免费打样与加急的边界嘉立创的免费打样政策可以说是很多创客和学生的福音但它的限制条件经常变。我每次下单前都会重新看一遍官网上的规则具体以官网为准。大体上每个月有一定数量的免费名额限制在指定的尺寸范围内比如常见的是长宽不超过某个值板子层数不超过2层超出范围就要收正常打样费。免单券一般只免板材费运费通常还是要自己承担的所以下单时选物流要看清楚别被默认的快递费用吓一跳。如果你需要加急通常要选付费加急通道。这里有个小经验打样不急的话周一上传和周五上传最终到手时间可能差好几天所以尽量避开周五下午下单否则你的板子会在快递站过个周末。4.3 SMT贴片场景下BOM和坐标要怎么配合如果你是直接走嘉立创的SMT贴片服务BOM和坐标文件的质量直接决定下单过程顺不顺利。插件生成的BOM.csv通常按位号分组但器件匹配时系统会根据LCSC Part Number去寻找对应的物料。如果在你的工程里有些器件没有填LCSC编号这些位号就会在匹配阶段标红需要手动一个一个在立创商城里搜非常痛苦。坐标文件也同样不能掉以轻心。插件生成的positions.csv通常默认是绝对坐标是否带角度要看你在KiCad里的设定。贴片机安装器件时会把元件中心对齐到焊盘中心所以坐标文件里每一行的Mid X、Mid Y必须是该封装中心点在PCB上的绝对坐标而不是相对零点的坐标。旋转角度Rotation也要一致否则有极性的器件比如电容、二极管贴出来方向全反。这也是为什么我始终强调原点要统一设在指定位置不要随便移动。4.4 工艺边、拼版与V割的坑小尺寸板子如果直接拿去下单工厂为了提高效率往往会建议你做拼版。拼版可以通过在KiCad里画工艺边或者在嘉立创下单系统里使用官方拼版工具。我的建议是如果只是验证功能单板打样完全不用拼版最多让工厂做V割分割便宜又省事。但如果你要批量生产最好在KiCad里就把拼版和工艺边画好包括邮票孔位置、V割线、定位孔这些都要在板框层体现。这里面最容易犯的错是板框画得太随意比如在Edge.Cuts层用多段线首尾相连画出一个矩形结果有一小段线不在同一高度导致板框在工厂解析时变成多边形可能引起额外收费或加工错误。我的做法是在Edge.Cuts层里直接用固定尺寸的图形工具画矩形或圆形并且每次导出前检查一下板框的线是否闭合。画完整板框后再在板内放几个定位孔用固定直径的过孔焊盘这对于后续SMT对位也很有帮助。5. 我的实操心得与高频问题速查5.1 插件生成后还是报格式错误插件不是万能的我也遇到过几次插件的“一键生成”也搞不定的情况。最常见的一个问题是文件路径里有中文或者特殊字符。KiCad和插件在解析中文路径时偶尔会崩或者在生成的压缩包里文件名乱码导致嘉立创系统读取失败。我的处理方式很简单工程文件夹一律用英文整个路径里不要有空格和中文比如D:\Projects\my_board\不要用D:\项目\我的板子\。第二个常见问题是BOM列名不标准。嘉立创SMT系统对BOM要求很严格列名必须是它能识别的固定写法比如Designator、Footprint、Comment、LCSC之类的不能随意替换成位号、封装、物料编号。插件默认生成的是标准英文列名如果你中途手动改过模板那就要仔细检查。还有一个问题是坐标文件中Layer列的值一般顶层是Top底层是Bottom如果你软件里用的是中文界面插件可能导出为顶层嘉立创解析时就会报错需要用文本编辑器替换一下。5.2 免费打样的隐形限制免费打样虽然在价格上很友好但隐藏限制却不少。除了尺寸限制另一条常见的限制是板子外形必须是简单矩形异形板或者带大量拼版的板子通常不享受免费政策。还有一点免费打样的板子一般默认就是绿色板如果你选其他颜色即使板子尺寸满足免费要求也可能要额外收工艺费。铜厚也是一个容易被忽略的地方。标准免费打样一般是1oz铜厚如果你的设计里有大电流走线需要2oz铜厚那就要补差价。所以我在下单前会先看一遍“工艺参数”里的价格变化哪里有红色提示哪里就是加钱项做到心里有数。5.3 常见问题速查表我在处理KiCad转嘉立创生产文件的过程中整理了一些出现频率最高的问题直接做成表格方便大家对照排查现象可能原因处理方式在线预览板框不闭合或变形Edge.Cuts层有开口、重叠、多余线段在KiCad里删除多余线重新绘制完整闭合板框Gerber上传后层数不对导出时漏选铜层或选错层检查Gerber导出设置里的层列表重新导出钻孔文件打不开或偏移钻孔文件单位、原点与Gerber不一致统一设为毫米、绝对原点重新导出丝印层一片乱码字体模板错误或丝印线宽过小用默认字体丝印线宽不低于0.2mm坐标文件里角度全为0封装旋转角度未覆盖到坐标输出检查KiCad基准角度设置重新导出坐标BOM匹配不上物料缺少LCSC编号或列名不对在原理图中补充LCSC属性检查BOM列名插件一键生成后提示缺文件版本不兼容或路径有中文更新插件到最新版改用英文路径这张表基本覆盖了我日常的绝大多数问题如果你在操作中碰到不在表里的报错建议优先在KiCad官方论坛或者GitHub仓库的issue区搜一下关键词大部分坑别人都已经踩过。5.4 一个提升效率的小技巧最后分享一个我自己的习惯对经常用KiCad出板的人应该很有用我会把“工程模板”设计好里面预置好标准板框、原点标注、多彩层颜色、样式规则还有一份常用的LCSC封装库和符号库。新项目创建时直接从这个模板开始元器件填写属性时一步到位带上LCSC编号这样后面无论手动导出还是插件生成整个流程都异常顺畅。如果团队里有人经常用KiCad也可以把这份生产文件核对清单和常见报错表放进项目文档里新人来了一次就能上手不用反复踩坑。我在实际用插件出单几次之后最深的体会就是KiCad配合嘉立创并没有想象中那么难关键是把前面的基础工作做扎实后面的“一键”才有意义。毕竟工具只是帮你把格式转换和打包做了电路设计本身有没有问题还得靠自己在预览和核对环节里盯住。