过孔盖油的操作

博客提及要去掉图中的红色项,但未给出更多信息技术相关的详细操作或背景信息。

去掉图中红色项

## 1. 过孔异常的典型视觉表现与本质判断 我在实际项目里遇到过太多次这种“过孔看起来怪怪的”情况——明明勾了Tented,刷新了视图,甚至重新生成了Gerber,结果在PCB厂反馈图里看到过孔还是露铜、发亮、边缘毛刺,或者干脆在阻焊层上完全消失。这时候千万别急着怀疑软件bug或厂里工艺问题,先冷静下来做三件事:把当前PCB文件切到纯Solder Mask Top层单独显示,关掉所有其他层;按Shift+S切换单层模式再按一次确认;最后用Ctrl+鼠标滚轮放大到200%以上看焊盘边缘的真实覆状态。我试过不下二十个案例,超过七成的问题其实根本不是失败,而是**视觉欺骗**——比如Top Overlay文字叠在过孔上,或者Silk Screen层的白色丝印刚好住部分阻焊区域,远看像过孔;又或者3D渲染开启了“半透明阻焊”效果,让底层铜皮透出一点颜色,误判为绿没覆到位。实测下来最稳的判断方式是:导出Gerber后,用CAM350打开Solder Mask Top层,关闭所有其他图层,直接测量过孔中心到阻焊开窗边缘的距离。如果这个距离是负值(即阻焊图形完全包住了过孔焊盘),那说明逻辑本身是成功的;如果是正值但数值很小(比如0.5mil),就要查是不是阻焊扩展值(Solder Mask Expansion)被设成了负数。这里特别提醒:Altium Designer 25默认的阻焊扩展是4mil,但很多工厂要求的是6mil,如果你没改规则直接投板,就可能出现“理论上了,实际上厂里一扩就露铜”的尴尬局面。 ## 2. Tented属性生效的完整链路与常见断点 很多人以为在Via Style规则里勾上Tented就万事大吉,结果发现新打的过孔依然不,老过孔更是一动不动。这是因为AD25控制是个典型的“三层联动”机制:规则定义 → 默认模板 → 实体实例。第一层是Routing Via Style规则,它只管“未来新建的过孔该长什么样”,对已存在的过孔完全不生效;第二层是PCB Editor Defaults里的Via默认设置,它决定了你按Ctrl+Shift+V手动放置过孔时的初始状态;第三层才是每个过孔实体自己的属性面板——右键点击过孔→Properties→Tented Top/Bottom复选框。这三层里只要有一层没配对,就会失效。我踩过的最深一个坑是在修改完Via Style规则后,习惯性地直接按快捷键R+V重铺线,结果新生成的过孔确实了,但原来布好的那些过孔还是老样子。后来才明白,Design → Update PCB这个操作的本质,是把当前规则配置“批量写入”到所有已存在过孔的实体属性中。具体来说,它会扫描PCB里每一个过孔,对比其网络类型、尺寸、所在层等参数,然后按规则匹配结果自动更新Tented状态。所以如果你的规则里写了“仅对GND网络启用Tented”,而某个过孔属于PWR网络,Update操作就不会动它。验证这点很简单:在PCB里随便选一个没过孔,右键Properties,看Tented Top那一栏是灰色不可编辑(说明由规则驱动),还是可勾选状态(说明已被手动覆)。如果是前者,执行Update后应该变灰并打钩;如果是后者,就得手动勾选或者删掉这个过孔重新打。 ### 2.1 规则配置中的关键细节陷阱 在Routing Via Style规则编辑界面,除了显眼的Tented复选框,还有三个容易被忽略但致命的设置项。第一个是“Where the object matches”,这里必须确认你的规则适用范围是否真的覆了目标过孔——比如你设置了“Full Query: IsVia AND InNet(‘GND’)”,那就只能匹配GND网络的过孔;如果某个过孔没命名网络(也就是Net=No Net),这条规则压根不会触发。第二个是“Minimum Hole Size”和“Maximum Hole Size”的范围设定,AD25默认值是10mil到40mil,但如果你的过孔孔径是8mil(比如某些高密度射频板),这个规则就自动跳过它。第三个也是最容易翻车的:“Solder Mask Expansion”值不能为负数。我见过有同事为了“确保严”把这项设成-2mil,结果系统直接把阻焊开窗缩到比焊盘还小,过孔铜皮全露在外面。正确做法是保持默认4mil,或者根据工厂能力设成6mil。另外提醒一句:这里的Solder Mask Expansion和PCB Rules里的Manufacturing → Solder Mask Expansion是两套独立系统,前者只影响Via Style规则下的过孔,后者影响整个板子的全局阻焊偏移,千万别搞混。 ### 2.2 Update PCB操作的隐藏逻辑与验证技巧 Design → Update PCB这个菜单项名字太朴素,导致很多人低估它的威力。实际上它执行的是一个完整的“规则映射引擎”,会逐个检查PCB中所有对象是否符合当前规则集,并生成差异报告。但这个报告默认是折叠的,你得在弹出的对话框里点开“Changes”列表才能看到详细信息。我建议每次Update前都养成习惯:先点“Preview Changes”,在弹出窗口里拉到底部看“Total Changes”数字。如果是0,说明当前规则和现有设计完全匹配,不用Update;如果大于0,重点看“Modified”类别下的Via条目数量。曾经有个项目,Update后发现只有3个过孔被修改,但板子上有200多个GND过孔,最后排查出来是因为规则里“Where the object matches”条件写错了,把InNet(‘GND’)写成了InNet(‘GND*’),导致通配符匹配失败。验证Update是否真正生效,最快的方法不是肉眼扫,而是用AD25的筛选功能:按Ctrl+F打开Find Similar Objects,设置Object Kind=Via,Tented Top=Yes,点确定后所有被成功过孔会高亮显示。如果数量和预期严重不符,就说明规则匹配出了问题。 ## 3. 过孔尺寸合规性对效果的物理影响 过孔不是纯粹的软件渲染效果,它直接受限于PCB工厂的实际制程能力。我在跟五家不同档次的板厂对接时发现,他们对“能可靠的最小过孔尺寸”要求差异极大:普通双面板厂普遍要求孔径≥12mil,而高端HDI厂能做到6mil盲埋孔。但AD25不会主动告诉你这些限制,它只会忠实地按你输入的尺寸生成阻焊开窗。这就导致一个典型矛盾:你在软件里把10mil孔径的过孔设成Tented,系统计算出阻焊开窗直径是18mil(按2×孔径-2mil公式),但厂里钻孔公差±2mil,实际孔位偏移0.5mil,加上阻焊对位公差±3mil,最终可能有15%的过孔边缘露铜。所以尺寸合规性检查必须前置到设计阶段。我的做法是建一个Excel对照表,横向列出厂要求的孔径范围(比如12–16mil)、对应推荐外径(22–26mil)、阻焊扩展值(4–6mil),纵向列常用网络类型(GND/PWR/SIG)。每次新建项目前,先按这个表在AD25里配置好两套Via Style规则:一套给GND网络用22mil外径,一套给信号线用24mil。这样后续布线时,只要过孔连到GND网络,系统就自动套用第一套规则。特别注意:外径值不是随便填的,它必须同时满足两个约束——大于等于孔径+2×最小阻焊扩展值,且小于等于厂里规定的最大阻焊桥宽度(通常20–25mil)。比如某厂规定阻焊桥最小宽度是8mil,那你用12mil孔径时,外径就不能超过20mil(20-12=8),否则相邻过孔间的阻焊桥会被蚀刻掉。 ### 3.1 阻焊扩展值的双重作用机制 Solder Mask Expansion这个参数在AD25里有两重身份:在Via Style规则里,它决定单个过孔的阻焊开窗大小;在Manufacturing规则里,它控制整板焊盘的阻焊偏移。但很多人不知道,当两者同时存在时,系统会取**较大值**作为最终结果。举个例子:你在Via Style里设了Expansion=4mil,在Manufacturing里设了6mil,那么最终过孔的阻焊开窗直径=过孔外径+2×6mil。这个机制本意是保证安全余量,但也会引发意外——比如你为某个特殊器件设了超小Expansion=2mil,结果因为Manufacturing规则全局生效,反而被拉回到6mil。解决办法是把Manufacturing里的Expansion设为0,完全依赖Via Style规则来控制。不过要记住,设为0后,所有焊盘(包括贴片元件)的阻焊开窗都会变成“紧贴焊盘”,这时候必须手动在Pad Properties里为每个焊盘单独设置Expansion,工作量会大增。所以我的经验是:普通项目统一用Manufacturing规则控全局,高频/高密项目则关闭Manufacturing的Expansion,全部交给Via Style和Pad规则分级管理。 ### 3.2 多层板中内层过孔特殊处理 四层及以上的板子,经常需要对内层过孔做选择性——比如只Top/Bot层,让内层过孔保持开窗以便测试探针接触。这时候单纯靠Tented选项就不够了。AD25提供了更精细的控制:在Via Style规则里,Tented选项其实是分层的,你可以单独勾选Tented Top、Tented Bottom,而中间层(Mid-Layer1/Mid-Layer2)默认不参与。但要注意一个隐藏逻辑:当你勾选了Tented Top,系统不仅会在Top Solder Mask层生成覆图形,还会自动在Top Layer层把过孔焊盘设为“No Net”状态(即不连接任何网络),这是为了防止阻焊覆后影响电气连接。所以如果你发现某个内层过孔在Top层突然断连,大概率是因为Tented Top被误开了。验证方法是:选中过孔→右键Properties→看Top Layer焊盘的Net属性。如果是“No Net”,说明Tented Top生效了;如果是实际网络名(如GND),说明没起作用。对于需要测试的过孔,我的做法是在规则里专门建一条“Test Via”规则,只对特定网络(比如TEST_NET)生效,且Tented选项全不勾,然后在PCB里用Find Similar Objects批量筛选这类过孔,确保它们的阻焊开窗足够大(通常设成外径+10mil)。 ## 4. 视图渲染与生产文件验证的闭环流程 很多工程师卡在最后一步:软件里看着好好的,Gerber预览也正常,结果厂里做出来还是有问题。根源在于AD25的视图渲染和Gerber输出是两套独立系统。视图渲染用的是OpenGL加速,会做各种平滑插值和透明度混合;Gerber输出则是严格的矢量图形,按微米级坐标精确生成。所以必须建立“视图→Gerber→实物”的三级验证闭环。第一步是视图校准:在Preferences → PCB Editor → Display里,把“Render Mode”从Default改成DirectX(如果显卡支持),这样能消除OpenGL常见的锯齿和颜色偏差;同时把“Solder Mask Display”设为“Solid Color”,避免半透明效果干扰判断。第二步是Gerber生成时的关键设置:在Gerber Files输出对话框的“Layers”选项卡,务必勾选“Include unconnected mid-layer pads”,否则内层过孔的阻焊开窗可能丢失;在“Drill Drawing”选项卡,勾选“Via Holes”并设置“Hole Size”为实际孔径值,这样才能在钻孔图里准确反映状态。第三步也是最关键的实物验证:拿到首样板后,别急着通电,先用10倍放大镜看几个典型过孔——重点观察阻焊边缘是否连续、有无气泡、颜色是否均匀。我见过最离谱的一次是厂里用错阻焊墨批次,绿过孔边缘形成彩虹色衍射,远看像没,实际是光学现象。这时候就要立刻调出Gerber用CAM350测量,如果阻焊开窗尺寸正确,就该找厂里换墨而不是改设计。 ### 4.1 DRC检查中相关的特殊规则配置 默认的DRC规则对问题几乎不报错,因为Tented本质上是个制造工艺建议,不是电气规则。但你可以自定义一条“阻焊桥宽度检查”规则来防患未然。在PCB Rules and Constraints Editor里,新建一条Clearance规则,设置“Where the First Object Matches”为“IsVia”,“Where the Second Object Matches”为“IsVia”,然后在Constraints里把“Clearance”设为8mil(对应最小阻焊桥宽度)。这样当两个过孔中心距小于孔径+8mil时,DRC就会报错。比如两个12mil孔径过孔,中心距必须≥20mil才安全。这个规则要配合“Report Dead Copper”一起用——在Tools → Design Rule Check里勾选“Dead Copper”,它会标出所有孤立的阻焊开窗区域,这些地方往往是失败的高发区。我一般把DRC报告导出为HTML后,用浏览器搜索“Via”关键词,快速定位所有过孔相关警告。曾经有个项目,DRC没报任何错误,但Report Dead Copper列出27处“孤立阻焊”,进去一看全是小尺寸过孔挤在BGA底部,厂里根本没法可靠,最后全部改成塞孔工艺。 ### 4.2 Gerber预览中的精准测量技巧 CAM350虽然是老工具,但在验证上比AD25自带的Gerber Viewer靠谱得多。关键技巧在于:打开Solder Mask Top层后,按Alt+M进入测量模式,不是测两点距离,而是用“Polygon Measure”功能框选过孔焊盘,它会自动计算焊盘面积和阻焊开窗面积的比值。理想状态下,这个比值应该接近0(即焊盘完全被阻焊覆)。如果比值大于5%,说明有明显露铜。更狠的一招是用“Layer Compare”功能:把Solder Mask Top层和Top Layer层叠加,设置Top Layer为红色、Solder Mask为绿色,重叠区域显示黄色——这样一眼就能看出哪些过孔的阻焊开窗没完全覆焊盘。我习惯在Gerber预览时,专门建一个“Critical Via”组,把电源过孔、BGA底部过孔、高频信号过孔都加进去,然后批量测量它们的阻焊覆率。低于95%的全部标红,退回AD25里调整尺寸或Expansion值。这套流程跑下来,基本能把问题掐死在投板前。
### Altium Designer 中过孔设置方法 在 Altium Designer (AD) 软件中,针对 PCB 设计中的过孔问题,可以通过多种方式进行设置。以下是具体的操作说明: #### 手动设置过孔 对于少量需要调整的过孔,可以在 **属性栏** 中手动完成设置。选中目标过孔后,在其属性窗口找到与 Tenting 相关选项并将其更改为 “Tented” 或者其他合适的值[^1]。 ```plaintext 步骤描述如下: 1. 单击目标过孔; 2. 查看右侧属性面板; 3. 修改 Keep-Out Layer 的 Tenting 属性至 Tented。 ``` 此方式适用于数量较少的情况,当设计中有大量类似的过孔时,则推荐采用批量处理的方式。 #### 批量修改过孔 为了提高效率,特别是面对众多需统一配置的过孔时,可利用 AD 提供的功能实现快速更改。通过执行查询命令筛选特定条件下的对象集合再应用一致性的参数更新即可达成目的[^2]。 - 使用 `Find Similar Objects` 功能来定位符合条件的所有过孔实例。 - 右键点击任意一个待编辑的目标 -> 选择菜单项 Find Similar Objects... - 定义过滤器标准(比如按照尺寸大小范围选取),从而圈定作用域内的全部成员。 - 接着调用 Replace Object Parameters 工具条目实施全局替换动作。 - 继续右键上下文中指定 Apply 'Replace Parameter' Action ... - 输入欲变更字段名称以及新数值——这里即为设定 tented 参数相关内容。 上述流程能够有效减少重复劳动强度的同时确保一致性效果良好。 #### 图形化对比分析 从视觉角度来看,未经适当处置前后的过孔形态存在明显差异。前者表现为裸露金属表面接触空气环境;后者则因覆阻焊膜而显得更为平整光滑。参见附带图片资料进一步理解两者的直观区别特征。 --- ### 注意事项 尽管提供了便捷高效的手段来进行此类定制化改造作业,但仍需要注意一些细节方面的要求以免造成不必要的麻烦。例如确认最终导出 Gerber 文件格式里包含了正确的层叠信息定义等要素^。 此外值得注意的是,除了直接操控个体元件外还可以借助规则驱动型机制预先规划好默认行为模式以便后续新增加项目自动遵循既定规范无需额外干预操作[^3]. 最后提醒用户熟悉掌握常用快捷组合按键有助于提升整体工作效率水平[^4].
在 Altium Designer 20 中,若希望对 PCB 中的过孔进行统一操作,推荐通过 **规则(Rules)** 来进行设置,这种方式能够确保所有过孔都按照统一的标准进行处理,避免因手动逐个修改而造成遗漏或不一致的问题[^1]。 ### 设置步骤如下: 1. **打开规则编辑器** 在 PCB 编辑界面,点击菜单栏中的 `Design` → `Rules...`,或者使用快捷键 `D + R` 打开规则设置对话框。 2. **找到“Plane”或“Manufacturing”类别中的过孔规则** 在左侧规则类别中,展开 `Manufacturing` 类别,并选择 `Tenting` 规则。如果未定义该规则,可以点击 `New Rule` 新建一个。 3. **设置规则条件** 在规则条件设置中,选择适用对象为 `All` 或根据具体需求定义对象范围。确保规则的优先级(Priority)设置为最高,以保证该规则覆其他可能冲突的规则。 4. **配置选项** 在规则右侧的设置区域中,勾选 `Tent Top` 和 `Tent Bottom` 选项,分别表示对顶层和底层的过孔焊盘进行处理[^2]。 5. **应用并关闭规则设置** 点击 `Apply` 和 `OK` 保存更改,规则会立即生效并对所有符合条件的过孔应用设置。 6. **验证效果** 返回 PCB 视图,切换到 `Top Solder` 和 `Bottom Solder` 层,确认过孔焊环是否已被阻焊墨覆,即实现了效果[^3]。 --- ### 代码示例:通过脚本批量修改过孔状态(可选) 如果希望通过脚本方式批量修改过孔状态,可使用 Altium 的脚本功能(如 DelphiScript 或 JavaScript)实现: ```delphi // DelphiScript 示例:批量设置过孔 var Board: IPCB_Board; Via: IPCB_Via; Iterator: IPCB_BoardIterator; begin Board := PCBServer.GetCurrentPCBBoard; if Board = nil then Exit; Iterator := Board.BoardIterator_Create; try Iterator.AddFilter_ObjectSet(MkSet(eVia)); Via := Iterator.FirstPCBObject; while Via <> nil do begin Via.TentTop := True; Via.TentBottom := True; Via.GraphicallyInvalidate; Via := Iterator.NextPCBObject; end; finally Board.BoardIterator_Destroy(Iterator); end; end; ``` --- ### 注意事项: - 如果仅需修改个别过孔状态,可以直接双击目标过孔,在属性面板中勾选 `Tent Top` 或 `Tent Bottom`。 - 使用规则统一设置适用于整板过孔操作,避免因过孔类别过多导致的遗漏问题[^1]。 - 过孔可防止焊接过程中锡膏误涂,但若需要后期调试时方便短接,部分设计可能会选择开窗处理[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值