Altium Designer里给覆铜做挖空这件事,看着不起眼,翻车率却一直不低。去年改一款工业控制板,客户反馈样机打螺丝时偶尔有火花,拆开一看,螺丝孔旁边的覆铜离螺丝帽太近了,装配轻微偏位就直接碰铜。后来把所有安装孔周围全部做了挖空处理,重打样一次通过。从那以后,我画板基本离不开Polygon Pour Cutout。这篇就围绕矩形和圆形两种挖空区域,把完整操作流程、参数细节、以及螺丝孔相关的避坑经验一次讲透,希望能帮你少走点弯路。
1. 先搞清楚挖空的本质:Polygon Pour Cutout到底在干嘛
1.1 挖空和Keepout是两回事
很多新手会把覆铜挖空和Keepout层混在一起用,结果层层避让,板子布得特别别扭。这两者虽然都能让铜皮"消失",但语义完全不同。
Keepout是禁布区,它的意思是"这里什么都不许放",包括走线、过孔、覆铜,所有对象都得给它让路。而Polygon Pour Cutout只是覆铜挖空,它的作用范围非常单一:只对覆铜生效,把指定多边形区域内的铜皮剔除,其他走线和过孔该怎么走还怎么走。
举个例子,一个面板固定孔的旁边如果需要走一根信号线,用Keepout的话,这根线会被强制绕开,布线密度白白损失。但如果用Cutout,你只需要让铜皮绕开,信号线完全可以按原路径穿过,只要距离满足电气安全要求就行。
所以说,Keepout是"全局禁令",Cutout是"定向屏蔽"。实际工程中,我最常用的组合是:螺丝孔封装里放Keepout环来限定禁布范围,再额外画一个更大的Cutout圆来让覆铜避让,两者各司其职。
1.2 什么场景必须用挖空
挖空不是画着玩的,它解决的是实打实的生产与电气问题,常见场景基本可以分为下面五类。
第一,螺丝孔和安装孔周围。这是最常见的需求。螺丝头在装配时可能压到铜皮,造成刮伤、短路,尤其是非金属化孔,铜皮一旦在孔边露出,螺丝扭入时很容易剐蹭。提前挖空就能避免这个隐患。
第二,天线净空区。2.4G、NFC、GPS这类射频模块下方如果铺了大面积覆铜,会严重影响天线效率。很多射频参考设计都明确要求"模块下方所有层挖空"或"背面参考层挖空"。这时候用圆形或矩形Cutout按封装尺寸做净空,是最标准的做法。
第三,高压隔离槽。AC-DC电源的初次级之间,或者强电与弱电之间,爬电距离不够时靠拉大间距不现实,通常会在铜皮上开槽、挖空,切断铜皮造成的爬电路径。这个场景下挖空的尺寸和形状是要按安规标准计算的,不能随便画个圈了事。
第四,散热路径控制。铜皮是很好的导热体,如果你不想让某个大功率器件的热量沿铜皮快速扩散到热敏感区域,可以在器件旁边挖空一条窄带,对热传导做一个"截流"。
第五,阻抗控制。高速差分线下方如果参考层被挖空,线的阻抗会跳变,虽然这种用法在信号层上不多见,但在内电层参考面挖空很常用,原理和覆铜挖空是一致的。
2. 矩形挖空实操:从选工具到重新灌铜
2.1 工具入口与绘制手感
矩形挖空最典型的应用就是螺丝孔的方形避让区、电源模块下方的矩形净空区、以及结构件干涉区域的铜皮剔除。操作入口在菜单栏的 Place > Polygon Pour Cutout。
选中这个命令之后,光标会变成十字,接下来就可以像画多边形一样在PCB上点击顶点。要注意的是,Polygon Pour Cutout默认是"画任意多边形"的状态,不是直接帮你画矩形。要画出规整的直角矩形,需要在绘制过程中按 Shift+Space 循环切换拐角模式,切到90度直角模式后再点击四个角。
绘制顺序建议从矩形的左下角开始,顺时针依次点击。最后回到起点附近时,右键选择"关闭多边形"或者直接按 Esc,AD会自动把多边形首尾闭合。如果你画到第三个点的时候发现位置不对,按 Backspace 可以回退上一步。
画完之后,Cutout对象会以半透明高亮显示。注意此时它只是"叠"在覆铜上,还没真正生效。必须先保存一下,然后执行 Tools > Polygon Pours > Repour All,让所有覆铜重新计算,挖空区域才会从铜皮里被扣掉。
实操中还有一个比较隐蔽的问题:绘制时如果栅格设得太大,鼠标吸附会导致顶点的位置对不齐元件的坐标。建议绘制前按 G 把栅格调到0.1mm或者更细,或者在点击顶点时直接用键盘输入精确坐标,这样矩形边界才能和封装外形严格对齐。
2.2 属性面板里的关键设置
绘制完成后,选中这个Cutout对象,Properties面板会显示它的属性。这里有几个关键项需要关注。
Layer属性决定了这个挖空作用于哪一层。默认是当前工作层,如果你在Top Layer画了,它就只挖Top的覆铜。如果希望这个挖空对所有信号层的覆铜都生效——比如一个贯穿板厚的螺丝孔——就把Layer设成All。
另一个需要注意的是,Cutout本身没有网络属性,它既不连接任何网络,也不会和覆铜产生电气连接。它的角色就是一个"遮罩",让覆铜在计算时避让这块区域。所以不要试图给它赋予网络,这是很多人理解上的偏差。
关于间隙(Clearance)的设置,Cutout对象本身不直接提供独立的间隙参数,它继承的是所在覆铜设计规则里的覆铜间距。也就是说,挖空边缘到周围铜皮的距离,通常由Polygon Connect Style或者覆铜自身的Clearance规则决定。如果你发现挖空边缘太靠近铜皮,不要去改Cutout,而是去查覆铜和导线/焊盘之间的间距规则。
还有Arc Approximation(圆弧拟合精度)这个参数,在矩形的场景下不太涉及,但如果是带圆角的矩形或者圆形挖空,它控制的是弧线被分割成多少小段来逼近真实圆弧。默认的0.5mm在某些精细场合不够,改成0.05mm能让圆弧更平滑,代价是数据量增大、加工文件变大。通常0.1mm就足够精细了。
2.3 批量放置多个相同矩形挖空的技巧
实际板卡上,安装孔往往不止一个,四个角各一个很常见。如果一个一个画,既费时间又容易尺寸不统一。我的做法是:先画好左上角的一个矩形Cutout,然后利用AD的特殊粘贴功能做阵列复制。
步骤是这样的:
- 选中画好的矩形Cutout,Ctrl+C复制。
- 菜单 Edit > Paste Special,勾选"Duplicate designator"之类的选项(如果没有也没关系),点击Paste。
- 在粘贴模式下按键盘输入相对坐标,或者直接用一个简单的脚本/阵列命令,生成四个对称的挖空。
如果不想用特殊粘贴,也可以先画好一个,然后选中它,按住Shift拖动复制到另一个位置。复制后确认Properties里的Layer属性仍然是正确的,因为复制对象有时会把Layer也原样带过去,如果原来在Top Layer,复制出来还在Top Layer,但你可能希望其中一个在Bottom,要手动改。
批量操作最大的优势不是省时间,而是保证所有挖空尺寸一致。手工逐个画,很容易出现某个角大0.2mm、某个角小0.2mm的情况,在装配时会暴露出来。
3. 圆形挖空:螺丝孔与天线净空的经典处理
3.1 圆形挖空怎么画
圆形挖空最典型的两个用途:圆形螺丝孔避让、天线净空区。画法和矩形类似,只是把拐角模式切换到圆弧模式。
进入Place > Polygon Pour Cutout后,在绘制状态下按 Shift+Space 循环切换,直到出现圆弧样式的预览。此时移动鼠标,AD会从上一个顶点开始画出一段圆弧,圆弧的曲率跟随鼠标位置实时变化。点击鼠标左键,这段圆弧就定下来了。
这里有一个很多新手会犯的错:以为切换到圆弧模式后,鼠标画出来的是一个完整的圆。实际上它仍然是一段段圆弧拼接的多边形,你需要连续点击几段才能拼出一个封闭的圆。
如果你觉得手动控圆弧太飘、形状不圆,还有一个更稳的办法:把圆形近似成内接多边形。比如在圆心位置先放一个过孔或者字符串作为参考点,然后以参考点为圆心,沿圆周每隔45度点一个顶点,画一个8边形。再在Properties里把每一段线段改成圆弧并调整曲率,让它们围成一个圆。
这个方法虽然多花一步,但胜在可控。关键是圆心位置完全由你预先放的参考点决定,不会因为鼠标抖动而偏移。
3.2 精确半径:从圆心出发的绘制与修正
很多场景下,圆形挖空的半径是有明确要求的,比如M3螺丝孔的避让区半径要3.0mm,NFC天线净空区半径要12.0mm。手动画很难一次到位,所以需要一些辅助手段。
第一种方法:先画一个正确的圆作为参考。在机械层或者Keepout层,用Place > Circle(或者用圆弧工具)画一个半径精确的圆。然后在覆铜层上,沿着这个参考圆的边沿,用Polygon Pour Cutout逐段点击,把顶点都落在参考圆上。这样画出来的Cutout和你预设的半径非常接近。
第二种方法:画完后选中Cutout,在Properties面板里查看各段圆弧的属性。AD的Polygon Cutout允许你选中弧段后直接修改半径值。如果所有弧段的半径都是一致的,说明形状很规整;如果有些段是12.04mm、有些是11.98mm,建议重新画,因为不规则的圆弧会让爬电距离计算产生误差。
第三种方法是利用坐标定位。画圆弧时,起点和终点都可以通过键盘输入精确坐标。如果知道圆心的坐标和半径,就可以把圆弧的起点和终点坐标算出来,然后沿线逐步输入。这个方法适合数学比较好的工程师,我平时用得不多,但在异形板框上做精确挖空时很管用。
有一个细节我一直提醒自己:圆形挖空修理半径时,一定不要只改单段圆弧。把整个Cutout选中,右键选择"查看所有图元属性"(或者直接在Properties里看),检查所有弧段半径是否一致。如果只是某一段的半径异常,可以单独选中该段修改,但要确保修改后和相邻弧段的连接处仍然是平滑的。
3.3 圆形挖空的典型应用:天线净空与射频模块
说一个我实际做过的案例。之前做NFC读卡器模块,天线部分是印刷在PCB上的线圈,线圈下方不能有完整的地平面,否则天线Q值会降得厉害。当时参考方案里明确要求:天线线圈覆盖范围内,所有内层铜皮都要挖空。
这个需求用Keepout做很麻烦,因为NFC天线区域往往还有一部分走线要从旁边过。我最后就是在天线线圈的背面参考层画了一个圆形Cutout,直径比线圈外径大2mm左右,精确按照封装中心定位。Repour之后,内层铜皮在圆形区域内全部呈现镂空状态,净化效果非常理想。
射频模块的净空区和NFC类似,不过更严格。有些模块厂商不仅要求顶部、底部覆铜挖空,还要求四周的过孔墙也远离模块。这时候通常用矩形Cutout把模块投影区域整体框起来,然后在Cutout边缘外面再打一圈接地过孔。这个"挖空+过孔墙"的组合,是射频布局里比较经典的做法。
4. 螺丝孔避坑指南:从封装到挖空的完整闭环
4.1 金属化与非金属化螺丝孔,挖空逻辑完全不同
螺丝孔看起来都一样,但在PCB设计里,金属化孔(PTH)和非金属化孔(NPTH)的挖空处理逻辑是完全相反的,这是第一个容易翻车的点。
非金属化安装孔,孔壁没有沉铜,电气上就是绝缘的。这种孔周围通常不需要焊盘,直接让螺丝与板子的非金属孔壁接触。为了让螺丝帽不和周围铜皮短路、不刮伤铜皮,需要在孔周围做挖空处理,而且挖空直径要大于螺丝头法兰的外径,留出装配余量。
金属化安装孔则复杂一些。如果这个螺丝孔按设计要求必须接地——比如某些EMC接地端子——那它就应该具备焊盘,并且通过覆铜或走线和地网络连接。这时如果贸然做挖空,很容易把焊盘整个挖掉,导致接地失效。正确的做法是:保留焊盘区域不挖,只在焊盘外圈做一个小范围的覆铜避让,或者利用覆铜的热焊盘(Thermal Relief)特性来连接。
还有一种情况是金属化孔但是不接地,只做结构固定。这种孔如果不想让它电气连接,就应该把它设计成非金属化孔,然后按NPTH处理。如果板厂因为工艺原因必须做成金属化孔,那就要在封装里加一个独立的焊盘,并且明确标注"不连接任何网络",同时外侧做挖空。
我见过一个大翻车案例:工程师画了金属化螺丝孔,为了保险起见又在周围画了很大的圆形Cutout,结果板子回来后螺丝孔和地完全断开,原本想通过螺丝接地的功能直接没了。根源就是没有区分PTH的接地意图。
4.2 孔径与挖空直径的经验配比
螺丝孔挖空直径到底取多大?不同行业、不同电压等级差异很大。我平时用的经验配比,给一个保守的参考值。
| 螺丝规格 | 孔径建议 | 普通低压避让挖空直径 | 高压/安规挖空直径 |
|---|---|---|---|
| M2 | 2.2mm | 4.0~4.5mm | 6.0mm以上 |
| M3 | 3.2mm | 5.0~6.0mm | 8.0mm以上 |
| M4 | 4.3mm | 7.0~8.0mm | 10.0mm以上 |
这个表的逻辑是:挖空直径至少要大于螺丝头法兰直径。普通M3螺丝头法兰大约5.5~6.0mm,所以你挖空到6.0mm是比较稳妥的。具体可以这样估算:挖空直径 = 螺丝头法兰最大直径 + 0.8~1.2mm的装配余量。如果空间紧张,最小也不能小于螺丝头法兰直径,否则装配时螺丝头会压到挖空边界外的铜皮边缘,起不到避让作用。
在高压应用里,挖空不只是避让螺丝,更是爬电距离的一部分。这时直径的确定要按你实际承受的电压等级来算,比如500V以下、500V~1kV、以及更高电压,要求的爬电距离完全不同。我的建议是:高压板卡上螺丝孔挖空不要只按结构尺寸定,务必结合安规标准里初次级/带电体到可接触金属件的距离来核算。
另一个容易被忽视的参数是孔壁到挖空边缘的宽度。孔壁到铜皮边缘的距离,如果太小,板厂钻孔时容易产生铜箔毛刺;如果太大,又浪费板面空间。我一般控制在1.0mm以上。
4.3 多层板挖空:内层如何同步处理
多层板上螺丝孔的影响不止是表层。内层的铜皮如果离孔太近,同样存在短路风险。表层用Polygon Pour Cutout处理了,内层却依然是整片铜皮,这样螺丝打进去,孔壁毛刺或粉尘可能引发内层短路,虽然概率不高,但工业产品要的是确定性,不是概率。
处理方式分两种情况。
对于信号层(正片层),如果孔位正好在内层覆铜区域,就需要在对应层同样画一个Cutout。如果你嫌一层层画麻烦,可以把Cutout对象的Layer属性设为All,一次作用于所有信号层。AD在Repour时会让所有信号层的覆铜按照这个Cutout来避让,效率很高。
对于内电层(负片平面层),比如GND平面层,用Polygon Pour Cutout是无效的,因为它操作的是正片覆铜。负片平面层需要单独使用Place > Plane Cutout(平面挖空)工具,在对应平面层上放置一个挖空区域。这个操作在螺丝孔较多的电源板上很常见。
很多工程师以为螺丝孔封装里只要带一个Keepout环,内层就自动会让开。实际上,Keepout环通常只对放置对象和布线起作用,负片平面层并不会自动处理Keepout。你必须在每个平面层上单独添加Plane Cutout,或者利用AD中的"嵌入式板阵列"等功能统一处理。板厂不会帮你默认添加,等板子做出来再看内层铜皮挨着孔,就晚了。
4.4 挖空之后的DRC与Gerber检查
挖空画完之后,一定不要直接出Gerber交板。我有几个习惯性的检查项,每次都能拦下一些问题。
第一,跑一遍完整DRC。重点看Clearance规则里是否有关于螺丝孔焊盘/孔壁到覆铜的间距报错。如果报错,先确认规则里的间距设置是否合理,再检查挖空是否真的让铜皮避让到位。很多时候DRC报错正是因为挖空区域没有覆盖到螺丝孔周围足够大的范围。
第二,检查Isolated Copper(孤立铜皮)。挖空之后,覆铜可能被切成两块,其中一块可能完全脱离网络连接,成为死铜。DRC会报告这类问题。处理方法可以是勾选覆铜属性里的Remove Dead Copper,让AD自动删除;也可以手动加过孔把死铜连到相邻网络,比如连到地,这样既保留了铜皮面积又能避免孤岛。
第三,出Gerber后把铜层和阻焊层叠在一起看。用CAM编辑器或者AD自带的预览功能,检查挖空区域和螺丝孔的相对位置是否匹配。我习惯把Top Layer、Bottom Layer、Top Solder、Bottom Solder四层叠加检查,看螺丝头按压区域是否完全落在无铜区域内。
第四,确认孔属性是PTH还是NPTH。如果孔是非金属化的,一定要在制造说明里写清楚,并检查最终Gerber中孔位是否有金属化标识。挖空区域配合NPTH是绝配,如果板厂误把NPTH做成了PTH,整个挖空设计就前功尽弃了。
5. 常见问题与排查技巧实录
5.1 挖空放了没效果,八成是忘了这步
群里有朋友问过:我明明画了Cutout,为什么覆铜还是原样?排查下来,最常见的原因就一个:没有重新灌铜。
Polygon Pour Cutout本身不是一个"实时修改"的操作。它只是把挖空区域定义好了,覆铜的实际计算要等Repour之后才执行。你画完Cutout,如果不执行Tools > Polygon Pours > Repour All,覆铜数据不会自动更新,制造文件里也根本不会有挖空效果。
第二个常见原因:Cutout放错了层。比如在Top层画了挖空,结果查看的是Bottom层的覆铜,那当然看不到变化。检查Cutout对象的Layer属性,确认它作用在目标层上。
第三个原因:Cutout虽然画了,但它完全没被覆铜覆盖。Cutout只有落在覆铜填充范围内才有效,如果它孤零零地放在没有任何覆铜的区域,肉眼根本看不出效果,也不会影响任何东西。
还有一种是版本差异。新版AD的Polygon Pour Cutout在Properties里有透明的填充预览,老版本则是一个线框。如果你看到的是线框就以为没生效,其实Repour之后再看就有了。
5.2 挖空后冒出死铜报错
这个问题在密集板上经常出现。比如一个大面积的GND覆铜,中间画了一个矩形挖空,把一块原本连通的区域切断了,被切断的部分如果周围没有过孔、没有走线连接,就成了死铜。
死铜如果任由它存在,会在板子上形成一个无网络连接的悬浮铜皮,这在高速板卡上可能引入天线效应,在高压板上也可能造成浮空电位。所以DRC报Isolated Copper时不要忽略。
处理办法有两种。如果这块死铜你确实不需要,直接在覆铜属性中勾选Remove Dead Copper,重新Repour,AD会自动把它删掉。如果你希望保留死铜的面积,比如作为局部散热或者增加铜厚,那就手动在死铜区域添加一个接地过孔,把它通过过孔与地平面连起来,这样它就不再是"死"铜,而是有网络连接的活动铜皮。
5.3 螺丝孔边缘锯齿状挖空的优化
圆形挖空如果边缘呈锯齿状,一眼看过去非常业余。产生锯齿的原因通常是:圆弧拟合精度太低,或者顶点数量太少。
AD的Polygon Pour Cutout在绘制圆弧时,会把圆弧拆成若干小段。默认的拟合精度如果太大,比如0.5mm或者1.0mm,生成的弧线就会看起来棱角分明,有锯齿感。处理方法:选中挖空对象,在Properties里把Arc Approximation(或类似名称的拟合误差参数)调小,比如0.05mm或0.1mm,然后Repour,圆弧边缘会平滑很多。
如果调整参数后变化不大,那就是顶点数太少。检查挖空对象的图形,数一下构成圆弧的顶点数量,如果只有四五个点,说明圆被画成了多边形。此时需要重新绘制,增加圆周上的顶点数量,一般一个完整的圆至少需要12个点以上才能看起来圆润。
5.4 一个小众但很实用的技巧:把Cutout合并进封装
最后一个建议,也是我踩过几次坑之后总结出来的:把螺丝孔的挖空直接做进封装库,而不是每次画板时手动添加。
具体做法是:在制作螺丝孔封装时,除了孔位焊盘、Keepout,再加一个Polygon Pour Cutout,并把它的尺寸按你常用的螺丝规格设定好。这样每次放置这个螺丝孔封装时,挖空区域会跟着一起出现,不需要额外画。位置、尺寸、层属性都是固定的,不会因为手动绘制而失误。
我自己封装库里的M3安装孔封装,包含了这样几个要素:NPTH孔位、Top和Bottom的禁布Keepout、Top和Bottom的圆形Polygon Pour Cutout(直径6.0mm)、以及附带的机械层螺丝头法兰标识(用于装配图核对)。这样一套组合下来,后续画板的效率提升非常明显。
实际画板这些年,挖空这件事给我的最大教训就是:布局时多花30秒处理挖空,就能避免打样回来后装配、打螺丝、调试时的一连串问题。尤其是螺丝孔附近,很多看似"无关紧要"的铜皮,在实际装机的震动和公差面前,都会变成实打实的隐患。做设计的时候多替装配环节想一步,后面能省下的时间和返厂次数,远比这30秒值钱。