KiCad 11 新功能速递(五):按属性查找,让 PCB 批量选择像筛数据库一样简单

财经达人 by:财经达人 分类:地产观察 时间:2026/09/26 阅读:5434

一次选中所有 GND 过孔、所有 47uF 电容、所有未锁定封装,或者所有位于 F.Cu 的对象,KiCad 11 新增的Find by Properties(按属性查找),正在把过去依赖框选、过滤器甚至脚本的操作,变成可复用的属性查询。

wKgZO2qzRDaAeHaUAAlF0Ca6nEM930.png

在一块元件密集、布线复杂的 PCB 上,“找到一个对象”通常不难。

真正麻烦的是:找到所有具有相同特征的对象。

批量选中所有 GND 缝合过孔并删除;

找出所有 47uF 电容,统一检查封装或装配属性;

选中某一层上的全部图形或封装;

找到所有未锁定的封装,再统一锁定;

筛出特定孔径的过孔,或特定线宽、特定网络的走线。

过去,选择过滤器只能限制“允许点选哪类对象”,普通查找更偏向位号和文本;面对多个属性组合时,工程师往往仍要手工框选,或者写脚本处理。

KiCad 11 新增的Find by Properties,则把 PCB 对象的属性系统直接变成了一套选择工具。

以一个 47uF 电容为参考,按照 Value 属性查找并选中所有匹配封装。

按属性查找(类似AD的FSO)

功能入口位于 PCB 编辑器:

Edit → Find by Properties…

wKgZO2qzRDeAGV03AAaLTLCFMmg907.pngFind by Properties 位于 PCB 编辑器的 Edit 菜单中。

这项功能本身不会自动修改 PCB。它首先按照属性条件生成一组选择结果;随后,工程师可以继续使用属性管理器、删除、锁定、移动、更换封装等现有工具,对这些对象进行批量处理。

第一种方式:从一个参考对象出发

对大多数工程师来说,From Selection会是最直接的使用方式。

在 PCB 上选中一个或多个参考对象;

打开 Find by Properties;

为需要参与筛选的属性选择匹配方式;

点击Select Matching。

KiCad 会自动读取当前选择的可用属性,并显示 Property、Value 和 Match 三列。

模式 作用
Ignored 忽略该属性,不参与筛选。
Matching 候选对象必须与参考值相同。
Different 候选对象必须与参考值不同。

启用多个属性时,条件会组合使用。比如选择一个封装,同时把Value和Layer设为 Matching,就可以只选择“数值相同且位于同一层”的封装。

实例:选中全部 GND 过孔

先在板上选中一个 GND 过孔,再把它的网络属性设为Matching。由于参考对象是 Via,KiCad 会在同类对象中寻找具有相同网络属性的过孔,而不是把焊盘、走线和铜区也全部混入结果。

这特别适合删除旧的 GND 缝合过孔、统一修改孔径、检查层间连接,或者在移动大批元件前清理过孔阵列。

参考选择决定了搜索对象类型

From Selection 并不是在所有 PCB 对象中毫无限制地搜索。如果参考项是封装,结果默认也是封装;参考项是过孔,结果也是过孔。选择多种对象类型时,界面只展示这些类型共同拥有的可用属性。

这种设计可以减少误选:工程师通常先用“对象类型”确定范围,再用属性缩小结果。

多个参考对象的值不同怎么办?

当同时选择多个对象,而某个属性的值不一致时,KiCad 会把该值显示为<...>。这种混合属性没有唯一参考值,因此不能直接设为 Matching 或 Different。工程师可以改选一个更明确的参考对象,或者切换到 Query 模式。

第二种方式:像写 DRC 条件一样查询 PCB

需要更复杂的组合条件时,可以切换到Query页面。

Query 模式复用了 KiCad 自定义 DRC 规则的表达式引擎。它支持属性自动补全、语法检查和最近使用记录,还可以通过Create from Selection Tab,把前一个页面配置好的条件自动转换成表达式。

wKgZO2qzRDeAAe5zAAHr0MjT4Bw699.png

使用 A.Value == '47uF' 查询对象。Query 页面提供语法检查、最近查询和选择结果控制。

# 选择全部 GND 过孔A.Type=='Via'&& A.NetName =='GND'
# 选择全部数值为 47uF 的封装A.Type=='Footprint'&& A.Value =='47uF'
# 选择顶层所有未锁定封装A.Type=='Footprint'&& A.Layer =='F.Cu'&& !A.Locked

这里的A表示当前正在被测试的 PCB 对象。

使用提示:把Type条件写清楚通常更安全。KiCad 的部分属性会由父封装继承给子对象,只写A.Value == '47uF'时,可能同时匹配封装及其焊盘或图形;增加A.Type == 'Footprint',结果会更加可控。

从图形界面自动生成查询

先在 From Selection 页面配置 Matching / Different,再点击Create from Selection Tab,软件会自动生成类似下面的表达式:

A.Value=='47uF'&& A.Layer =='F.Cu'

工程师可以直接执行,也可以在此基础上继续加入网络、类型、锁定状态或其他条件。这让简单筛选保留图形化操作,复杂筛选又拥有表达式的灵活性。

查询结果还能怎样控制?

Deselect non-matching items

启用后,原有选择会被清除,只保留本次匹配结果。关闭后,新匹配对象会加入现有选择,更适合分多次构建一组对象。

Zoom to fit selected items

启用后,KiCad 会自动缩放视图,使全部匹配对象进入可视范围。对于散布在整块 PCB 上的对象,这也能帮助工程师快速判断查询条件是否过宽或过窄。

哪些工作会明显受益?

过孔与走线清理

按网络、类型、孔径、尺寸、线宽或锁定状态批量选择对象,尤其适合大面积 GND 过孔、历史遗留走线和规则变更后的统一整理。

元件布局维护

查找相同 Value、相同库链接、相同层或相同旋转方向的封装,然后统一移动、锁定、翻面或更换封装。

装配与设计变体检查

筛选 DNP、排除 BOM、排除坐标文件等属性,快速核对当前装配方案中哪些器件被包含或排除。

规则审查前的预检查

先用与自定义 DRC 相似的表达式把目标对象选出来并缩放显示,确认条件是否命中了预期对象,再把思路写入正式设计规则。

它与“选择过滤器”有什么不同?

工具 它回答的问题
Selection Filter 鼠标现在允许选什么类型的对象?
Find by Properties 整块 PCB 中,哪些对象满足这组属性条件?

前者主要按对象类别工作;后者可以进一步按照网络、层、数值、锁定状态、几何参数以及其他属性筛选。两者不是替代关系,而是可以组合使用。

当前需要注意的边界

第一,该功能目前面向 PCB 编辑器,原理图编辑器尚不支持。

第二,Query 虽然复用自定义 DRC 规则表达式语法,但目前只支持单一对象。不支持用B.编写需要同时比较两个对象的成对条件。

第三,它生成的是选择结果,并不会自动完成修改。批量删除、调整属性或移动对象仍然是后续独立操作。

第四,KiCad 11 仍处于开发阶段。正式版本发布前,菜单位置、中文翻译、可查询属性和界面细节仍可能继续调整。尝试 nightly 开发版时,建议保留工程备份。

从“属性面板”走向“属性驱动的操作”

Find by Properties 看起来不像 3D 引擎或布线器那样醒目,却是一项非常典型的专业效率功能。过去,PCB 对象的属性更多是“选中之后查看或修改的数据”;现在,这些属性开始反过来驱动选择和操作。

对于经常维护复杂 PCB 的工程师来说,它很可能会成为一个用了就很难回去的功能。

审核编辑 黄宇


TOP