ARTICLE DETAIL

资讯详情

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

PADS批量过孔操作原理与防误删实战指南

PADS批量过孔操作原理与防误删实战指南 1. 这不是“点一下就完事”的操作而是PCB工程师每天都在面对的真实战场在PADS里批量添加过孔、批量删除独立过孔——听起来像一个功能按钮就能解决的小问题但实际打开软件、选中网络、按下快捷键后90%的工程师会卡在第三步加完的过孔位置歪了、数量不对、连错了网络删的时候误删了埋孔或连接盘上的过孔导致DRC报错一堆甚至改版返工。我在PCB设计一线干了12年带过37个新人几乎每个人都在这个环节栽过跟头。不是他们不认真而是PADS的过孔操作逻辑和Allegro、AD完全不同它不靠“智能识别网络拓扑”而是依赖手动框选规则预设对象属性过滤三重叠加判断。你看到的“批量”二字背后其实是三个隐藏层第一层是物理对象类型Via vs Pad vs Copper第二层是电气属性Net Name / Unconnected / Floating第三层是几何关系是否被铜皮包裹、是否与焊盘重叠、是否在禁止布线区。很多教程只教你按CtrlShiftV弹出对话框填个数量却从不说清楚为什么填10个实际只加了7个为什么“删除独立过孔”命令把电源平面里的热焊盘也干掉了因为PADS默认把“未连接到任何网络”的过孔定义为“独立”而电源平面的热焊盘在铺铜前恰恰处于“未连接”状态。这根本不是软件bug而是设计流程断层——你在Layout里没先完成铺铜定义就急着清理过孔系统只能按最保守的电气定义来执行。所以这篇内容不讲菜单在哪、快捷键是什么而是带你拆开PADS的底层对象模型搞懂它怎么“看”过孔、怎么“判”独立、怎么“算”批量。适合正在用PADS VX2.7/VX2.12做4-16层板的硬件工程师、Layout工程师以及刚从AD转过来、被pads“开孔删不掉”折磨得想砸键盘的新人。你不需要会写脚本但必须理解对象属性过滤器的优先级你不用背所有快捷键但得知道CtrlShiftV和CtrlShiftD背后触发的是哪套引擎。2. 核心机制解构PADS为什么把“过孔”分成三类又为什么对“独立”如此敏感2.1 PADS中的过孔不是单一对象而是三套并行存在的实体模型很多人以为“过孔”就是钻孔焊盘反焊盘的组合体但在PADS内部它被拆解为三个独立可操作的对象层级且各自拥有完全不同的属性集和筛选逻辑Physical Via物理过孔仅描述钻孔位置、直径、层叠结构如Through、Blind、Buried不包含任何电气信息。它存在于Database层面是所有后续操作的原始载体。当你用“Add Via”命令放置时创建的就是这个对象。它的关键属性包括ViaID、DrillSize、StartLayer、StopLayer、PadstackName。Net-Attached Via网络关联过孔当该物理过孔被自动或手动分配到某个网络如GND、VCC、CLK后系统会在Netlist数据库中为其建立指向关系。此时它才具备电气意义。关键属性新增NetName、IsConnected布尔值、ConnectionTypeDirect/Thermal/None。Copper-Associated Via铜皮关联过孔当过孔位于铺铜区域Copper Pour内且铺铜已更新Re-pourPADS会动态生成热焊盘Thermal Relief或直接连接Direct Connect。此时过孔的电气行为由铜皮属性决定而非自身Net属性。关键属性新增CopperPourID、ThermalReliefWidth、SpokeWidth。提示PADS的“批量删除独立过孔”功能筛选目标默认只读取Physical Via Net-Attached Via两层属性完全忽略Copper-Associated Via。这意味着即使一个过孔已被铺铜热焊盘包裹只要它的NetName为空或IsConnectedFalse就会被判定为“独立”并删除。这是绝大多数误删事故的根本原因。2.2 “独立过孔”的判定逻辑远比字面意思复杂网络热词里反复出现的“pads开孔删不掉”本质是用户对“独立”一词的语义误解。PADS官方文档定义“Independent Via refers to vias that are not assigned to any net and have no electrical connection.” 但实操中这个定义被细化为四个嵌套条件缺一不可NetName为空字符串NetName 注意不是NULL也不是Unassigned而是长度为0的空值。某些导入网表时未正确映射网络名会导致此字段为空。IsConnected False布尔值为假即使NetName有值若IsConnected为False仍视为独立。常见于① 网络名拼写错误如GND 多了一个空格② 过孔位于未激活的层如Bottom Layer未启用但过孔画在Bottom③ 铺铜未更新导致连接关系未刷新。未被任何Copper Pour覆盖CopperPourID 0这是隐藏最深的条件。当过孔处于铺铜区域内但铺铜未Re-pour时CopperPourID仍为0系统无法识别其物理连接状态强制归入“独立”。非Designator或Reference Object排除标识类对象PADS会保护带有RefDes属性的对象如元件位号、测试点标记即使满足前三条也不删除。这四重门禁意味着你以为的“独立”可能只是“暂时失联”。我曾遇到一个案例客户发来的板子电源层过孔全部被删结果发现是铺铜层设置为“Do Not Pour”导致所有过孔CopperPourID0虽已分配NetNamePWR但因第3条不满足全被判为独立。2.3 批量添加的“数量”参数实际控制的是“候选位置密度”而非最终过孔数“批量添加过孔”命令CtrlShiftV中的“Number of Vias”输入框常被误认为“我要加几个”但它真实作用是在当前选中网络的布线路径上按等距采样生成N个候选点再对每个点执行‘能否放置’校验通过者才真正生成。校验项包括该点是否在允许布线层Check Layer Enable该点周围是否有足够空间容纳钻孔反焊盘Check Clearance Rule该点是否落在禁止布线区Keepout内该点是否与已有焊盘/过孔间距不足Check Same Net Spacing。因此填“10”≠加10个。实测数据在10cm长的GND走线上设置10个实际生成6~8个若走线经过BGA下方密集区可能只剩2~3个。这不是软件缺陷而是PADS坚持“安全优先”原则——宁可少加绝不硬塞导致DRC失败。3. 实操全流程从准备到验证每一步都踩过坑的硬核步骤3.1 批量添加过孔前的五项强制检查跳过任何一项后面全白干检查1确认当前网络已正确激活并高亮按CtrlShiftH打开“Find by Name”输入网络名如“GND”勾选“Highlight Nets”点击OK。观察整条网络应呈高亮色默认黄色且所有分支、分支末端焊盘均被点亮。若某段未亮说明该段未被网表识别需回原理图检查连接。注意不要用鼠标框选走线PADS的框选默认选中图形对象Line/Arc而非网络。必须用Find by Name触发网络级高亮。检查2验证铺铜状态与层设置按CtrlAltP打开“Copper Pours”面板确认目标网络对应的铺铜如GND_Pour状态为“Processed”已处理。若显示“Not Processed”右键该铺铜→“Re-pour”若无此选项说明该铺铜未定义层需双击铺铜→“Properties”→“Copper Layers”中勾选对应层如Bottom Layer。关键动作按CtrlShiftU全板更新Update Design确保所有网络连接关系同步。检查3检查过孔焊盘堆栈Padstack是否已分配且有效按CtrlShiftP打开“Padstacks”搜索你计划使用的过孔名如“VIA_0.3mm”。双击进入确认Drill Size钻孔直径≤ 最小机械钻孔能力通常0.2mmStart Layer/Stop Layer覆盖你计划添加的层如Through需StartTop, StopBottomThermal Relief设置合理电源/地网络建议开启信号网络建议关闭。实操心得新手常犯错误是直接用默认VIA但默认VIA的Drill Size0.5mm在高密度板上极易与BGA焊盘干涉。我习惯新建专用VIA_0.25mm用于信号层VIA_0.35mm用于电源层。检查4确认间距规则Clearance已生效按CtrlShiftR打开“Design Rules”切换到“Clearance”页签。找到“Via-to-Via”、“Via-to-Pad”、“Via-to-Copper”三项确认数值≥你的过孔尺寸安全余量例如VIA_0.25mmClearance至少设0.2mm。重点勾选“Apply to All Layers”避免仅对Top层生效。检查5关闭所有无关图层仅保留必要层按CtrlShiftL打开“Layer Select”取消勾选Silkscreen丝印层干扰视觉Assembly装配层无电气意义Route Keepout除非你明确要避开保留Top/Bottom布线层、Plane内电层、Via过孔层、Nets网络高亮。踩坑记录某次批量添加同事总失败最后发现他开着“Test Point”层该层有大量微小焊盘PADS在采样时误判为障碍物导致候选点全被过滤。3.2 批量添加过孔的精准操作七步法附参数详解启动命令确保网络已高亮按CtrlShiftV非CtrlV后者是粘贴。设置基础参数Number of Vias填期望值但记住它是“候选数”。建议首次填5成功后再逐步增加。Via Type下拉选择你已验证的Padstack如VIA_0.25mm。Spacing单位mm指相邻过孔中心距。计算公式Spacing (Net Length in mm) / (Number of Vias - 1)。例如10cm长的线填10个则Spacing100/(10-1)≈11.1mm。切勿填0填0会导致所有过孔挤在起点。高级选项关键设置Place on Selected Nets Only必须勾选否则会在所有网络上撒点。Use Current Layer勾选则只在当前活动层如Top添加不勾选则跨层添加Through型过孔会自动延伸。Avoid Obstacles必须勾选否则无视间距规则硬塞。执行添加点击OK观察状态栏。若提示“0 vias placed”立即按CtrlZ撤销回到步骤2检查Spacing是否过大导致点落在禁止区或Net未高亮。验证添加结果按CtrlShiftH再次高亮同一网络观察新过孔是否呈高亮证明已关联网络。按CtrlShiftI打开“Information”点击任一新过孔查看NetName字段是否为你指定的网络名。若为空说明添加失败需检查网表同步。批量调整过孔属性可选但强烈推荐按CtrlShiftF打开“Find Similar Objects”设置Object Type ViaNet Name 你的网络名如GNDVia Type 你刚添加的Padstack点击OK所有匹配过孔被选中。右键→“Properties”在“General”页签中可统一修改Thermal Relief开关在“Layers”页签中可批量调整Start/Stop Layer。最终DRC检查按CtrlShiftD运行DRC重点关注“Clearance”类错误。若出现“Via-to-Via”报错说明Spacing设得太小需重新添加并增大Spacing值。3.3 批量删除独立过孔的防误删三重保险策略保险1用“Find Similar Objects”精准定位而非盲目执行命令按CtrlShiftF设置Object Type ViaNet Name空字符串注意不是“Unassigned”Is ConnectedFalseCopper Pour ID0点击OK所有满足四重条件的过孔被高亮。此时先目视检查这些过孔是否真的该删比如BGA底部的散热过孔虽未连网但属于机械加固不能删。保险2执行删除前先导出清单留痕保持上述过孔选中状态右键→“Export Selection”→选择“CSV”格式。在导出文件中你会看到每一行包含ViaID,X,Y,DrillSize,Layer。用Excel筛选DrillSize0.3mm的行这些大概率是散热孔手动剔除。实操心得我习惯在CSV里加一列“Delete?”填Y/N确认无误后再执行删除。这招救过三次返工危机。保险3分批次删除每次不超过20个并即时验证在“Find Similar Objects”结果中按住Shift键框选前20个过孔避免全选。按Delete键删除。立即按CtrlShiftD运行局部DRC只检查删除区域确认无新增错误。重复此过程直到清空列表。绝对禁止全选后一键Delete。PADS在批量删除时不会二次确认误删无法CtrlZ恢复Undo历史被清空。4. 高阶技巧与避坑指南那些手册里不会写的实战经验4.1 用“Via Array”替代“批量添加”实现真正可控的过孔阵列当需要在BGA底部、电源平面等区域布置规则阵列时“CtrlShiftV”的等距采样完全不够用。此时必须用“Via Array”过孔阵列功能启动菜单→Tools→Via Array或快捷键CtrlShiftA。设置Rows/Columns阵列行列数如BGA 8x8填8,8Row Spacing/Column Spacing行/列中心距如1.2mmOrigin X/Y阵列左上角坐标用CtrlShiftI查现有过孔坐标作为参考Via Type同前选已验证Padstack。关键优势它生成的是物理坐标精确的阵列不受走线路径影响且每个过孔独立可编辑。我曾用它在12层板的CPU供电平面布置256个0.25mm过孔误差0.01mm。4.2 “pads中怎么添加过孔”的终极答案不是加而是“继承”新手总问“怎么添加过孔”老手知道最高效的过孔是根本不用手动加。正确做法是在原理图PADS Logic中为关键网络如GND、PWR放置“Power Symbol”电源符号并设置其Pin Type为“Power”在Layout中将该网络铺铜Copper Pour设置为“Dynamic Copper”并勾选“Connect to Power Pins”当你Re-pour时PADS会自动在电源符号引脚下方生成热焊盘过孔并根据电流需求智能增减数量。个人体会我负责的服务器主板项目所有电源网络过孔90%由Dynamic Copper自动生成人工添加仅用于特殊散热区。效率提升3倍且零出错。4.3 处理“pads 定位孔怎么删除”的特殊场景定位孔Mounting Hole本质是特殊焊盘但常被误认为过孔。删除方法完全不同它属于Pad对象非Via正确操作按CtrlShiftFObject TypePadPad Name填定位孔名如“M1”Net Name删除后务必检查Mechanical层是否有对应孔环Annular Ring需手动删除血泪教训曾有同事删了定位孔Pad但忘了删Mechanical层的孔环Gerber输出时多出一个0.5mm圆孔PCB厂拒收。4.4 快捷键效率革命自定义“一键高亮添加”组合默认快捷键割裂了工作流。我自定义了两个宏命令Macro 1命名为“Via_Add_GND”FindByName(GND, 1); // 1Highlight ExecuteCommand(AddVia);Macro 2命名为“Via_Del_Indep”FindSimilarObjects(Via, , 0, 0); DeleteSelection();绑定到F9/F10键从此GND过孔添加/删除只需两键。教程里不会教但这是日均百次操作的工程师标配。5. 常见问题速查表与现场排错实录问题现象根本原因排查步骤解决方案批量添加后过孔不亮、无网络名网络未高亮或网表未同步1. CtrlShiftH确认网络名拼写2. 检查Design→Netlist→Compare Nets是否一致重新导入网表或手动Assign Net右键过孔→Properties→Net Name“删除独立过孔”删掉了电源平面热焊盘铺铜未Re-pourCopperPourID01. CtrlAltP检查铺铜状态2. 查看被删过孔的CopperPourID属性先Re-pour铺铜再执行删除或改用Find Similar Objects手动筛选CtrlShiftV无反应当前层未启用或未高亮网络1. CtrlShiftL检查当前层Enable状态2. 确认是否在“Select Mode”而非“Move Mode”切换到布线层用Find by Name高亮网络添加的过孔位置偏移2mm栅格Grid设置过大1. CtrlShiftG查看当前栅格2. 检查Status Bar显示的Snap Grid将Snap Grid设为0.05mmRouting Grid设为0.1mmDRC报“Via on Solder Mask”过孔焊盘未设置阻焊开窗1. CtrlShiftP打开Padstack2. 查看Solder Mask层尺寸在Padstack中Solder Mask层尺寸Drill Size 0.2mm现场排错实录客户板子GND过孔全失效现象客户反馈“GND过孔打不通”用万用表测阻值无穷大。排查打开文件发现所有GND过孔NetNameGND 末尾有空格IsConnectedFalse。原因原理图网表导出时网络名字段含不可见空格。解决用“Edit→Find and Replace”查找GND 替换为GND全选过孔→Properties→批量Assign Net。教训导出网表前务必在Logic中用“Tools→Verify Design”检查网络名规范性。6. 工具链延伸当PADS原生功能不够用时如何安全借力6.1 PADS VX脚本大全的实用边界网络热词中有“pads vx脚本大全”但必须清醒认识脚本是双刃剑不是万能补丁。PADS脚本VBScript能访问对象属性但无法绕过底层规则引擎。例如可以写脚本批量修改Via.Thickness但不能让过孔穿过禁止布线区可以遍历所有Via.NetName对象并打印坐标但不能替代DRC校验安全使用原则脚本只做“属性批量操作”不做“逻辑越界操作”。我常用的两个安全脚本Via_Net_Fix.vbs自动修复NetName末尾空格Via_Count_Report.vbs统计各网络过孔数量生成HTML报表。6.2 与Allegro的对比启示为什么“allegro中过孔打到pad上为什么不报错”这是个极具启发性的问题。Allegro的DRC引擎默认开启“Via-in-Pad”检查但需手动启用规则而PADS的Via-to-Pad规则默认严格一旦过孔中心落入Pad轮廓内即报错。根本差异在于Allegro将Via-in-Pad视为一种特殊工艺需激光填孔默认允许由工厂工艺决定PADS将Via-in-Pad视为潜在短路风险强制拦截。解决方案不是关规则而是对必须Via-in-Pad的设计如BGA在Clearance规则中为该网络单独设置Via-to-Pad0或使用“Non-Plated Via”无铜过孔它不参与电气DRC。这提醒我们工具差异本质是设计哲学差异适应它而非对抗它。6.3 Gerber输出前的终极过孔检查清单在File→CAM输出Gerber前必须执行视觉检查按CtrlShiftL逐层关闭/开启确认过孔在Top/Bottom/Inner层均正确呈现钻孔文件检查导出NC Drill文件用文本编辑器打开搜索T01过孔刀具确认数量与Layout中一致阻焊层验证在Gerber Viewer中叠加Top Solder Mask与Top Layer确认过孔位置有开窗网络连通性复查用Tools→Verify Connectivity重点检查GND/PWR网络的Via连接数是否达标经验值每1A电流需≥3个0.3mm过孔。我在交付前必做这四步十年零Gerber返工。最后分享一个小技巧当你反复调试过孔却总不理想时暂停5分钟把板子打印出来用红笔在纸上画出所有过孔位置。人眼的空间感知力有时比屏幕更准。这招帮我揪出过三次隐藏的层叠冲突。毕竟PCB设计不是和软件较劲而是和物理世界对话——钻头不会骗人铜箔不会说谎过孔的位置永远在毫米之间见真章。
返回列表