Loading...
Searching...
No Matches
Go to the documentation of this file.
2_HKI(
"### Expression functions\n"
4"All function parameters support simple wildcards (`*` and `?`).\n"
7" A.enclosedByArea('<zone_name>')\n"
8"True if all of `A` lies within the given zone's outline.\n"
10"NB: this is potentially a more expensive call than `intersectsArea()`. Use `intersectsArea()`\n"
14" A.existsOnLayer('<layer_name>')\n"
15"True if `A` exists on the given layer. The layer name can be\n"
16"either the name assigned in Board Setup > Board Editor Layers or\n"
17"the canonical name (ie: `F.Cu`).\n"
19"NB: this returns true if `A` is on the given layer, independently\n"
20"of whether or not the rule is being evaluated for that layer.\n"
21"For the latter use a `(layer \"layer_name\")` clause in the rule.\n"
24" A.fromTo('x', 'y')\n"
25"True if the object exists on the copper path between the given \n"
26"pads. `x` and `y` are the full names of pads in the design, such as \n"
30" A.getField('<field_name>')\n"
31"The value of the given field. Only footprints have fields, so a field is only returned if\n"
32"`A` is a footprint.\n"
35" A.hasComponentClass('<component_class_name>')\n"
36"True if the set of component classes assigned to `A` contains the named \n"
40" A.hasNetclass('<netclass_name>')\n"
41"True if `A` has had the given netclass assigned to it, either by an explicit netclass label\n"
42"or through a pattern match assignment.\n"
45" A.inDiffPair('<net_name>')\n"
46"True if `A` has a net that is part of the specified differential pair.\n"
47"`<net_name>` is the base name of the differential pair. For example, `inDiffPair('/CLK')`\n"
48"matches items in the `/CLK_P` and `/CLK_N` nets.\n"
51" A.intersectsArea('<zone_name>')\n"
52"True if any part of `A` lies within the given zone's outline.\n"
55" A.intersectsCourtyard('<footprint_identifier>')\n"
56"True if any part of `A` lies within the given footprint's principal courtyard.\n"
59" A.intersectsFrontCourtyard('<footprint_identifier>')\n"
60"True if any part of `A` lies within the given footprint's front courtyard.\n"
63" A.intersectsBackCourtyard('<footprint_identifier>')\n"
64"True if any part of `A` lies within the given footprint's back courtyard.\n"
67"The `footprint_identifier` listed above can be one of the following:\n"
69"1. A reference designator, possibly containing wildcards `*` and `?`\n"
70"2. A footprint library identifier such as `LibName:FootprintName`. In this case,\n"
71" the library identifier must contain the `:` character to separate the library\n"
72" name from the footprint name, and either name may contain wildcards.\n"
73"3. A component class, in the form `${Class:ClassName}`. The keyword `Class` is not\n"
74" case-sensitive, but component class names are case-sensitive.\n"
78" A.isBlindBuriedVia()\n"
79"True if `A` is a blind/buried via.\n"
82" AB.isCoupledDiffPair()\n"
83"True if `A` and `B` are members of the same diff pair.\n"
87"True if `A` is a microvia.\n"
91"True if `A` has a hole which is plated.\n"
94" A.memberOfGroup('<group_name>')\n"
95"True if `A` is a member of the given group. The name can contain wildcards.\n"
96"Includes nested membership.\n"
99" A.memberOfFootprint('<footprint_identifier>')\n"
100"True if `A` is a member of a given footprint (for example, a pad or graphic shape defined\n"
101"inside that footprint). The various ways of specifying `footprint_identifier` are described above.\n"
104" A.memberOfSheet('<sheet_path>')\n"
105"True if `A` is a member of the given schematic sheet. The sheet path can contain wildcards.\n"