| _HKI |
( |
"### Expression functions\n" "\n" "All function parameters support simple wildcards (`*` and `?`).\n" "\n" "Arguments can also be expressions. For | example, |
|
|
\n" "`A.intersectsFrontCourtyard(B.Parent)` tests whether `A` intersects the front\n" "courtyard of `B` 's parent footprint.\n" "\n" "\n" "```\n" " A.enclosedByArea('< zone_name >')\n" "```\n" " | , |
|
|
True if all of `A` lies within the given zone 's outline.\n" "\n" " | , |
|
|
NB:this is potentially a more expensive call than `intersectsArea()`.\n" "Use `intersectsArea()` where possible.\n" "\n" "\n" "```\n" " A.existsOnLayer('< layer_name >')\n" "```\n" " | , |
|
|
True if `A` exists on the given layer. The layer name can be\n" "either the name assigned in Board | Setup, |
|
|
Board Editor Layers or\n" "the canonical name(ie:`F.Cu`).\n" "\n" " | , |
|
|
NB:this returns true if `A` is on the given | layer, |
|
|
independently\n" "of whether or not the rule is being evaluated for that layer.\n" "For the latter use a `(layer \"layer_name\")` clause in the rule.\n" "\n" "\n" "```\n" " A.fromTo('x', 'y')\n" "```\n" " | , |
|
|
True if the object exists on the copper path between the given\n" "pads. `x` and `y` are the full names of pads in the | design, |
|
|
such as\n" "`R1-Pad1`.\n" "\n" "\n" "```\n" " A.getField('< field_name >')\n" "```\n" " | , |
|
|
The value of the given field. Only footprints have | fields, |
|
|
so a field is only returned if\n" "`A` is a footprint.\n" "\n" "\n" "```\n" " A.hasComponentClass('< component_class_name >')\n" "```\n" " | , |
|
|
True if the set of component classes assigned to `A` contains the named\n" "component class.\n" "\n" "\n" "```\n" " A.hasNetclass('< netclass_name >')\n" "```\n" " | , |
|
|
True if `A` has had the given netclass assigned to | it, |
|
|
either by an explicit netclass label\n" "or through a pattern match assignment.\n" "\n" "\n" "```\n" " A.inDiffPair('< net_name >')\n" "```\n" " | , |
|
|
True if `A` has a net that is part of the specified differential pair.\n" "`< net_name >` is the base name of the differential pair.\n" "For | example, |
|
|
`inDiffPair('/CLK')` matches items in the `/CLK_P` and `/CLK_N` nets.\n" "\n" "\n" "\n" "```\n" " A.inNetChain('< chain_name >')\n" "```\n" " | , |
|
|
True if `A` 's net is a member of the named chain. `< chain_name >`\n" "accepts wildcards:`inNetChain('DDR_ *')` matches every chain whose\n" "name starts with `DDR_`.\n" "\n" "\n" "\n" "```\n" " A.hasNetChain()\n" "```\n" " | , |
|
|
True if `A` 's net belongs to any chain.\n" "\n" "\n" "\n" "```\n" " A.inNetChainClass('< class_name >')\n" "```\n" " | , |
|
|
True if `A` 's net belongs to a chain whose assigned chain class\n" "matches `< class_name >`. Class assignments live in the project 's\n" "`net_chain_classes` map. `< class_name >` accepts wildcards.\n" "\n" "\n" "\n" "```\n" " A.intersectsArea('< zone_name >')\n" "```\n" " | , |
|
|
True if any part of `A` lies within the given zone 's outline.\n" "\n" "\n" "```\n" " A.intersectsCourtyard('< footprint_identifier >')\n" "```\n" " | , |
|
|
True if any part of `A` lies within the given footprint 's principal courtyard.\n" "\n" "\n" "```\n" " A.intersectsFrontCourtyard('< footprint_identifier >')\n" "```\n" " | , |
|
|
True if any part of `A` lies within the given footprint 's front courtyard.\n" "\n" "\n" "```\n" " A.intersectsBackCourtyard('< footprint_identifier >')\n" "```\n" " | , |
|
|
True if any part of `A` lies within the given footprint 's back courtyard.\n" "\n" "\n" " | , |
|
|
The `footprint_identifier` listed above can be one of the following:\n" "\n" " | , |
|
|
1. A reference | designator, |
|
|
possibly containing wildcards ` *` and `?`\n" " | , |
|
|
2. A footprint library identifier such as `LibName:FootprintName`. In this | case, |
|
|
\n" " the library identifier must contain the `:` character to separate the library\n" " name from the footprint | name, |
|
|
and either name may contain wildcards.\n" " | , |
|
|
3. A component | class, |
|
|
in the form `${Class:ClassName}`. The keyword `Class` is not\n" " case- | sensitive, |
|
|
but component class names are case-sensitive.\n" "\n" "\n" "```\n" " AB.isCoupledDiffPair()\n" "```\n" " | , |
|
|
True if `A` and `B` are members of the same diff pair.\n" "\n" "\n" "```\n" " A.isMicroVia()\n" "```\n" " | , |
|
|
True if `A` is a microvia.\n" "\n" "\n" "```\n" " A.isBlindVia()\n" "```\n" " | , |
|
|
True if `A` is a blind via.\n" "\n" "\n" "```\n" " A.isBuriedVia()\n" "```\n" " | , |
|
|
True if `A` is a buried via.\n" "\n" "\n" "```\n" " A.isStackedVia()\n" "```\n" " | , |
|
|
True if `A` is a microvia that lands on another | microvia, |
|
|
or is landed on by one.\n" "\n" " | , |
|
|
The test is hole | overlap, |
|
|
so a staggered pair counts whenever the holes touch.\n" "\n" "\n" "```\n" " A.isPlated()\n" "```\n" " | , |
|
|
True if `A` has a hole which is plated.\n" "\n" "\n" "```\n" " A.memberOfGroup('< group_name >')\n" "```\n" " | , |
|
|
True if `A` is a member of the given group\n" "The name can contain wildcards.\n" "Includes nested membership.\n" "\n" "\n" "```\n" " A.memberOfFootprint('< footprint_identifier >')\n" "```\n" " | , |
|
|
True if `A` is a member of a given footprint\n" "(for example, a pad or graphic shape defined inside that footprint).\n" "The various ways of specifying `footprint_identifier` are described above.\n" "\n" "\n" "```\n" " A.memberOfSheet('< sheet_path >')\n" "```\n" " | , |
|
|
True if `A` is a member of the given schematic sheet.\n" "The sheet path can contain wildcards.\n" "\n" "\n" "```\n" " A.memberOfSheetOrChildren('< sheet_path >')\n" "```\n" " | , |
|
|
True if `A` is a member of the given schematic | sheet, |
|
|
or any of its child hierarchical sheets.\n" "The sheet path can contain wildcards.\n" "\n" "\n" "" | ) |