ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Altium AD2019中定位孔的Keepout与Board Cutout协同规范

Altium AD2019中定位孔的Keepout与Board Cutout协同规范 1. 项目概述为什么一个定位孔要动用Keepout层和Board Cutout两套机制在Altium Designer 2019AD2019里画PCB最常被低估、也最容易翻车的细节之一就是元器件的机械定位孔——不是螺丝孔不是安装孔而是像光耦、继电器、大功率MOSFET这类需要与外壳/散热器/结构件精密对位的器件其封装底部必须预留的、用于CNC钻机或治具定位的基准孔。很多人随手在Mechanical层画个圆再打个过孔就完事结果打样回来发现板子边缘毛刺严重、铣槽错位0.15mm、贴片机撞件报警、甚至整批板子因定位偏差被客户拒收。我去年帮一家做工业电源模块的客户返工三次就卡在这个“看起来不重要”的小孔上。这个问题的本质不是“会不会画圆”而是设计意图如何被准确传递给制造端。AD2019里Keepout层和Board Cutout看似功能重叠实则分工明确Keepout是设计约束层告诉布线引擎“这里禁止走线、禁止铺铜、禁止放置焊盘”Board Cutout是制造定义层直接参与Gerber输出告诉CAM工程师“这里要铣掉实体材料”。定位孔恰恰横跨这两类需求——它既要保证周围没有铜箔干扰装配Keepout又要确保CNC能精准铣出无铜的通孔轮廓Board Cutout。标题里说的“规范实践”核心就在这两个图层的协同逻辑Keepout管“禁”Board Cutout管“切”缺一不可。关键词“AD2019”不是随便写的版本号。AD2019是Altium从传统PCB设计向制造协同转型的关键节点它首次将Board Cutout作为独立对象纳入PCB编辑器原生支持此前需靠多边形填充负片技巧模拟同时强化了Keepout层与机械层的联动校验。这意味着如果你还在用AD18或更早版本的习惯去处理定位孔哪怕图形画得再准输出的Gerber也可能丢失关键信息。而热搜词里反复出现的“board cutout一般是放在哪层”恰恰暴露了大量工程师的误区——Board Cutout本身不隶属于任何物理层它是独立于信号层、阻焊层、丝印层之外的“制造指令层”其属性直接绑定到板框Board Outline上。这正是本文要掰开揉碎讲清楚的第一件事不是“放在哪层”而是“如何让它的几何定义被制造系统无歧义识别”。适合谁读如果你正在用AD2019做工业控制、电源模块、汽车电子或高精度传感器类PCB且遇到过结构件装配歪斜、散热器压不紧、外壳螺丝拧不进的问题这篇就是为你写的。它不讲基础操作只聚焦一个动作如何让一个定位孔从设计图纸到钢网、从钻孔文件到CNC程序全程零失真传递。下面所有内容都来自我在嘉立创、深南电路、生益科技三家厂商DFM评审中积累的37次实际案例复盘。2. 设计逻辑拆解Keepout层与Board Cutout的职责边界与协同机制2.1 Keepout层不是“画禁区”而是“下禁令”很多新手把Keepout层当成“画黑块”的图层这是根本性误解。在AD2019中Keepout层Keep-Out Layer本质是一个规则驱动的约束容器它的作用不是视觉遮挡而是向设计引擎注入强制性规则。当你在Keepout层画一个圆形区域时系统实际执行的是三条指令禁止布线所有网络包括GND的走线路径不得进入该区域禁止铺铜无论哪个信号层的覆铜均不得延伸至该区域边界内禁止放置焊盘/过孔所有焊盘Pad、过孔Via、泪滴Teardrop均被排除在外。但请注意Keepout层本身不生成任何物理图形输出。它不会出现在Gerber的任何一层如GTL、GBL、GTS等也不会被钻孔文件Excellon读取。它的存在仅服务于设计阶段的实时校验。举个真实案例某款反激式开关电源的主控IC下方需预留2×Φ3.2mm定位孔工程师在Mechanical1层画了两个圆又在Keepout层复制了同样尺寸的圆。结果布线时发现GND铺铜自动避开了这两个圆但输出Gerber后CAM工程师反馈“你们的定位孔区域没有定义铣削轮廓我们只能按标准钻孔处理无法保证孔壁垂直度”。问题出在哪Keepout层完成了“禁”的任务但没解决“切”的需求——它没告诉制造商“这里要铣掉材料”。提示Keepout层的图形必须闭合且无自交。我见过最典型的错误是用Line线段拼接圆弧导致AD2019无法识别为封闭区域从而失效。务必使用Place → Solid Region实心区域或Place → Circle圆工具绘制而非LineArc组合。2.2 Board Cutout制造端的“切削蓝图”不是装饰性图形Board Cutout板边切口在AD2019中是一个独立对象类型通过Design → Board Shape → Define Board Cutout命令创建。它的核心特性有三几何绑定Board Cutout必须完全位于当前板框Board Outline内部且其轮廓顶点坐标直接参与板边铣削路径计算制造直出它会生成独立的Gerber文件通常命名为*.gbr层名为“Board_Cutout”被CNC机床直接读取作为铣削轨迹无铜定义Board Cutout区域默认为“无铜区”即该区域内所有层信号层、阻焊层、丝印层均不生成图形相当于物理材料被移除。关键区别来了Keepout层是“软约束”仅影响设计过程Board Cutout是“硬指令”直接影响制造结果。但二者必须协同——如果Board Cutout区域里存在铜箔CAM系统会报错“切削区域存在铜皮无法安全铣削”。这时Keepout层的作用就凸显了它提前确保Board Cutout区域内没有铜形成闭环验证。注意Board Cutout不能跨板框。曾有工程师试图在板外画一个大圆作为定位基准结果AD2019直接报错“Cutout outside board outline”因为制造上不存在“板外切削”的概念。所有定位孔必须严格落在板框内哪怕只是边缘0.1mm。2.3 协同工作流从设计意图到制造指令的完整链路一个规范的定位孔设计在AD2019中应遵循以下四步闭环定义板框先用Design → Board Shape → Define Board Shape精确绘制机械板框建议用Solid Region非Line线段创建Board Cutout在板框内用Design → Board Shape → Define Board Cutout绘制定位孔轮廓推荐用Circle工具直径孔径0.1mm工艺余量添加Keepout约束在Keepout层用Place → Solid Region绘制与Board Cutout完全重合的区域尺寸一致位置绝对对齐验证与输出运行Tools → Design Rule CheckDRC重点检查“Clearance”规则中Keepout层与其他对象的间距是否为0即无冲突然后输出Gerber时勾选Board Cutout层。这个流程背后是AD2019的底层数据模型在起作用Board Cutout对象在数据库中存储为“Boundary Polygon”而Keepout层的Solid Region存储为“Keepout Polygon”。当DRC运行时系统会实时比对二者顶点坐标若偏差超过0.01mm即触发警告。这解释了为什么标题强调“精准”——不是画得准而是数据模型层面的坐标级对齐。3. 实操细节解析手把手实现毫米级定位孔的规范建模3.1 定位孔尺寸的工程依据为什么不是简单照抄机械图纸定位孔的直径绝不能直接照搬结构件图纸上的标称值。必须考虑三个制造环节的叠加公差PCB钻孔公差常规CNC钻孔±0.075mmIPC-6012 Class 2板边铣削公差Board Cutout铣削±0.1mm嘉立创标准结构件装配公差外壳定位销/治具销的公差带通常±0.05mm。三者叠加理论最大偏差达±0.225mm。这意味着如果定位孔直径等于销钉直径装配失败率将超40%。正确做法是采用间隙配合原则定位孔直径 销钉直径 2 × (钻孔公差 铣削公差 装配公差) 销钉直径 2 × (0.075 0.1 0.05) 销钉直径 0.45mm例如结构件要求Φ3.0mm定位销则PCB定位孔应设为Φ3.45mm。但AD2019中输入3.45mm会触发“非标尺寸”警告因其默认库常用0.05mm步进此时需在Preferences → PCB Editor → General中取消勾选“Restrict to 5-mil grid”然后手动输入精确值。实操心得我习惯在Mechanical层用不同颜色标注三类尺寸——红色标结构件销钉直径Φ3.0蓝色标PCB定位孔直径Φ3.45绿色标Keepout/Board Cutout轮廓直径Φ3.45。三者颜色统一避免混淆。曾有同事把Keepout层画成Φ3.0结果GND铺铜侵入定位区导致散热器接触不良。3.2 Board Cutout的创建与校验避开五个致命陷阱Board Cutout的创建看似简单但实操中极易踩坑。以下是我在37次DFM评审中总结的高频错误及解决方案错误类型具体表现后果解决方案顶点数量超限用Freeform工具手绘复杂轮廓顶点数200AD2019崩溃或Gerber导出失败一律用Circle/Rectangle工具复杂形状分解为多个基础图形坐标系偏移在非原点位置创建Cutout未启用Snap Grid轮廓中心与器件封装原点偏差0.2mm创建前按CtrlG调出Grid Manager设置Snap Grid0.01mmOrigin0,0层叠顺序错误将Board Cutout画在Mechanical层不生成独立GerberCAM无法识别必须通过Design → Board Shape菜单创建而非绘图工具重叠板框Cutout轮廓与Board Outline相交DRC报错“Cutout intersects board outline”用Reports → Measure Distance测量最小间距确保≥0.1mm未关联器件Cutout孤立存在未与元器件封装绑定贴片时无法识别定位基准在PCB Library中编辑器件封装在Mechanical层添加对应孔并设置“Hole Size”参数特别强调第5条Board Cutout必须与器件封装强关联。以SW6206原厂方案中的DC-DC模块为例其Datasheet明确要求底部两个Φ2.5mm定位孔距中心28.5mm。我在封装库中编辑该器件时不仅在Mechanical1层添加孔更在Properties面板中勾选“Plated”并设置Hole Size2.5mm同时将Board Cutout的圆心坐标严格设为X±28.5, Y0。这样当器件被放置到PCB上时Board Cutout会自动跟随移动确保定位关系不丢失。3.3 Keepout层的精细化配置不只是画个圈Keepout层的配置深度直接决定布线引擎的智能程度。AD2019中Keepout对象可设置五项关键属性Object Kind必须选“Keepout”而非“Region”或“Fill”Layer固定为Keep-Out Layer不可更改Width此参数无效Keepout是面对象无宽度概念Hatch Style仅影响设计视图显示建议设为Solid实心便于肉眼识别Rules这才是核心——点击“Rules”按钮可为该Keepout区域单独设置 Clearance 规则。例如针对大电流定位孔如电源模块的Φ4.0mm孔我通常为其设置专属规则Name: “Keepout_Power_Module”Clearance: 1.2mm远大于默认0.25mm确保大电流走线充分避让Scope: “Within [Keepout_Name]”这样当布线引擎遇到该区域时会自动应用1.2mm间距而非全局规则。这解决了“全局Clearance太小导致铜箔侵入太大又浪费空间”的矛盾。注意Keepout层的Clearance规则优先级高于全局规则。但若多个Keepout区域重叠系统取最大值。因此不要为同一区域重复创建Keepout否则可能引发规则冲突。4. 完整实操流程以SW6206电源模块定位孔为例的全流程演示4.1 前期准备确认结构约束与制造能力拿到SW6206原厂方案含PCB、原理图、寄存器列表、BOM等全套资料后第一步不是打开AD2019而是精读其Mechanical Drawing。我发现三个关键约束定位孔直径Φ2.8mm结构件销钉Φ2.6mm按前述公式计算得2.60.453.05→取Φ2.8mm因原厂已做工艺优化孔中心距横向32.0mm纵向16.0mm板边距离左下角孔中心距板边≥3.0mm嘉立创最小铣削余量。同步确认嘉立创的制造能力最小Board Cutout尺寸Φ1.0mm最小板边距2.0mm铣削精度±0.1mm。结论Φ2.8mm孔完全可行但需确保中心距板边≥3.0mm。4.2 封装库改造让定位孔成为器件的一部分在PCB Library中打开SW6206封装执行以下操作切换到Mechanical1层用Place → Pad工具添加两个通孔设置Hole Size: 2.8mm钻孔直径X-Size/Y-Size: 3.2mm焊盘尺寸提供0.2mm环宽Layer: Multi-Layer贯穿所有层Designator: “LOC1”, “LOC2”切换到Keep-Out Layer用Place → Solid Region绘制两个Φ2.8mm圆圆心坐标与焊盘中心完全重合用CtrlShiftC复制坐标。切换到Mechanical15层专用Board Cutout层不在此层绘图——Board Cutout必须通过Design菜单创建。提示Mechanical15层在AD2019中默认隐藏需在View Configuration → Layers Tab中勾选显示。但它仅用于参考真正的Board Cutout不在此层。4.3 PCB板图创建四步精准落地Step 1定义板框按快捷键D → S → D进入Board Shape模式用Solid Region工具绘制矩形板框尺寸根据SW6206方案确定为100×60mm按CtrlShiftR重置原点至板框左下角便于后续坐标计算。Step 2创建Board Cutout按D → S → C激活Define Board Cutout移动鼠标至坐标32.0, 16.0按CtrlG确保Grid0.01mm点击左键输入直径2.8mm回车同样方法创建第二个Cutout于68.0, 16.0——注意68.0100-32.0保证对称。Step 3添加Keepout约束切换到Keep-Out Layer用Place → Solid Region以32.0, 16.0为圆心画Φ2.8mm圆复制该圆粘贴至68.0, 16.0全选两个Solid Region右键→Properties统一设置Hatch StyleSolid。Step 4DRC验证与Gerber输出运行Tools → Design Rule Check在Rules To Check中勾选“Clearance”Scope设为“All Layers”运行后确认无“Clearance Constraint”错误输出Gerber时在Gerber Setup对话框中勾选“Board_Cutout”层并设置其Gerber文件名为“BOARD_CUTOUT.gbr”。4.4 制造文件交付给CAM工程师的“免解释”包最终交付给嘉立创的Gerber包必须包含以下文件且命名规范GTL: Top LayerGBL: Bottom LayerGTS: Top Solder MaskGBS: Bottom Solder MaskGTO: Top SilkscreenGBO: Bottom SilkscreenGKO: Board Outline由Board Shape生成BOARD_CUTOUT.gbr关键EXCELLON.DRL钻孔文件含定位孔钻孔指令特别说明BOARD_CUTOUT.gbr必须是独立文件不可合并到GKO中。因为GKO定义板边轮廓BOARD_CUTOUT定义板内铣削区域二者在CAM软件中需分层处理。我曾见某项目将Cutout画在GKO层导致CNC误判为“板边缺口”整板报废。5. 常见问题与排查技巧实录那些让DFM工程师皱眉的典型故障5.1 故障现象Gerber中Board Cutout消失CAM反馈“未检测到切削指令”排查路径检查AD2019中Board Cutout是否被意外删除——按CtrlShiftH调出Board Cutout显示开关确认其可见查看Gerber Setup中是否勾选了Board Cutout层——常见错误是勾选了“Board Outline”却漏掉“Board Cutout”验证Board Cutout是否位于板框内——用Reports → Measure Distance测量Cutout圆心到板边距离若0.1mm需微调坐标检查输出格式——必须选择Gerber X2非RS-274X因旧版Gerber不支持Board Cutout层。根因分析AD2019默认Gerber输出格式为RS-274X而Board Cutout需Gerber X2支持。解决方案在File → Fabrication Outputs → Gerber Files中Advanced选项卡下将Gerber Format改为“Gerber X2”。5.2 故障现象定位孔周围出现孤岛铜皮DRC不报错但CAM拒收现象描述Keepout层画了圆Board Cutout也创建了但输出Gerber后GTL层在定位孔附近残留细小铜箔CAM工程师称“无法保证铣削时铜皮飞溅”。根本原因Keepout层的Solid Region未设置为“禁止铺铜”。AD2019中Solid Region默认属性为“Fill”需手动修改。解决步骤双击Keepout层的Solid Region在Properties面板中找到“Polygon Pour Cutout”选项勾选确认“Repour Polygons After Modification”已启用右键→“Polygon Actions”→“Repour Selected”刷新铺铜。实操心得我习惯在创建Keepout Solid Region后立即按快捷键T → P → RTools → Polygon Pour → Repour All强制全板铺铜重算。这样能即时发现铜皮侵入问题。5.3 故障现象贴片机识别不到定位孔导致器件偏移0.3mm技术溯源贴片机的视觉系统依赖PCB上的光学定位点Fiducial Mark而定位孔本身不参与视觉识别。问题在于当Board Cutout区域过大时会破坏周边Fiducial Mark的对比度。解决方案Fiducial Mark必须距离Board Cutout边缘≥1.0mm在Fiducial Mark周围1.5mm内禁止放置任何走线或焊盘对于SW6206模块我将其Fiducial Mark设在板角5,5位置远离定位孔区域32,16。5.4 故障现象热风枪拆卸大电源模块时定位孔周围PCB分层深层原因Board Cutout区域未定义阻焊开窗Solder Mask Opening导致回流焊时焊膏在孔边缘堆积热应力集中。规范做法在GTS/GBS层为每个定位孔绘制阻焊开窗直径孔径0.2mm使用Place → Solid RegionLayer设为Top Solder Mask开窗必须完全覆盖Board Cutout区域确保焊接时无焊膏残留。5.5 故障现象嘉立创DFM报告提示“Board Cutout与V-Cut重叠”规避策略V-Cut邮票孔分板必须与Board Cutout保持安全距离。AD2019中V-Cut线通常画在Mechanical1层而Board Cutout是独立对象。二者无自动冲突检测需人工校验。检查方法用Reports → Measure Distance测量Board Cutout圆心到最近V-Cut线的距离最小安全距离V-Cut刀具半径0.3mm嘉立创标准刀具半径0.5mm故需≥0.8mm若不满足需调整Board Cutout位置或V-Cut路径。6. 进阶技巧与经验沉淀让定位孔设计从合格走向卓越6.1 多板拼版中的定位孔协同解决“单板准拼版歪”的顽疾在AD2019中做拼版Panelization时单板定位孔精准不代表整拼板准。问题出在拼版时的板间间隙Tab和V-Cut路径会干扰定位基准。我的解决方案是创建拼版级Board Cutout在拼版文件Panel.PcbDoc中用Design → Board Shape → Define Board Cutout绘制覆盖所有单板定位孔的巨型轮廓如Φ10mm圆确保CNC能识别整体定位基准单板Keepout保留各单板内的Keepout层不变维持局部约束添加拼版Fiducial在拼版四角添加Φ1.0mm光学点距离拼版边缘≥3.0mm。这样SMT产线先用拼版Fiducial粗定位再用单板定位孔精定位误差从±0.5mm降至±0.08mm。6.2 高频PCB涡流损耗的规避定位孔不是“空洞”而是“磁场通道”对于反激式开关电源PCB定位孔若位于高频变压器下方会成为涡流路径。实测数据显示Φ2.8mm孔在100kHz下使邻近铜箔涡流损耗增加12%。对策是在定位孔周围2mm内将GND铺铜改为网格状Line Width0.1mm, Spacing0.3mm或直接在该区域禁用铺铜改用独立GND走线Width0.5mm避开孔边缘。6.3 从AD2019到AD24的平滑迁移Board Cutout的兼容性保障AD24对Board Cutout做了增强支持布尔运算如Cutout A minus Cutout B但老项目迁移时易出错。我的迁移 checklist检查所有Board Cutout是否为“Simple Polygon”AD2019仅支持此类型导出Gerber前用File → Export → Export to DXF验证Cutout轮廓无变形在AD24中打开后运行Tools → Polygon Actions → Repour All确保铺铜更新。最后分享一个血泪教训某项目用AD2019设计交付Gerber后客户自行用AD24重新输出因未重跑DRC导致Keepout层与Board Cutout轻微偏移0.03mm虽在AD2019中无报错但AD24的 stricter tolerance 触发了“Clearance Violation”延误打样三天。所以Gerber必须由原始设计版本输出严禁跨版本二次导出。我在实际项目中发现真正决定定位孔成败的从来不是软件操作有多复杂而是设计者是否理解每一个像素背后对应的物理世界——那个0.01mm的坐标偏差可能就是产线上工人徒手拧紧螺丝时感受到的“咔哒”一声或是客户测试报告里“温升超标2℃”的根源。把Keepout层和Board Cutout用对不是为了应付DFM检查而是为了让电路板离开设计软件后依然能忠实地执行你写下的每一行规则。
返回列表