高级设计搜索
为了在硬件设计项目中定位、列出并高亮显示设计对象,Altium Workspace 内置了一个强大的搜索引擎,它基于灵活的查询语法。该搜索系统可在 Web Viewer 中访问,能够简化你查找所需精确信息的任务——从简单地隔离某个特定元件,到分析对象、数据与连通性之间的复杂关系。
Web Viewer 的搜索功能提供了具备上下文感知的用户界面,会根据可用的设计数据以及当前激活的查询关键字给出建议。它建立在熟悉的 field:value 语法结构之上,Advanced Search 提供了一组运算符,用于构建围绕逻辑、类别、范围与连接属性的复杂查询。更多信息请参阅 Search Query Reference。
可从 Web Viewer 顶部的 Search 字段进入搜索命令界面。搜索结果会通过对象选择与高亮显示呈现;当结果包含多个对象时,会在右侧的 Search Results 窗格中以可选择列表的形式显示。
针对某个查询的高级搜索结果:查找具有特定封装类型(Case/Package:0402)的电容器元件(is:capacitor)。
Search Query Syntax
More information: Search Query Reference
在最基础的层面,你可以直接输入词条(值)来执行基本搜索,例如定位某个元件或网络。随着输入进行,搜索字段的下拉菜单会提供建议条目。请注意:
-
简单搜索基于一组按优先级排序的默认字段,例如
designator、net、元件名称(comment)等。 -
搜索条目不区分大小写。
-
支持星号通配符后缀(
*),用于匹配部分输入的搜索词。
除了用可用的元件与网络(
)填充搜索下拉列表外,系统还会提供可用的元件参数(Parameters)。选择某个参数,然后从列表中选择所需的值,即可定位所有匹配的元件。下面的示例查找 Tolerance 参数被设置为 10% 的元件——另一个示例可能是查找具有特定引脚数量的元件。
高级查询关键字
在输入任何搜索词之前,搜索下拉列表会提供一组适用的默认查询关键字(称为 Facets),用于执行高级搜索。这些关键字包括用于查找特定对象的词条,例如按元件 designator、comment(Name)和 footprint 搜索,或将搜索目标限定为特定的 document、layer 或 object 类型。
选择 Search 字段会调出其可用查询关键字的下拉列表,并按 Facets 分组显示。
这些选项还包括用于查找按类型、属性或类别定义的对象组的查询词。它们在使用 logic operators 细化现有查询时尤其有用,包括:
-
用于指定一组元件类型的
is查询词(is:passive、is:active、is:resistor、is:mechanical等)。 -
用于查找具有特定属性或参数的元件的
has查询(has:model3d、has:’Dropout Voltage’等)。 注意:当查找具有指定 参数的元件时,结果也会包含该参数值为空的条目。 -
用于定位按已应用的 design class 分组的对象的 class 关键字,例如元件、网络、差分对等(
(componentClass、diffPairClass等)。
设计连通性
搜索系统最有用的功能之一,是能够定位特定的电气连接,尤其是在复杂设计中。高级搜索提供了 ConnectsTo 查询关键字,它可以(字面意义上)定位并高亮显示与目标对象相连的所有电气连接,从而替代手动关联单个连接与网络来推导完整可视化理解的方式。更多信息请参阅 related reference。
例如,你可以查找与某个元件相连的所有元件、引脚与网络,或基于某个有源器件选择某段电路区域的完整连通性。
逻辑运算符
高级搜索的一项强大能力,是支持用逻辑表达式级联查询词,从而创建精确的搜索结构。逻辑运算符 AND、OR 和 NOT 允许你组合多个搜索词,以定制获得特定结果的查询,或通过叠加来细化现有搜索查询。
-
AND operator – 将返回匹配所有包含搜索词的结果。注意:当搜索词之间包含空格时(
term1 AND term2或term1 term2),会隐式使用AND运算符。Example。为特定电源轨定位去耦电容:
is:capacitor connectsTo:VCC5Example. 查找顶层(Top)上所有 0402 封装的电阻(由三个搜索词构成):
is:resistor Case/Package:0402 layer:top -
OR operator – 将返回匹配任意一个包含词条的结果。注意:当与
AND运算符组合使用时需要分组括号,因为OR的优先级低于AND。Example。查找电阻或电容类型的元件:
is:capacitor or is:resistor。使用括号的等效搜索为:is:(capacitor or resistor)。Example。在上述搜索基础上进一步细化,仅包含 0402 封装样式的元件:
(is:capacitor or is:resistor) and Case/Package:0402。注意:如果省略括号,搜索将返回无效结果。
-
NOT operator – 将返回排除指定词条的结果。
Example。基于元件 U1 查找某段电路区域的所有连接,同时排除相关的电源与地网络:
connectsTo:U1 not (net:gnd or net:bat*)
关系与范围运算符
关系运算符与范围运算符为基于查询的搜索提供了额外的灵活性,使搜索能够返回覆盖某个(通常为数值)数据跨度的结果。
-
Relational operators – 将返回匹配“大于”“小于”“等于”等数值比较条件的结果。可用运算符(
>、<、>=、<=)会在field:value语法中插入到数值/日期值之前。Example。定位板上 L3 内层的所有信号走线(此处为宽度小于 1.5mm 的走线):
object:track width:<0.15mm layer:L3 -
Range operator – 将返回在指定起止范围内(包含端点)匹配的结果。
field:value语法中的取值表达式以方括号[min to max]表示最小值到最大值。Example。查找 Value 在 10k 到 100k 之间的对象:
Value:[10k to 100k]。所应用的单位会隐式将目标指向 电阻,而无需将其显式定义为搜索目标:is:resistor Value:[10k to 100k]。















