朋友半夜发来消息说板子回来发现顶层丝印一个字都没有问是不是板厂做漏了。我让他把发出去的光绘包解压一层层看——SILKTOP 那个文件只有 3KB打开后除了板框和几个定位孔干干净净。问题不在板厂在他导出时 Film 里只勾了 Board Geometry/Silkscreen_TopRef Des 和 Package Geometry 下的丝印全没选。这种亏几乎每个画板的人都吃过一次。Gerber 导出这件事看着是点几下鼠标的收尾工作实际上是整个 PCB 项目里容错率最低的环节。原理图错了可以改布局丑了可以重排但光绘文件和钻孔文件一旦发出去、板子开出来错了就是几千块和两周交期。这篇内容我按Cadence Allegro的实际操作路径把 Artwork 配置、层内容划分、钻孔文件生成、导出后自检这几块拆开讲清楚顺带把我这些年踩过的坑整理成速查表。适合已经能画完板子、但每次出图心里没底的朋友也适合带新人时当检查清单用。1. 先想清楚交付物一套生产文件到底包含什么1.1 Gerber 在产业链里的真实角色很多人把 Gerber 理解成把设计图导成图片这个理解偏差会直接导致出图思路走偏。Gerber 不是给人看的图它是给光绘机、激光直接成像设备读的矢量指令集核心只有三种动作移动到某点D02、画一条线到某点D01、在某点闪一个光圈D03。板厂的 CAM 工程师拿到这套指令先做层间对位再做拼板、补偿、加泪滴最后转成曝光用的文件。所以你导出的每一个坐标都直接对应成品上的一块铜、一层油墨、一扇开窗。理解了这一点很多操作上的讲究就说得通了。比如焊盘为什么必须用 flashD03而不是用线段描出来因为 flash 是一个标准光圈板厂可以直接按光圈尺寸做补偿用线段描出来的焊盘在 CAM 里会被识别成一堆碎线补偿算法一跑就变形。再比如精度为什么不能随便选因为坐标是整数存储的精度不够就会产生量化误差0.1mm 的线可能被量化成 0.11mm 或者 0.09mm。一套完整的光绘包通常包含这些文件各层线路顶层、底层、全部内层、顶层与底层阻焊、顶层与底层钢网、顶层与底层丝印、板框外形层、钻孔文件、钻孔表、有时还有装配图和阻抗层。层数越多漏层的风险越高所以下面会讲怎么用命名规范和自检流程把风险压下去。1.2 为什么优先选 RS-274X 而不是老格式在 Artwork 的 Film Options 里Format 下拉框会列出一堆格式Gerber RS274X、Gerber 6x00、Gerber 4x00 等等。这里没有悬念选 RS-274X。RS-274X 也叫扩展 Gerber最大的特点是光圈Aperture定义直接内嵌在文件头里用%ADD10C,0.2500*%这样的语句声明板厂拿到单个文件就能完整解析。老式的 RS-274D 不带光圈定义必须额外配一个光圈表文件aperture wheel一旦光圈表和光绘文件对不上整层就废了。我见过有人用 4x00 格式出图压缩包里忘了带光圈表板厂那边直接卡了一天。RS-274X 的文件头还有几个关键信息值得你会看%FSLAX24Y24*%表示格式Format SpecificationL 是 Leading zero omitted前导零省略A 是 Absolute绝对坐标X24Y24 表示 X 和 Y 都是 2 位整数、4 位小数。%MOIN*%或%MOMM*%表示单位是英寸还是毫米。这两个头信息如果和你实际想要的不一致后面的坐标全是错的所以导出后打开文件头扫一眼是我每次必做的动作。1.3 层划分的思路从工序视角而不是设计视角新手出图最常见的错误是按 Allegro 里看到的颜色层去对应光绘层。Allegro 里一个网络可能同时出现在 Etch、Pin、Via 三个 subclass 里但板厂关心的是这一层要不要蚀刻铜。正确的思路是换成工序视角蚀刻工序需要线路层阻焊工序需要开窗层丝印工序需要油墨层钻孔工序需要钻孔文件成型工序需要外形层。同一个设计对象在不同工序里可能要出现在不同文件里也可能一个都不出现。比如一个过孔线路层要它的焊盘阻焊层要不要它取决于是否盖油钻孔文件要它的孔径丝印层通常不要它。把这张对象—工序的映射关系想清楚Artwork 里每个 Film 该勾哪些 subclass 就是水到渠成的事而不是靠记忆或者抄别人的模板。下面第 3 节会给出一张完整的对照表。2. Artwork 配置光绘文件的骨架怎么搭2.1 进 Artwork 之前的准备工作打开Manufacture Artwork之前有三件事必须先做完否则后面全是返工。第一件是确认叠层。走Setup Cross-section把层数、层序、介质厚度、铜厚核对一遍。内层数量直接决定你要建几个内层 Film层序错了会导致内层镜像或者顺序颠倒。特别是刚改过层数的项目很容易出现 Cross-section 里是 6 层、Artwork 里还是 4 层的 Film 配置。第二件是清理 subclass。走Display Color/Visibility把不用的临时层、测试层关掉顺便检查有没有把图形画在了不该画的地方比如把丝印文字画到了 Etch 层或者把板框画到了 Package Geometry。这类错误在 Artwork 里看不出来因为 Film 是按 subclass 抓取的画错层就等于那个图形彻底消失在光绘里。第三件是铺铜重新填充。走Shape Global Dynamic Params确认参数然后Shape Fill All或者用Tools Database Check之后重新 fill。动态铜皮在 Allegro 里是显示时计算的如果不做一次全局填充导出的光绘可能是旧的和未更新的状态出现铜皮没有连到焊盘、孤岛没被删掉的问题。这一步花不了两分钟但能省掉一次报废。提示Tools Database Check建议在出图前跑一次勾选所有检查项。数据库里如果有非法图形、重复对象、越界坐标光绘生成时会报错或者静默丢图形先修干净比事后排查省事得多。2.2 Film 的创建与命名规范在 Artwork Control Form 里右键 Film 区域选 Add输入 Film 名称。命名这件事看起来无所谓实际上是团队协作和板厂沟通的第一道关口。我一般用下面这套命名Film 名称对应内容板厂常见识别名TOP顶层线路GTL / L1BOTTOM底层线路GBL / L2INNER1 ~ INNERn各内层G1 ~ GnSOLDERTOP顶层阻焊GTSSOLDERBOT底层阻焊GBSPASTTOP顶层钢网GTPPASTBOT底层钢网GBPSILKTOP顶层丝印GTOSILKBOT底层丝印GBOOUTLINE板框外形GKO / OUTLINEDRILL钻孔图可选用于核对—命名要满足两个要求一是自己能一眼看懂二是板厂 CAM 工程师能不追问就识别。全大写、不带空格、不带中文是最稳的。我见过用 顶层线路最终版2修改 这种名字的打包发出去板厂直接回邮件问哪个是最终版。创建 Film 的顺序建议按工序走先建线路层TOP、BOTTOM、内层再建阻焊、钢网然后丝印最后板框。这样建的过程中就能顺带检查层数是否齐不会出现建到一半忘了内层的情况。2.3 Film Options 里的参数一个都别蒙每个 Film 建好后右侧的 Film Options 里有一堆参数。这些参数是整个出图流程里最容易被默认值坑到的地方逐项说。Format选 Gerber RS274X理由前面讲过。Device这是输出设备类型一般填 Gerber RS274X和 Format 对应。有些版本里 Device 是必填的随便填个有意义的字符串也行它主要影响文件头的注释。Output file这是输出路径和文件名。Allegro 支持变量%f代表 Film 名%x代表扩展名。我一般填./gerber/%f.%x这样所有光绘文件自动落到工程目录下的 gerber 文件夹里文件名就是 Film 名不用一个个改。强烈建议用变量而不是手写文件名手写文件名在复制 Film 的时候会全部指向同一个文件后生成的覆盖先生成的最后你只剩一层。Units英制或公制跟着设计单位走。这里有个坑——设计用英制、出图用公制或者反过来坐标会整体缩放。虽然 RS-274X 文件头有%MOIN*%声明但一旦有工具不认这个头就会出大问题。我的习惯是设计用什么单位出图就用什么单位从头到尾不换。Format精度整数位和小数位。英制常用 2:4也就是 0.0001 英寸的分辨率换算过来是 2.54 微米。公制常用 4:4分辨率 0.0001mm也就是 0.1 微米。有人会问 2:4 够不够算一下就知道了主流板厂的蚀刻精度在 ±1mil25.4 微米量级激光成像的分辨率也在微米级2.54 微米的坐标分辨率远高于工艺能力完全够用。反过来说如果你选了 2:31mil 分辨率一条 4mil 的线量化误差可能达到 25%那就不能接受了。Zero suppression零抑制。选 Leading省略前导零还是 Trailing省略后置零本质是让坐标字符串更短。RS-274X 文件头里的%FSLAX24Y24*%已经把规则写死了现代 CAM 软件都能正确解析。真正需要注意的是别和板厂的老设备较劲如果对方反馈坐标偏移或者整体错位第一时间检查这个选项和精度设置是否匹配。有些版本支持直接输出带小数点的坐标如果你们的板厂支持勾上能省掉一堆沟通成本。Scale缩放比例永远是 1.0。这个参数唯一合理的用途是做特殊工艺的放大缩小平移正常出图填 1.0填错了整层尺寸全错而且很难第一眼发现。Offset偏移量一般填 0。除非你要把图形平移到某个原点否则不要动。Undefined line width未定义线宽。这个参数处理的是设计里宽度为 0 的线段比如某些用零宽线画的板框或者丝印。如果填 0这些线在光绘里会直接消失填一个具体值它们会被替换成该宽度。我的习惯是填 0.1mm然后在 CAM 里检查有没有异常的粗线——这个值填大了零宽线会变成一条肥线压在焊盘上就是灾难。Draw holes是否在光绘里画出钻孔。默认一般关闭。原因是孔的位置和大小由钻孔文件定义光绘里再画一遍没有意义反而会让阻焊层或者丝印层出现不该有的圆。除非你要出一张给结构工程师看的装配图否则保持关闭。Vector based pad是否用矢量方式绘制焊盘。不勾选时焊盘用 flash 输出文件小、精度高、CAM 好处理勾选后焊盘用线段描边文件大而且容易在补偿时变形。除非板厂明确要求否则不勾。2.4 一个容易被忽略的动作Aperture 预览Film 配置完点 Create Artwork 之前可以先点一下 Apertures 按钮有些版本叫 View Apertures它会列出当前 Film 用到的所有光圈。这个列表能提前暴露问题如果某个焊盘的尺寸是 0或者出现了奇怪的负值光圈说明 padstack 有问题如果光圈数量异常多比如几百个说明设计里用了大量不同尺寸的焊盘CAM 处理起来会慢但不致命。我一般会顺手看一眼最大和最小的光圈。最小的光圈如果小于 0.1mm要确认它是不是设计意图因为有些板厂的工艺能力做不了这么细的线。3. 每一层到底该放什么逐层拆解3.1 线路层与内层线路层的内容相对简单但恰恰是最不能出错的。顶层线路TOP应该包含Etch/Top、Pin/Top、Via Class/Top。有些设计还会把Board Geometry/Outline加进来方便板厂对位这个做法我觉得挺好加进去没坏处。注意不要加Package Geometry/Silkscreen_Top丝印是油墨不是铜。底层线路BOTTOM同理换成Etch/Bottom、Pin/Bottom、Via Class/Bottom。内层INNER1 ~ INNERn要看设计方式。如果是正片设计包含Etch/内层名、Pin/内层名、Via Class/内层名。如果是负片Plane设计情况复杂一些Allegro 里负片层的显示是反的出图时的极性处理要格外小心。这里我要强调一句内层极性一定要在 CAM 工具里核对不能只看 Allegro 里的显示。Allegro 的负片层在屏幕上看起来是铜是暗的、隔离区是亮的但导出的 Gerber 到底是不是这个极性取决于版本和配置。最稳的做法是导出后用 CAM 工具打开找一个确定应该有大面积铜的区域看它是实心还是镂空。如果反了板子做出来就是整层短路或者整层没铜。我个人的偏好是内层尽量用正片设计虽然铺铜操作麻烦一点但出图时所见即所得少一层心智负担。负片设计在改版频繁的项目里省事但出图环节的风险确实高一些。3.2 阻焊层开窗尺寸直接决定焊接质量阻焊层SOLDERTOP / SOLDERBOT是新手最容易做错的一层因为它不是把焊盘画出来而是把不该盖油的地方开出来。标准的顶层阻焊应该包含Pin/Top、Via Class/Top如果过孔要盖油则不选见下、Package Geometry/Soldermask_Top、Board Geometry/Soldermask_Top。有些设计里阻焊开窗是通过 padstack 里的 Solder Mask 参数控制的这种情况下Pin/Top会自动带上开窗尺寸不需要额外加图形。开窗尺寸怎么定行业惯例是焊盘四周各扩 0.05mm约 2mil也就是单边扩 2mil、总尺寸每边大 4mil。举个具体例子一个 0.25mm × 1.0mm 的贴片焊盘开窗后是 0.35mm × 1.1mm。这个扩展量不是拍脑袋定的太小了阻焊油墨会爬到焊盘上影响焊接太大了相邻焊盘之间容易连锡。过孔要不要盖油这是个需要和板厂、和工艺确认的问题。盖油tented via能防止焊锡从过孔流走但盖油质量不稳定过孔边缘可能露出铜环。不盖油则过孔裸露可以做测试点。我的做法是非测试点的过孔默认盖油在 Film 里不选Via Class/Top测试点过孔单独处理确保它在阻焊层里有开窗。这里的关键是不要一刀切同一个设计里两种过孔混用很常见出图前要确认哪些过孔需要露出。3.3 钢网层与丝印层钢网层PASTTOP / PASTBOT只对贴片焊盘有意义插件焊盘不需要钢网。内容包含Pin/Top和Package Geometry/Paste_Mask_Top。钢网开窗的尺寸通常和焊盘一致或者按面积比略微缩小比如 90%具体取决于器件封装和锡膏工艺。对于 0.4mm 间距的 QFN 这类细间距器件钢网开窗可能需要做分割或者缩小这部分一般由工艺工程师给规则PCB 设计端按规则执行。丝印层SILKTOP / SILKBOT的内容最多也最杂Package Geometry/Silkscreen_Top器件外框、Ref Des/Silkscreen_Top位号、Board Geometry/Silkscreen_Top板级标识、版本号、logo、有时还有Manufacture/Drill_Legend钻孔表。丝印最常见的两个问题是压焊盘和字号太小。压焊盘会导致焊接时油墨污染焊盘虽然多数板厂会帮你削掉但不能指望。字号方面丝印线宽一般不低于 0.15mm字高不低于 0.8mm再小就印不清了。出图前可以用Display Measure量一下关键位号的尺寸或者在 CAM 里放大看。还有一点丝印层里不要放板框。板框属于外形层混进丝印会让板厂在铣边时把丝印也当成轮廓轻则警告重则铣错。3.4 板框层与它的三个近亲板框OUTLINE只放Board Geometry/Outline这一层的内容必须是一条闭合的轮廓线不能有断点、不能有重复线段、不能有自交。跟板框容易混淆的有三个东西Board Geometry/Cutout内部挖槽、Board Geometry/Dimension尺寸标注、Package Geometry/Place_Bound器件占位。前两个如果设计里有需要单独确认要不要出图层尺寸标注绝对不能进板框层否则板厂会把它当成外形铣出来。Place_Bound 是给布局检查用的任何光绘层都不该包含它。我在实际项目里养成了一个习惯出图前用Display Measure沿着 Outline 走一圈确认闭合再用Tools Reports DRC看有没有 outline 相关的报错。板框不闭合是导致板子做出来尺寸不对的头号原因而且这种错误在 Allegro 里看不出来必须在 CAM 里放大检查。4. 钻孔文件最容易被当成附属品的关键交付物4.1 NC Parameters 和 NC Drill 是两回事很多人把这两个命令混为一谈实际上它们是设置和执行的关系。Manufacture NC NC Parameters是全局参数设置包括输出单位、格式Excellon、零抑制方式、输出文件路径、是否使用增强格式。这些参数一旦设错后面生成的所有钻孔文件都是错的而且错得很隐蔽。Manufacture NC NC Drill是执行生成弹出一个对话框让你选要生成哪些孔通孔、盲埋孔、槽孔然后输出.drl文件。我建议的顺序是先NC Parameters逐项确认再NC Drill生成最后NC Drill Legend出一张钻孔表放在图纸上或者单独出 PDF。钻孔表不是生产必需文件但它是核对钻孔数量和孔径的最好工具特别是多孔径、多槽孔的设计。4.2 钻孔参数怎么填以及为什么Format选 Excellon。这是钻孔文件的事实标准几乎所有板厂都认。有些老版本还有 Excellon 2 之类的选项差异主要在文件头格式选默认的就行。Units跟设计单位走。这里有个历史坑Excellon 格式早期默认是英制公制设计如果没在文件头声明单位板厂按英制解析孔位会整体偏移 25.4 倍。现代版本一般会在文件头写METRIC或者INCH但导出后还是要打开文件看一眼。Zero suppression和光绘的逻辑一样Leading 或 Trailing。关键是和板厂确认他们习惯哪种有些老 CAM 软件对零抑制的处理不一致会导致孔位偏移。Output file一般填./gerber/%f.drl让钻孔文件和光绘文件放在一起。Enhanced Excellon format建议勾选。增强格式会输出完整的工具表M48 头、T 定义、坐标板厂解析起来更省事。不勾选的话可能只输出裸坐标需要人工补工具表。生成后打开.drl文件看一眼正常的内容长这样开头是M48然后是METRIC或INCH接着是工具定义T1C0.300表示 1 号刀直径 0.3mm%分隔然后是G90、G05最后是坐标行X12.500Y8.300。如果工具表里的刀具数量和钻孔表对不上或者坐标明显超出板框范围说明参数有问题。4.3 槽孔、盲埋孔与钻孔表的处理槽孔Slot在 Allegro 里通常用带槽的 padstack 或者Manufacture NC NC Route处理。如果设计里有长条形的孔比如某些连接器的固定脚一定要确认它出现在了钻孔文件或者单独的.rou文件里。我见过槽孔在 Allegro 里显示正常但NC Drill只认圆孔槽孔被静默忽略板子回来连接器装不进去。盲埋孔需要在NC Drill对话框里按层对选择或者用NC Backdrill单独处理。盲埋孔的钻孔文件必须和叠层严格对应孔深错了就是整板报废。这块建议单独出一份说明文档给板厂写清楚每个孔从哪层到哪层。钻孔表Drill Legend的位置一般在Manufacture NC Drill Legend生成后是一个表格图形包含孔径、数量、是否镀铜。我一般把它放在 Board Geometry 下的一个独立 subclass 里然后单独出一张 PDF 给板厂做参考不放进生产用的光绘层。这样既不干扰生产文件又能在评审时快速核对。5. 完整实操流程与导出后自检5.1 从零到一套可交付文件的步骤把前面的内容串成一条线实际操作按这个顺序走数据库体检Tools Database Check勾选全部检查项修掉所有 error。铺铜填充Shape Fill All确认动态铜皮是最新状态。叠层核对Setup Cross-section确认层数和层序。颜色层清理Display Color/Visibility关掉临时层检查有没有画错 subclass 的图形。建 FilmManufacture Artwork按命名规范逐个创建配置 Film Options。预览光圈点 Apertures检查有没有异常尺寸。生成光绘Select All 后点 Create Artwork看输出窗口有没有报错。生成钻孔NC Parameters确认参数NC Drill生成.drlDrill Legend出表。CAM 自检用 CAM 工具逐层导入做层间对位、极性检查、尺寸测量。打包交付按规范命名附一份层对应表。第 9 步是整个流程里最值钱的一步下面单独说。5.2 CAM 自检到底该看什么导出光绘后直接用 Allegro 看是没用的因为 Allegro 显示的是设计数据库不是光绘文件。必须用独立的 CAM 工具导入才能看到板厂看到的东西。常用的有 CAM350、GC-Prevue、KiCad 自带的 Gerber Viewer甚至一些在线的查看器也能用。导入后按这个清单过一遍第一层是否齐全。把所有层叠在一起看线路、阻焊、丝印、板框应该能对上。如果某一层是空的或者只有几根线大概率是 Film 配置漏了 subclass。第二层间对位。打开顶层线路和顶层阻焊焊盘应该完全重合阻焊开窗比焊盘大一圈。如果错位检查 Film 的 Offset 和 Scale或者检查 padstack 里的阻焊参数。第三极性。内层重点看找一块确定应该有大面积铜的区域确认它是实心还是镂空。第四尺寸。量一下板框的长宽和设计值对比误差应该在 0.01mm 以内。如果差了一个数量级多半是单位搞错了。第五钻孔对位。导入钻孔文件叠在线路层上确认每个孔都在焊盘中心。偏移超过 0.05mm 就要查原因常见的是钻孔单位和光绘单位不一致。第六丝印压盘。放大看丝印有没有压在焊盘上特别是小尺寸器件周围。第七1:1 打印。把线路层和丝印层合成一张 PDF按 1:1 打印出来拿个实际器件放在上面比一比。这一步能发现封装尺寸错误是 CAM 检查发现不了的。5.3 打包与交付的规范文件命名建议用项目名-版本号-层名.扩展名的格式比如board_v1.2_TOP.gtl。如果板厂有指定的命名规则优先按他们的来没有的话用这套通用规则。压缩包里除了光绘和钻孔建议放三个东西一份层对应表写明每个文件名对应哪一层、一份钻孔表 PDF、一份简单的工艺说明板厚、铜厚、阻焊颜色、表面处理、是否有阻抗要求。这三个东西不占多少空间但能减少 80% 的来回确认邮件。6. 常见问题与排查速查表6.1 层内容类问题现象可能原因排查动作某层光绘文件异常小几 KBFilm 里没勾选任何有内容的 subclass打开文件看内容回 Artwork 检查丝印全没了只选了 Board Geometry漏了 Ref Des 和 Package Geometry补选后重新生成阻焊开窗全部消失漏选 Pin 层或 padstack 里阻焊尺寸为 0检查 padstack 的 Solder Mask 参数内层大面积无铜负片极性反了或铺铜未填充CAM 里看极性回 Allegro 重新 Fill板框出现在丝印层Film 里误加了 Board Geometry/Outline从丝印 Film 里移除焊盘变成一堆碎线勾选了 Vector based pad取消勾选用 flash 输出6.2 坐标与单位类问题坐标类问题最典型的表现是整体偏移或者尺寸差一个数量级。如果整层图形偏移了一个固定距离先查 Artwork 的 Offset 参数再看 Film 的原点设置。Allegro 默认用设计原点如果设计原点不在板框左下角导出的坐标就会带一个偏移量这在多数情况下没问题但如果板厂要求原点在板框角上就要在出图前把原点移过去。如果尺寸差了 25.4 倍百分之百是英制和公制搞混了。检查三处设计单位、Artwork 的 Units、钻孔文件的 Units三处必须一致。这种错误在 CAM 里一眼就能看出来因为板子会变得巨大或者极小。如果出现 0.1mm 量级的系统性偏移检查精度设置。2:3 精度下坐标会被量化到 1mil累积起来就是可见的偏移。6.3 钻孔与槽孔类问题钻孔文件最常见的问题是孔径不对和孔位偏移。孔径不对先看 padstack 里的 Drill diameter 是不是成品孔径。有些设计里填的是钻孔直径板厂会自己加补偿有些填的是成品孔径板厂直接按这个做。两种约定都行但必须在工艺说明里写清楚否则做出来的孔可能大一圈或者小一圈。孔位偏移先确认钻孔文件和光绘文件的单位、精度、零抑制是否一致。这四个参数任意一个不匹配孔位就会偏移。我遇到过一次光绘用英制 2:4钻孔用公制结果孔全部偏到板外CAM 里一眼就看出来。槽孔丢失检查NC Drill对话框里有没有勾选槽孔选项或者单独跑一次NC Route。槽孔不会自动出现在.drl文件里这是很多人不知道的。6.4 几个我踩过的坑坑一Film 复制后输出路径没改。复制一个 Film 改名字结果 Output file 里还是手写的旧文件名两个 Film 输出到同一个文件后生成的把先生成的覆盖了。当时没发现板子回来少了一层内层。从那以后我所有 Film 都用%f.%x变量。坑二改了 padstack 没重新出图。项目中期调整了某个焊盘的阻焊开窗改完直接出图忘了先进 Artwork 把 Film 重新生成一遍。Allegro 的 Film 配置是静态的padstack 改了不会自动更新已生成的 Gerber必须手动重新 Create Artwork。坑三以为板厂会帮你检查。有些板厂确实会做 DFM 检查但不是所有板厂都做而且他们的检查重点是能不能做出来不是符不符合你的设计意图。丝印压盘、阻焊桥太窄这类问题他们可能直接帮你改掉改完还不告诉你。所以自检这一步不能省。坑四忽略钢网层的插件焊盘。有一次钢网层里混进了插件焊盘的开窗板厂照着做了钢网插件孔位置多出一坨锡膏手工焊接时特别难受。钢网层只应该有贴片焊盘插件焊盘一个都不能有。坑五单位改了没检查钻孔表。设计从英制切到公制光绘和钻孔都重新生成了但钻孔表还是旧的英制版本打印出来贴在图纸上装配时按错表查孔径装错了一批连接器。钻孔表要和钻孔文件同批次生成不能混用。7. 最后几条实操建议出图这件事工具再熟也架不住项目赶。我的做法是把上面那套流程做成一个固定的检查清单每次出图前对着勾一遍勾完再发。清单不长十项左右但能挡住九成的低级错误。另外建议养成一个习惯每次出图后把光绘包在本地留一份存档命名带上日期和版本号。板子做回来如果有问题第一件事就是拿存档和设计文件对比确认是设计问题还是导出问题。没有存档的话只能靠回忆而回忆通常不可靠。还有一点不同板厂的 CAM 软件和对 Gerber 的解析习惯不完全一样。同一套文件A 厂能做B 厂可能报错。遇到这种情况不要急着怀疑自己的设计先让对方把报错信息发过来多数时候是精度、零抑制或者光圈定义的问题改一个参数就能解决。把这些参数记下来下次给这家板厂出图直接套用能省不少事。
企业数字化 ERP 产品动态
相关推荐
BIP39助记词词表:2048词工程校验与恢复避坑指南 简介:面向使用 ImToken 钱包、需要核对或恢复英文助记词的用户,这份资料围绕 2048 个英文助记词展开,可用于查询相近单词、校对拼写,降低因记录错误导致资产无法恢复的风险。内容涉及助记词的重要性、12 至 24 个单词的组成方式、… · 2026/11/3 21:33:42
C#上位机液压压机压装监控:Modbus TCP实时采集与曲线落库 压机压装这个工序,外行看热闹,内行看曲线。同一套模具、同一批工件,压装力到没到位、扭矩有没有突然抬头、保压那几秒有没有掉压,全都藏在一条几百毫秒到几十秒的曲线里。设备自带的触摸屏通常只给你一个当前值和几个报警灯&#… · 2026/11/3 21:33:42
C语言基础全景:从语法骨架到指针内核的完整地图 简介:这份《C语言基础大全.pdf》面向C语言零基础入门者与需要系统梳理语法体系的在校学生,围绕基本语法、数据类型、运算符、控制结构、函数、指针和文件操作七大模块展开,帮助读者建立完整的知识框架,解决初学阶段概念零散、要点… · 2026/11/3 21:33:42
AI工程基座构建:Python+TypeScript+Rust+Julia协同实践 1. 为什么“从零构建AI工程体系”不是口号,而是当下最真实的生存需求最近帮三个不同行业的团队做技术栈复盘,发现一个扎心的共性:他们都有“AI项目”,但没有“AI工程”。有人用Jupyter跑通了一个LSTM预测模型,部署时卡… · 2026/11/3 22:14:06
从零开始AI工程:从空文件夹到稳定在线服务的完整链路 这个项目标题我相信不少人都刷到过,ai-engineering-from-scratch,字面意思就是“从零开始做AI工程”。作为一个常年在一线带团队搞AI落地的人,我说句实话:这类名字最容易让人产生两种极端错觉。一种是觉得自己得先把深度学习论文全… · 2026/11/3 22:14:06
把“我早知道”变成决策力:后见之明偏差与复盘工具 凌晨三点,你盯着屏幕里那场足球决赛,对手在最后十分钟连进两球完成逆转。你一拍大腿:“我就知道,换人换得太晚了,教练早该调整!”过了几天你打开基金账户,看到三个月前买的那只股票跌了三成&… · 2026/11/3 22:14:06
嵌入式AI协同开发工作流:从硬件约束到模型验证 1. 项目概述:这不是一次简单的“跑通模型”,而是一场嵌入式与AI的深度协同作战 “嵌入式AI协同开发实战:从约束到验证的完整工作流”——这个标题里没有一个虚词。它说的不是“在嵌入式设备上部署一个现成模型”,也不是“用AI给单… · 2026/11/3 22:14:06
ITSM现代化转型:技术支柱与智能化演进路径 1. ITSM现代化转型的核心驱动力十年前我第一次接触IT服务管理(ITSM)系统时,它还是个基于ITIL框架的工单追踪工具。如今在云计算和AI技术的推动下,ITSM已经演变为企业数字化转型的核心中枢。这种演进不是简单的技术升级,而是服务理念和管理模式… · 2026/11/3 22:14:06
反向拆解能力:从结果反推根因的工程思维方式 1. 为什么我觉得"会拆"比"会装"更难,也更值钱先把话撂这儿:我见过太多能把功能写出来的人,但真正遇到线上诡异问题时,能顺着调用栈一路摸到根因的人,十个里面挑不出两三个。这个差距,就… · 2026/11/3 22:13:06
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46