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()`.\n" 
   11"        Use `intersectsArea()` where possible.\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.\n" 
   48"        For example, `inDiffPair('/CLK')` 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" 
   77"    AB.isCoupledDiffPair()\n" 
   78"        True if `A` and `B` are members of the same diff pair.\n" 
   82"        True if `A` is a microvia.\n" 
   86"        True if `A` is a blind via.\n" 
   90"        True if `A` is a buried via.\n" 
   94"        True if `A` has a hole which is plated.\n" 
   97"    A.memberOfGroup('<group_name>')\n" 
   98"        True if `A` is a member of the given group\n" 
   99"        The name can contain wildcards.\n" 
  100"        Includes nested membership.\n" 
  103"    A.memberOfFootprint('<footprint_identifier>')\n" 
  104"        True if `A` is a member of a given footprint\n" 
  105"        (for example, a pad or graphic shape defined inside that footprint).\n" 
  106"        The various ways of specifying `footprint_identifier` are described above.\n" 
  109"    A.memberOfSheet('<sheet_path>')\n" 
  110"        True if `A` is a member of the given schematic sheet.\n" 
  111"        The sheet path can contain wildcards.\n" 
  114"    A.memberOfSheetOrChildren('<sheet_path>')\n" 
  115"        True if `A` is a member of the given schematic sheet, or any of its child hierarchical sheets.\n" 
  116"        The sheet path can contain wildcards.\n"