
前段时间打样回来一批板子目检基本过关结果一到SMT车间虚焊率直接冲高。贴片厂工程师用放大镜照了半天最后找到原因丝印油墨印到了焊盘上。这是我第一次被“丝印压焊盘”坑到而且是批量性的。后来我把板子拿回AD18里挨个查才发现问题根源很简单——我在Top Overlay层画了好几个大面积色块用来放产品标识和防静电符号画的时候图省事直接拉矩形压根没管下面的焊盘。这篇文章我想把这类问题的处理方式完整梳理一遍。主要围绕一个看起来有点矛盾的场景丝印层上做“敷铜”准确说是大面积丝印填充色块怎么让它自动/半自动地避开焊盘。文章会给出三种不同思路分别覆盖“已有丝印对象要批量体检”“从零画避让色块”“焊盘密集、轮廓复杂”的场景希望对被这个问题困扰过的工程师有帮助。1. 问题本质丝印层上的“敷铜”到底在避让什么1.1 丝印油墨压住焊盘的后果先说清楚为什么丝印不能压在焊盘上。丝印油墨本质上是绝缘树脂印在焊盘表面后会形成一层极薄的隔离膜。这层膜在焊接时不仅阻碍焊料润湿焊盘还可能在回流焊高温下碳化污染焊料和焊盘表面。虚焊、假焊、上锡不良都会随之而来。还有一个容易忽略的问题AOI自动光学检测设备在识别焊点的时候会把丝印油墨误判为异物或缺陷造成大量误报。产线为了确认到底是虚焊还是误报得停机人工复判效率损失非常大。所以很多正规板厂在工程确认阶段就会把“丝印压焊盘”的问题打回来但小批量样板阶段往往直接做出来等你自己发现。1.2 AD18里丝印层“色块”到底是哪种对象在AD18里丝印层的大面积色块一般有三种载体Fill填充快捷键PF画出来就是一个矩形块。优点是快缺点也很明显——形状只能是矩形不能编辑顶点更不能做异形避让。Solid Region实心区域快捷键PR支持任意多边形轮廓可以随时编辑顶点。这是做丝印避让的主力对象。Track/Arc组合的封闭轮廓本质上只是一堆线条围成的闭环本身不填充但可以通过转换工具变成Region。很多工程师习惯用Fill画丝印底块图省事。但一旦涉及避让焊盘Fill几乎是最难用的对象——你只能靠“把矩形拆成多个小矩形拼接”来绕过焊盘费力不说还不严谨。这也是我在这篇文章里反复强调用Solid Region的原因。跟铜层敷铜不同丝印层没有Polygon Pour也没有“灌铜后自动挖空”的概念。丝印对象放上去就是这样它不会像铜皮那样遇到焊盘自动让位。所以“避让”这个动作必须由设计者主动完成区别只在于你是靠规则去查、靠手去画还是靠半自动工具去生成。1.3 三种方法的适用场景对照方法核心思路适用场景效率学习成本方法一DRC规则兜底设好丝印到焊盘间距规则跑DRC批量定位违规再逐项修正已经有丝印对象不确定哪里压盘高查错快改错稍慢低方法二Solid Region手绘网格电气栅格吸附直接画带避让口的异形区域从零画丝印色块焊盘数量适中中中方法三描轮廓转Region用Track/Arc先画避让轮廓再转换成Solid Region焊盘密集、轮廓极不规则、需要批量复制中高前期描边耗时后期可复制较高三种方法不互斥可以组合使用。比如先用手绘法画出轮廓再跑一遍DRC确认没有遗漏最后用脚本批量处理重复封装。2. 方法一DRC规则兜底把“压盘”问题批量揪出来2.1 设置 Silkscreen Over Component Pads 规则AD18里有一套专门管丝印和焊盘关系的制造规则路径在Design → Rules → Manufacturing → Silkscreen Over Component Pads注意AD18的汉化不完全中文菜单下可能仍然显示英文别因为找不到入口就放弃。展开之后你会看到两个约束Silk To Solder Mask Clearance丝印边缘到阻焊开窗焊盘露铜区的间距。Silk To Component Pad Clearance丝印边缘到元件焊盘边缘的间距。默认值一般是0.2mm约8mil。我个人的建议是一般工艺设0.2mm就够如果板子密度允许设到0.25mm更稳妥高密度板可以放宽到0.1mm~0.15mm但下单前要跟板厂确认工艺能力。勾选Enabled数值填好然后点Apply。需要注意AD的规则系统有优先级机制如果板子上存在多条同类型规则优先匹配优先级高的。对大多数普通板子来说直接用默认规则范围All就行。2.2 运行DRC并快速定位违规设置完规则后进入Design → Board Check打开设计规则检查对话框。在左边的Rules To Check树里展开Manufacturing确保Silkscreen Over Component Pads规则右侧的Online和Batch复选框都勾上。然后点击Run Design Rule Check或直接按Enter运行。跑完之后Messages面板会列出所有违规项每条都会明确告诉你是什么规则、哪个对象、坐标在哪。双击任意一条PCB编辑器会自动跳转到对应位置并高亮对象非常直观。如果你之前没设过这个规则第一次跑完会看到满屏错误不要慌。先按坐标逐个跳过把那些确实需要保留的丝印区域筛选出来再决定是改对象还是改规则范围。2.3 规模化修正丝印对象的小技巧DRC只负责“体检”真正花时间的是“治病”。我的处理顺序是这样的丝印文字String优先缩放、移动把这个文字拖到元件体内部或板面空白处。批量操作时在PCB List面板里把Filter设为Top Overlay的String全选后用PCB Inspector统一修改Text Height、Text Width把字体高度整体调小一档。丝印色块Fill/Solid Region如果是Fill建议先转成Solid Region选中对象后右键 → 属性里调整或者重新画再通过拖动顶点让开焊盘。如果焊盘实在太密集与其在一个色块上修修补补不如把这个区域切成几小块分别放在焊盘间隙里。这个方法最大的价值在于“心中有数”DRC报告能一次性告诉你全板有多少处丝印压焊盘而不是靠眼睛在一堆丝印文字和色块里找。尤其是多层板、密集封装混贴的板子人工目检基本靠不住。3. 方法二Solid Region手绘异形色块吸附定位一次成型3.1 为何不用Fill而用Solid Region设计规范一点的团队基本不会在丝印层用Fill画色块。Fill只能画矩形焊盘排列稍有不规则你就要堆好几个矩形去凑拼出来的边界还歪歪扭扭。Solid Region不同它支持任意多边形顶点可以随时编辑还能在属性面板里精确输入坐标天生就是为了解决异形轮廓而生的。AD18中放置Solid Region的路径是Place → Solid Region快捷键PR。放置前按Tab打开属性面板把Layer切换为Top OverlayNet设为No NetBoard Side选Top。如果你在底层丝印Bottom Overlay上操作记得对应切换。3.2 网格和电气栅格设置是成败关键手绘异形区域的难点在于你怎么知道鼠标该停在哪才能让丝印边界和焊盘边缘保持均匀间距这个问题靠眼睛是解决不了的一定要靠栅格和吸附。打开Design → Board Options快捷键DO重点设置两个地方Snap Grid捕获栅格建议设为0.1mm或与避让间距一致比如0.2mm。网格越小越精细但太细会导致鼠标位移量大操作反而变慢。Electrical Grid电气栅格务必勾选启用Range设为1mm左右。这样鼠标靠近焊盘边缘或中心1mm范围内时会自动吸附到焊盘的几何特征点上你再沿着焊盘外沿走线画出来的边界就是焊盘的精确外扩轮廓。这两个设置配合起来就不再需要手动计算“这里该往右挪0.2mm”电气栅格已经把焊盘边缘吸住了你只要在外扩方向上保持网格对齐即可。3.3 关键操作走线模式切换与顶点微调放置Solid Region时和画Track一样可以切换走线模式。按ShiftSpace可以在45°、90°、任意角度之间循环切换。对于丝印避让来说45°模式最常用——沿焊盘四边画轮廓时线段干净利落后面编辑顶点也方便。具体操作我习惯这样先用PR放置Region在目标区域外的空白处点下第一个顶点。沿着一个大方向连画几根直线把色块的大致范围框出来。走到焊盘附近时开启电气栅格让鼠标吸附到焊盘边缘按Tab临时切换走线角度或者ShiftSpace切到90°/45°贴着焊盘外沿逐个顶点绕过去。绕完所有焊盘后回到起点附近右键结束放置。此时画出来的形状可能不够完美很多顶点位置差一点。不用着急重新画直接双击这个Region在Properties面板里找到Vertices区域点编辑按钮打开顶点列表。表格里可以精确看到每个顶点的X/Y坐标手动把偏差大的点的坐标改成和焊盘边界保持固定间距的数值就行。如果嫌逐个改太慢还有一招用方法三先给焊盘生成一圈辅助参考圆环/方框放置Region时打开电气栅格让端点自动吸附到这些参考线上画完再删除辅助对象。这样既快又均匀。3.4 复杂区域的“切块拼接”思路碰到整块大面积丝印区域里嵌了十几个焊盘的场景不要试图用一个Region把所有避让口都画出来。顶点太多后期稍有不慎就会自交AD直接报错。更好的做法是把大区域拆成若干个子区域每个子区域只负责避开2~3个焊盘区域之间留0.2mm以上的间隔即可。观感上虽然有点碎片化但工程上完全没问题——丝印油墨本来就是印上去的色块之间有微小间隙根本看不出来。这个思路跟敷铜挖空是反着的铜皮是“先整块后挖洞”丝印区域是“先分块再拼接”因为丝印层没有布尔减运算挖空做不了但分块可以无限接近挖空的效果。4. 方法三先描避让轮廓再转Region复杂边界也能高效生成4.1 核心思路用Track/Arc画“留白”再转成区域方法三的思路稍微绕一点但非常适合焊盘数量多、排列不规律的场景先在Top Overlay层用Track和Arc沿着每个焊盘画一圈“避让轮廓”然后把这些轮廓转成Solid Region最后再围着这些Region画大色块。这样生成的避让边界非常标准几乎不会出现手绘时那种歪歪扭扭的问题。AD18里提供了一组转换工具路径在Tools → Convert → Create Region from Selected Primitives从选中图元建立区域。选中丝印层上的一组封闭Track/Arc后执行这个命令软件会把它转成一个Solid Region。转换前提是轮廓必须完全封闭哪怕有一个微小缺口都会转换失败。4.2 具体操作步骤圆形焊盘和矩形焊盘分别怎么画圆形焊盘选Place → Arc (Center)以焊盘中心为圆心画一个圆弧。放置后双击圆弧在属性里把Radius设为“焊盘半径避让间距”。比如焊盘直径是1.6mm半径0.8mm想留0.25mm避让就设Radius1.05mm。起始角和终止角保持0~360度就是整圆。这里注意AD中圆形焊盘的X-Size/Y-Size相等也就是直径。矩形焊盘用Track沿着焊盘四条边画一圈矩形框每条边相对焊盘边缘外移一个避让间距。打开电气栅格后把鼠标吸附到焊盘顶点再用MMove命令按X/Y方向精确位移0.25mm连续画完四条边首尾相连。转角处如果不想有间隙就切换到45°模式斜切一段或用Arc做圆弧过渡。所有轮廓画完之后框选它们在Top Overlay层上的全部元素执行Tools → Convert → Create Region from Selected Primitives。如果转换成功说明轮廓封闭性OK如果报错多半是某个连接点有微小间隙放大视图检查端点必要时手动补一段Track。4.3 批量场景PCB List统计和复制粘贴遇到同一封装重复出现几十次的板子没必要每个都画一遍。先针对单个封装的焊盘生成好避让轮廓并转成Region然后全选这组RegionCtrlC再CtrlV放到其他相同封装的坐标位置。放置时可以用Edit → Paste Special勾选Paste on current layer确保都落在Top Overlay上。对于“到底选中了几个焊盘”“选的焊盘对不对”这类问题AD18左下角状态栏会显示当前选中对象数量PCB List面板View → Panels → PCB List里也能看到筛选出来对象的明细包括坐标、所在层、尺寸。把Filter设为Pad就能精确查看焊盘列表比在图上逐个点数靠谱得多。4.4 一个可参考的DelphiScript思路如果焊盘数量实在多到手工描边不现实可以用AD的脚本功能批量生成避让圆环。思路是遍历当前PCB上的焊盘对象在每个焊盘位置生成一个Top Overlay层、半径比焊盘大0.3mm的Circle作为后续手绘Region的参考边界。核心代码骨架如下procedure GenerateSilkClearanceCircle; Var Board : IPCB_Board; Iterator : IPCB_BoardIterator; Pad : IPCB_Pad; Circle : IPCB_Circle; begin Board : PCBServer.GetCurrentPCBBoard; If Board Nil Then Exit; Iterator : Board.BoardIterator_Create; Iterator.AddFilter_ObjectSet(MkSet(ePadObject)); Iterator.AddFilter_LayerSet(AllLayers); Iterator.AddFilter_Method(eProcessAll); Pad : Iterator.FirstPCBObject; While Pad Nil Do Begin Circle : PCBServer.PCBObjectFactory(eCircleObject, eNoLayer, eCreate_Default); Circle.XCenter : Pad.XLocation; Circle.YCenter : Pad.YLocation; Circle.Radius : MMsToCoord(Pad.TopXSize / 2 / 1000000 0.3); Circle.Layer : eTopOverlay; Board.AddPCBObject(Circle); Pad : Iterator.NextPCBObject; End; Board.BoardIterator_Destroy(Iterator); PCBServer.RefreshPCBBoard; End;不同AD版本的脚本API命名略有差异这段代码在AD18环境中基本可用如果某个属性在你的版本里提示不存在按编译错误提示微调即可。生成的参考圆环用完直接删除不影响丝印层。5. 实战建议把避让思维前置到设计流程里5.1 设计前先评估丝印区域与焊盘密度三种方法再好本质都是“事后再补”。真正高效的做法是在规划丝印层时就把焊盘位置考虑进去能不把丝印色块放到焊盘密集区就不放。比如PCB的丝印信息中产品型号、Logo、防静电符号、版本号这些区域尽量布局在板边或元件稀疏区。如果确实要放在中央区域先用方法三生成一圈参考轮廓再用方法二按参考轮廓画Region这样画一次就成型后面不需要大量返工。5.2 用“分层规划”替代“事后修补”我见过很多同事习惯把所有丝印信息一股脑堆在Top Overlay上结果顶层密度爆炸底层空荡荡。其实丝印层和铜层一样需要规划重元件标识、极性标识、连接器位号放正面低矮件、测试点、版本号放背面丝印。平衡之后每个区域需要“敷铜”的色块面积自然就小了。另外AD18支持在PCB属性里直接切换层的颜色和透明度。把Top Overlay设成半透明模式配合高亮焊盘层能让你在放置色块之前就直观看到焊盘区域分布避免“盲画”。5.3 个人经验打样前多一步自检我现在的习惯是板子发出去打样之前导出一张丝印层PDF放大到200%像看地图一样把整个板面扫一遍。重点看丝印色块边界和焊盘之间的间隙是否均匀尤其是BGA扇出区域、连接器焊盘周围、以及极细间距的IC位置。这一步花不了几分钟但能省掉很多和板厂来回确认的时间。毕竟板厂的DFM检查更多关注的是“能不能做出来”而不会替你把丝印美观度、焊接可靠性这些细节都把关好。设计端多花五分钟产线少烧一批板这笔账非常划算。另外提一句如果板子走的是SMT贴片焊接时焊盘需要良好的热分布丝印避让属于DFM里“可焊性设计”的一环。它和SMD焊盘隔热设计一样都是为了让焊接结果稳定可靠。两者关注点不同但都可以归到“下单前必须自查”的清单里。