KiCad PCB EDA Suite
Loading...
Searching...
No Matches
panel_setup_rules_help_8expression_functions.h
Go to the documentation of this file.
1// Do not edit this file, it is autogenerated by CMake from the .md file
2_HKI( "### Expression functions\n"
3"\n"
4"All function parameters support simple wildcards (`*` and `?`).\n"
5"\n"
6"Arguments can also be expressions. For example,\n"
7"`A.intersectsFrontCourtyard(B.Parent)` tests whether `A` intersects the front\n"
8"courtyard of `B`'s parent footprint.\n"
9"\n"
10"\n"
11"```\n"
12" A.enclosedByArea('<zone_name>')\n"
13"```\n"
14"> True if all of `A` lies within the given zone's outline.\n"
15"\n"
16"> NB: this is potentially a more expensive call than `intersectsArea()`.\n"
17"Use `intersectsArea()` where possible.\n"
18"\n"
19"\n"
20"```\n"
21" A.existsOnLayer('<layer_name>')\n"
22"```\n"
23"> True if `A` exists on the given layer. The layer name can be\n"
24"either the name assigned in Board Setup > Board Editor Layers or\n"
25"the canonical name (ie: `F.Cu`).\n"
26"\n"
27"> NB: this returns true if `A` is on the given layer, independently\n"
28"of whether or not the rule is being evaluated for that layer.\n"
29"For the latter use a `(layer \"layer_name\")` clause in the rule.\n"
30"\n"
31"\n"
32"```\n"
33" A.fromTo('x', 'y')\n"
34"```\n"
35"> True if the object exists on the copper path between the given\n"
36"pads. `x` and `y` are the full names of pads in the design, such as\n"
37"`R1-Pad1`.\n"
38"\n"
39"\n"
40"```\n"
41" A.getField('<field_name>')\n"
42"```\n"
43"> The value of the given field. Only footprints have fields, so a field is only returned if\n"
44"`A` is a footprint.\n"
45"\n"
46"\n"
47"```\n"
48" A.hasComponentClass('<component_class_name>')\n"
49"```\n"
50"> True if the set of component classes assigned to `A` contains the named\n"
51"component class.\n"
52"\n"
53"\n"
54"```\n"
55" A.hasNetclass('<netclass_name>')\n"
56"```\n"
57"> True if `A` has had the given netclass assigned to it, either by an explicit netclass label\n"
58"or through a pattern match assignment.\n"
59"\n"
60"\n"
61"```\n"
62" A.inDiffPair('<net_name>')\n"
63"```\n"
64"> True if `A` has a net that is part of the specified differential pair.\n"
65"`<net_name>` is the base name of the differential pair.\n"
66"For example, `inDiffPair('/CLK')` matches items in the `/CLK_P` and `/CLK_N` nets.\n"
67"\n"
68"\n"
69"\n"
70"```\n"
71" A.inNetChain('<chain_name>')\n"
72"```\n"
73"> True if `A`'s net is a member of the named chain. `<chain_name>`\n"
74"accepts wildcards: `inNetChain('DDR_*')` matches every chain whose\n"
75"name starts with `DDR_`.\n"
76"\n"
77"\n"
78"\n"
79"```\n"
80" A.hasNetChain()\n"
81"```\n"
82"> True if `A`'s net belongs to any chain.\n"
83"\n"
84"\n"
85"\n"
86"```\n"
87" A.inNetChainClass('<class_name>')\n"
88"```\n"
89"> True if `A`'s net belongs to a chain whose assigned chain class\n"
90"matches `<class_name>`. Class assignments live in the project's\n"
91"`net_chain_classes` map. `<class_name>` accepts wildcards.\n"
92"\n"
93"\n"
94"\n"
95"```\n"
96" A.intersectsArea('<zone_name>')\n"
97"```\n"
98"> True if any part of `A` lies within the given zone's outline.\n"
99"\n"
100"\n"
101"```\n"
102" A.intersectsCourtyard('<footprint_identifier>')\n"
103"```\n"
104"> True if any part of `A` lies within the given footprint's principal courtyard.\n"
105"\n"
106"\n"
107"```\n"
108" A.intersectsFrontCourtyard('<footprint_identifier>')\n"
109"```\n"
110"> True if any part of `A` lies within the given footprint's front courtyard.\n"
111"\n"
112"\n"
113"```\n"
114" A.intersectsBackCourtyard('<footprint_identifier>')\n"
115"```\n"
116"> True if any part of `A` lies within the given footprint's back courtyard.\n"
117"\n"
118"\n"
119"> The `footprint_identifier` listed above can be one of the following:\n"
120"\n"
121"> 1. A reference designator, possibly containing wildcards `*` and `?`\n"
122"> 2. A footprint library identifier such as `LibName:FootprintName`. In this case,\n"
123" the library identifier must contain the `:` character to separate the library\n"
124" name from the footprint name, and either name may contain wildcards.\n"
125"> 3. A component class, in the form `${Class:ClassName}`. The keyword `Class` is not\n"
126" case-sensitive, but component class names are case-sensitive.\n"
127"\n"
128"\n"
129"```\n"
130" AB.isCoupledDiffPair()\n"
131"```\n"
132"> True if `A` and `B` are members of the same diff pair.\n"
133"\n"
134"\n"
135"```\n"
136" A.isMicroVia()\n"
137"```\n"
138"> True if `A` is a microvia.\n"
139"\n"
140"\n"
141"```\n"
142" A.isBlindVia()\n"
143"```\n"
144"> True if `A` is a blind via.\n"
145"\n"
146"\n"
147"```\n"
148" A.isBuriedVia()\n"
149"```\n"
150"> True if `A` is a buried via.\n"
151"\n"
152"\n"
153"```\n"
154" A.isStackedVia()\n"
155"```\n"
156"> True if `A` is a microvia that lands on another microvia, or is landed on by one.\n"
157"\n"
158"> The test is hole overlap, so a staggered pair counts whenever the holes touch.\n"
159"\n"
160"\n"
161"```\n"
162" A.isPlated()\n"
163"```\n"
164"> True if `A` has a hole which is plated.\n"
165"\n"
166"\n"
167"```\n"
168" A.memberOfGroup('<group_name>')\n"
169"```\n"
170"> True if `A` is a member of the given group\n"
171"The name can contain wildcards.\n"
172"Includes nested membership.\n"
173"\n"
174"\n"
175"```\n"
176" A.memberOfFootprint('<footprint_identifier>')\n"
177"```\n"
178"> True if `A` is a member of a given footprint\n"
179"(for example, a pad or graphic shape defined inside that footprint).\n"
180"The various ways of specifying `footprint_identifier` are described above.\n"
181"\n"
182"\n"
183"```\n"
184" A.memberOfSheet('<sheet_path>')\n"
185"```\n"
186"> True if `A` is a member of the given schematic sheet.\n"
187"The sheet path can contain wildcards.\n"
188"\n"
189"\n"
190"```\n"
191" A.memberOfSheetOrChildren('<sheet_path>')\n"
192"```\n"
193"> True if `A` is a member of the given schematic sheet, or any of its child hierarchical sheets.\n"
194"The sheet path can contain wildcards.\n"
195"\n"
196"\n"
197"" );
#define _HKI(x)
Definition page_info.cpp:40