画板这么多年,我发现不少人对 Altium Designer 里“做孔”这件事有误解。放个 Via,那是镀通孔;放个 Pad 把 Hole Size 改大,那是钻孔。可一旦你要做一个直径十几毫米的圆形非机械孔——天线净空区、外壳定位柱避让位、散热风道贯穿孔——常规的钻孔思路就完全走不通。这时候 AD 里的 Board Cutout 才是正解,很多人却直到板厂打电话来问“这个开孔怎么处理”才想起它。
这篇文章就围绕在 Altium Designer 中用 Board Cutout 精准创建圆形非机械孔这件事,把概念、流程、参数控制和输出注意事项一次讲透。不管你是刚接触 PCB 设计的新手,还是已经被板厂“教育”过的老工程师,照着做基本都能避开大部分坑。
1. Board Cutout 到底是什么?先搞清楚它和机械孔的区别
1.1 Board Cutout 的本质原理
Board Cutout 在 AD 里是一个专门用来定义“板材镂空轮廓”的对象。它的工作方式很直白:你画一个闭合的圆、圆角矩形或者任意多边形,AD 会把这个轮廓在整个 PCB 板件上标记为需要物理切除的区域。加工时,板厂不是拿钻头去钻这些小孔,而是用铣刀沿着轮廓把基板切穿,形成真正的贯穿孔洞。
这个对象虽然显示在 Keep-Out 层(禁止布线层)上,但它跟普通的 Keepout Track、Keepout Arc 完全是两码事。Keepout 线只告诉布线器“这里不能走线和铺铜”,不会产生物理切割;Board Cutout 则是对板材本身的切削定义,制造完成后是一个真实的孔或槽。用一句话概括:Keepout 是设计约束,Board Cutout 是物理实体。
放到铜箔层面看,Board Cutout 的效果更明显。顶层覆铜、底层覆铜、中间电源层、地层,不管正片还是负片,所有层在这个轮廓范围内都不允许有铜箔。正片层表现为一块干净的挖空区,负片层表现为铜区被断开。因为在铣削完成后这里已经没有任何板材,所以任何层有铜都会悬空甚至短路,AD 干脆把所有铜层一起避让干净。
1.2 什么时候该用 Board Cutout,什么时候不该用
实际项目里很多人把 Board Cutout、Keep-Out 和钻孔三种概念混在一起,导致板厂读图时一脸茫然。我的经验是分场景做决策:
- 大尺寸圆形孔(直径通常大于 6~8mm)优先用 Board Cutout。这种孔径已经超出了常规钻头规格,而且成本上铣削一个几十毫米的孔和铣削一个几个毫米的异形槽差别不大,用 Cutout 定义最合理。
- 异形孔、十字孔、矩形槽、腰形孔必然用 Board Cutout。钻头只能钻圆孔,异形轮廓只能靠铣刀,AD 里没有比 Board Cutout 更直接的表达方式。
- 天线下方的净空区、RF 走线需要铜完全挖空的区域,强烈建议用 Board Cutout。有些工程师在天线投影区单纯画一个圆形禁止布线区,结果铜箔照样铺过去,射频性能马上劣化。
- 标准圆形 NPTH(非金属化孔),直径在钻头标准系列内,还是用钻孔更划算。比如 1.0mm、1.6mm、2.0mm 的定位孔,板厂有标准钻头,成本低精度高。
- 螺丝头沉孔、塑胶热熔柱避让位,这类既有大圆又有深度的结构,需要跟结构工程师配合。PCB 的 Board Cutout 只负责切穿,沉孔深度依赖板厂特殊工艺,单独用 Cutout 表达不够。
说到底,Board Cutout 适合的是一类“既要切穿板材,又不镀铜”的大尺度轮廓。它和机械钻孔的根本区别是加工方式不同,一个靠铣刀轮廓切削,一个靠钻头轴向钻削。这也是“非机械孔”这个概念容易让人头晕的地方——很多人以为“非机械孔”是指非机械方式生成的孔,其实这里的重点在于它不是用普通钻孔流程做出来的孔。你要做的,是让板厂知道这个孔是“铣出来的”,而不是“钻出来的”。
2. 动手前的准备:图层、网格板框与设计规则
2.1 Board Cutout 到底放哪一层
Altium Designer 新版本中,Place 菜单里直接选择 Board Cutout 命令后,AD 会自动把对象归到 Keep-Out 层。这意味着你不需要手动切换工作层,但需要在视图配置里保证 Keep-Out 层处于可见状态。
打开 PCB 编辑器后,按 L 键进入 View Configuration 面板,在 Board Layers 列表中检查 Keep-Out 层是否勾选了显示。很多人画完 Board Cutout 后怎么看都看不到轮廓,八成就是 Keep-Out 层被隐藏了。另外要注意,这里的显示不要跟 Mechanical 层混在一起,Board Cutout 默认就是 Keep-Out,不是机械层。
板框本身我建议单独画在 Mechanical 1 层,或者使用 AD 的 Board Outline 模式。这样 Board Cutout 和板框能清晰区分。如果你老的项目习惯把板框也画在 Keep-Out 层,画 Cutout 时就要特别留心别把板框和 Cutout 画在同一组封闭图形里,否则板厂分不清哪些是外形、哪些是开孔。
还有一个容易踩的雷:Board Cutout 必须完全落在板框边界以内。如果圆形的边缘比板边还要往外凸,哪怕只凸出 0.1mm,制造端铣削时就会发现轮廓和板外形冲突。轻则板厂自动帮你裁剪掉多余部分,重则直接判定设计错误,来回邮件要一个礼拜。
2.2 网格、捕捉与坐标精度控制
圆形非机械孔讲究“精准”二字,圆心位置和半径都不能太随意。AD 的默认捕捉网格是 0.5mm 或 1mm,如果你要放的圆孔圆心坐标不是整数,就很容易吸附到网格上造成偏移。
我的习惯是在放置 Board Cutout 之前先做两件事:按 Ctrl+G 打开 Snap Grid 设置,把捕捉网格改成 0.1mm 或 0.25mm;按 Shift+E 切换电气捕捉,避免鼠标被附近的走线、焊盘、过孔“吸走”。如果板上已经有密密麻麻的走线,电气捕捉会把你的圆心拉偏,这个细节很容易被忽略。
如果圆心位置非常明确,比如要在板坐标 (25, 60) mm 的位置开一个圆心孔,可以直接按 J、L 打开 Jump to Location 对话框,输入 X=25mm, Y=60mm。鼠标会自动跳到这个点,你再开始放置圆形轮廓,圆心就落在精确坐标上。单位上按 Q 可以在 mm 和 mil 之间切换,输入数值时也可以直接带单位,比如输入 25mm 或 1000mil,AD 都能识别。
2.3 针对 Board Cutout 的间距规则设置
设计规则里如果没有单独给 Board Cutout 建约束,它默认会套用全局 Clearance 规则。如果你的全局间距设成 0.2mm,那 Board Cutout 边缘离铜箔的最小距离也是 0.2mm。这个值在实际生产中可能偏小,考虑到铣刀有直径、板材有制造公差,我建议圆孔边缘到附近铜箔的安全距离至少在 0.5mm 以上。
在 Design → Rules → Electrical → Clearance 中添加一条新规则,First object matches 选择 Advanced,把 Query 写成 IsBoardCutout,Second object matches 选择 All,约束值设置为 0.5mm。这样 Board Cutout 到任何铜箔的距离都按 0.5mm 执行,走线和覆铜会自动避让,DRC 也不会误报。
不要小看这个设置。我在一个项目里把天线净空圆 Board Cutout 直径做到 12mm,中心附近还有一条电源走线,当时没有专门设规则,结果铺铜后 DRC 报了几十个违例,调整起来非常痛苦。提前把规则建好,后面铺铜、拉线都会省心很多。
3. 精准创建圆形 Board Cutout 的完整流程
3.1 方法一:Place → Board Cutout 直接放置椭圆
新版 Altium Designer 的放置命令很直观。在 PCB 编辑界面下,点击菜单 Place → Board Cutout,鼠标变为十字光标,进入放置状态。
这时按 Tab 键打开属性面板,可以看到 Board Cutout 有多种放置模式,包括矩形、多边形、椭圆等。要创造圆形,选择 Ellipse 模式。鼠标先点击确定圆心位置,然后拖动鼠标拉出半径。如果你想完全靠手动定位,可以在拖动时直接输入半径数值,比如输入 4mm,回车后再点击左键确认。
不过我建议更稳妥的做法:任意拉出一个椭圆形状后,在属性面板里把 X-Radius 和 Y-Radius 修改为相同的值。当两个半径相等时,椭圆就是正圆。比如你要做一个直径 8mm 的圆形非机械孔,X-Radius 设为 4mm,Y-Radius 也设为 4mm。
放置完成后,选中这个对象,在 PCB List 或 PCB Inspector 面板里可以看到它的 Kind 属性是 Board Cutout,Layer 是 Keep-Out。如果显示的是 Track 或 Arc,说明你画的只是普通线段,不是真正的 Cutout,这样板厂是切不出孔来的。
3.2 方法二:先画圆再转换成 Board Cutout
有些时候圆形轮廓不是现场画的,而是从结构工程师那边拿来的 DXF 文件导入的,或者你已经在 Keep-Out 层画好了一圈圆的 Track+Arc。这时不需要重画,AD 提供了把已有图元转换成 Board Cutout 的命令。
先在任意层画一个闭合圆,推荐用 Place → Arc (Center) 方式。指定圆心,输入半径,设置起始角度 0 度、结束角度 360 度,或者直接在属性面板勾选 Full Circle。圆画好后选中它,执行 Tools → Convert → Create Board Cutout from Selected Primitives,这个圆就会变成 Board Cutout 对象。
这个方法最大的好处是可以批量转换。如果你手头有几十个不同尺寸的圆孔要转换成 Cutout,全部框选后一次转换,效率比一个一个放置高很多。注意,转换前的圆必须是闭合的。如果圆弧起点和终点之间留了一个小缝隙,转换后 AD 不会报错,但制造端拿到数据后可能识别失败。
3.3 尺寸、位置与半径的精确控制要点
圆形 Board Cutout 在 AD 属性面板里没有直接叫“直径”的字段,表达方式是两个半径:X-Radius 和 Y-Radius。实际操作时,很多人在属性面板里找“Diameter”找不到,然后就开始怀疑软件有问题。其实把 X Radius 和 Y Radius 设成半径值就可以了。
如果你习惯按直径来思考,有一个很简单的心算口诀:属性面板里输入的是半径,实际得到的孔直径是半径的两倍。做 10mm 的圆孔就填 5mm,做 16mm 的圆孔就填 8mm。团队里如果别人接手你的文件,最好在 PCB 空白处加一个注释字符串,把孔径信息写清楚,比如“D12.0mm Cutout”,省得后续改板的人还要去属性面板里反推尺寸。
位置精度方面,除了前面提到用 J、L 跳转坐标,还可以在放置后选中 Cutout,在 PCB Inspector 里直接修改 X-Center、Y-Center。我的习惯是先放一个大致的圆,然后统一用 Inspector 把所有 Cutout 的位置和半径一次性校准。这样比在放置状态下手动输入更可控。
还有一个容易被忽略的细节:Board Cutout 边缘的线宽(Line Width)会影响它在某些视图下的显示效果,但对铣削结果没有实际影响。制造端读取的是轮廓中心线,线宽只是显示问题。你可以在属性里把线宽设成一个较小的值如 0.2mm,视觉上更干净。
3.4 3D 模式下验证圆形非机械孔
画完 Board Cutout 不要急着导出文件,先按数字键 3 切换到 3D 显示模式。如果键盘快捷键失效,可以通过 View → Switch to 3D 进入。在 3D 视图下,Board Cutout 区域应该显示为完整的镂空,你能直接“看穿”板子。
如果发现 Cutout 没有在 3D 视图中显示出来,原因通常是两种。一是 Keep-Out 层被隐藏了,3D 渲染时不显示该层对象;二是你画的对象不是真正的 Board Cutout,而是普通圆。第一种情况,按 L 打开视图配置,把 Keep-Out 层的 3D 显示勾上。第二种情况,回到 2D 视图,选中对象确认 Kind 属性。
3D 模式下按 V、B 可以刷新视图,按 V、T 切换板子透明度,方便你从顶部观察孔壁。我做非机械孔时,习惯在 3D 视图下绕板子转一圈,确认所有 Cutout 的位置、大小都符合结构图。这一步最多花两分钟,但能省掉板厂打样回来发现孔错位的尴尬。
4. 让制造端正确识别:DRC 与文件输出
4.1 DRC 检查:重点排查 Cutout 与铜箔间距
Board Cutout 虽然性质上是一个“孔”,但它不会出现在 Hole Size 相关设计规则里。常规的 DRC 检查包含 Minimum Hole Size、Hole To Hole Clearance 等,这些都针对钻孔和过孔,跟 Board Cutout 无关。
所以你需要重点检查的是 Clearance 规则。运行 Tools → Design Rule Check,在 Electrical 规则组里查看 Clearance 违例。如果第 2.3 节里已经为 Board Cutout 建立了专属间距规则,DRC 报告里就不会出现大量 Cutout 相关的错误。如果没建,系统会拿全局间距来套,可能出现一片红。
还有一种常见情况:铺铜后 Board Cutout 边缘到铜箔间距距离比其他走线更大,但因为多边形铺铜的“死铜”区域判断问题,有些铜皮依然贴着 Cutout 边缘。这时需要手动检查覆铜,必要时在铺铜里加 Exclusion 区域,把 Cutout 周围一圈也挖空。
4.2 Gerber / ODB++ 输出时如何包含 Board Cutout
Board Cutout 对象物理上归属 Keep-Out 层,所以在输出 Gerber 时,必须确保 Keep-Out 层被勾选并输出。很多人的 Gerber 配置里默认只选 Top Layer、Bottom Layer、Silkscreen、Solder Mask 等,把 Keep-Out 忽略了。板厂拿到的数据里根本没有 Cutout 信息,自然就不会加工,这板子回来就是一个完整的圆铜区,项目直接翻车。
在 OutJob 文件里,我通常把 Gerber 输出的层列表里加一行 Keep-Out(GKO),同时把精度设置为 2:4 格式(即两位整数、四位小数),对应英制单位 mil 时精度足够。如果圆孔轮廓精度不够,Gerber 光绘出来会呈多边形,板厂铣削时也会出现台阶感,所以分辨率不能设太低。
更保险的做法是额外导出一份 DXF 或 DWG,File → Export → DXF/DWG,导出时勾选 Keep-Out 层和板框层。这样结构工程师可以直接拿 DXF 文件来核对开孔位置,板厂也可以参考矢量轮廓确认铣削路径。我在发板时会把 Gerber、NC Drill、DXF 三个数据包一起发送,并在邮件里注明“所有圆形 Cutout 按铣削加工,非钻孔”,基本没被板厂再问过。
4.3 与钻孔文件的关系:Board Cutout 不进 NC Drill
关于非机械孔,大家最容易犯的一个错误是用“看钻孔文件”来检查 Cutout 有没有导出。实际上 NC Drill 文件只包含 Drilling 信息,比如 PTH 孔、NPTH 孔、Via 的位置和孔径。Board Cutout 不是钻孔,铣削轮廓不会写到 NC Drill 里,所以在钻孔文件里找不到它是正常的,不代表数据有问题。
你要检查的是 Gerber 中的 Keep-Out 层数据,以及 DXF 里的轮廓。如果板厂只收到 Gerber 和 NC Drill,他们能从 GKO 文件里读出 Keep-Out 轮廓,并把它理解为铣削路径。但万一你的 Gerber 配置漏了 Keep-Out 层,数据里就没有任何开孔信息,板厂也只能按没有孔处理。
我在实际业务中还会在制板说明文档里把“异形孔/铣削孔清单”列成一个表格,包含孔编号、形状、圆心坐标、孔径、数量等字段。即使制板说明是普通 PDF,板厂工艺人员也能快速对照,避免只靠 Gerber 数据猜测。这也算是一种“文档兜底”的做法。
5. 实际项目中的避坑记录与常见问题速查
5.1 圆度不够 / 画出来是椭圆,怎么解决
这个问题的根源几乎都是 X-Radius 和 Y-Radius 不一致。放置时鼠标多拖了一下,或者属性面板里只改了一个半径,圆就变成椭圆了。处理方法有两种。
第一种,选中对象,在属性面板里把两个半径改成相同的值。如果你手头有一颗半径 5mm 的圆被改成了 X=5.1mm、Y=4.8mm,直接全部改成 5mm 就好。第二种,如果你有多个 Cutout 需要统一,可以打开 PCB List 面板,按 Kind 过滤出所有 Board Cutout 对象,然后在表格里批量修改 X-Radius、Y-Radius 两列。
5.2 属性面板不显示尺寸参数(AD 26.6.0 Properties 只显示 Simulation Generic 的问题)
最近有朋友提到 AD 某个 develop 版本的原理图元器件属性面板只显示 Simulation Generic,PCB 图元属性面板也可能出现参数不齐全的情况。我在新版 AD 里也遇到过类似情况,有时选中 Board Cutout 后,Properties 面板只显示基础信息,不展示 Radius 等几何参数。
这时候不要跟属性面板死磕。打开 View → Panels → PCB Inspector,选中对象后在 Inspector 里可以看到所有几何属性。如果 Inspector 也没有你需要的内容,可以打开 PCB List,按对象类型筛选后直接双击对应行,弹出的对话框里一定有具体参数。
另一个不依赖面板的替代方案是:放置时直接输入半径,而不是事后在属性面板里改。进放置状态后,鼠标拖动时键盘输入数值,AD 会实时响应。这样即使属性面板抽风,你也能完成精准定义。
5.3 Board Cutout 影响所有层,单层挖空要用另一个工具
很多初学者以为 Board Cutout 是“铜箔挖空工具”,其实它的作用范围是整个板厚。你放一个圆形 Board Cutout,所有层的铜都会避让,因为这个地方物理上被铣穿了。如果你只想挖掉某一层的铺铜区域,应该用 Polygon Pour Cutout。
Polygon Pour Cutout 的创建方式类似:先用任意图元画一个闭合圆,选中它,执行 Tools → Convert → Create Polygon Pour Cutout from Selected Primitives。这个对象只在多边形铺铜时生成排除区域,不会影响板材物理结构。判断自己需要哪个,就问一句:这个圆孔要切穿板子吗?要切穿,用 Board Cutout;只是铜皮不铺,用 Polygon Pour Cutout。
5.4 阵列 / 多个圆孔的快速放置技巧
做散热孔阵列或者透光孔阵列时,一个一个放置太慢。我的做法是先放一个圆形 Board Cutout,设置好半径和圆心,然后 Ctrl+C 复制,再 Edit → Paste Special,勾选 Array 选项。AD 会弹出阵列设置对话框,输入行数、列数、X 轴间距、Y 轴间距,一次生成整个阵列。
还有一种更“结构工程师友好”的思路:你先在任意层用画圆工具把整阵列的圆全部画好,然后全部框选,一次转换成 Board Cutout。这个方法适合孔径大小不一致的阵列,比如热源中心孔径大、四周孔径小的散热孔群。转换完成后,选中所有 Cutout,在 PCB List 里按需要修改对应半径即可。
5.5 修改 Board Cutout 后别忘了重新铺铜
Board Cutout 改位置、改大小之后,已有的 Polygon Pour 不会自动跟着变。AD 的覆铜是静态的,你必须在修改后手动执行 Tools → Polygon Pours → Repour All,让铺铜区域重新按照新的 Cutout 避让。如果不重铺,铜箔会覆盖到原本应该挖空的区域,Gerber 输出时也不会有任何报错,但制造出来就短路或者影响射频性能。
这个坑看起来很基础,实际很多人都会忘记。尤其是你在铺铜后又花了很多时间调走线,最后想起要修改天线净空孔的位置,改完 Board Cutout 直接导 Gerber 发板,回来才发现铜皮已经“收复失地”。
6. 个人实操中的一点心得
每次项目里遇到圆形非机械孔,我都会先问一句:这个孔是给谁用的?如果是给射频模块留净空,那 Board Cutout 做出来的圆孔边缘要尽量光滑,Gerber 光绘精度选高一点,否则铣出来边上有毛刺会影响驻波;如果是给外壳定位柱避让,那么 Cutout 直径至少要比柱子外径大 0.5mm 以上,留出装配公差;如果是散热风道孔,还要考虑板厂铣削板厚的能力,太小的孔加太厚的板可能会铣不动。
多次打样下来,我的固定流程已经固化成:先在结构图上确认圆心坐标和孔径,再在 AD 里放 Board Cutout,放到一半就切 3D 视图核对位置,最后输出 Gerber 的时候一定检查 GKO 层,导出 DXF 给结构工程师复核一遍。这套流程看起来繁琐,但几乎没有因为开孔问题返过工。
最后再分享一个小技巧:如果你的 PCB 文件会交给同事或客户继续修改,建议在 Keep-Out 层放一个小的文字标注,写上这个圆形 Cutout 的直径和用途。文字本身不影响制造,但这块信息对后续修改设计的人非常友好。否则别人接手时面对一个光秃秃的圆孔,很可能先删掉重画,删着删着就不知道删到哪个版本去了。