### Expression functions All function parameters support simple wildcards (`*` and `?`).

A.enclosedByArea('') True if all of `A` lies within the given zone's outline. NB: this is potentially a more expensive call than `intersectsArea()`. Use `intersectsArea()` where possible.

A.existsOnLayer('') True if `A` exists on the given layer. The layer name can be either the name assigned in Board Setup > Board Editor Layers or the canonical name (ie: `F.Cu`). NB: this returns true if `A` is on the given layer, independently of whether or not the rule is being evaluated for that layer. For the latter use a `(layer "layer_name")` clause in the rule.

A.fromTo('x', 'y') True if the object exists on the copper path between the given pads. `x` and `y` are the full names of pads in the design, such as `R1-Pad1`.

A.getField('') The value of the given field. Only footprints have fields, so a field is only returned if `A` is a footprint.

A.hasComponentClass('') True if the set of component classes assigned to `A` contains the named component class.

A.hasNetclass('') True if `A` has had the given netclass assigned to it, either by an explicit netclass label or through a pattern match assignment.

A.inDiffPair('') True if `A` has a net that is part of the specified differential pair. `` is the base name of the differential pair. For example, `inDiffPair('/CLK')` matches items in the `/CLK_P` and `/CLK_N` nets.

A.intersectsArea('') True if any part of `A` lies within the given zone's outline.

A.intersectsCourtyard('') True if any part of `A` lies within the given footprint's principal courtyard.

A.intersectsFrontCourtyard('') True if any part of `A` lies within the given footprint's front courtyard.

A.intersectsBackCourtyard('') True if any part of `A` lies within the given footprint's back courtyard.

The `footprint_identifier` listed above can be one of the following: 1. A reference designator, possibly containing wildcards `*` and `?` 2. A footprint library identifier such as `LibName:FootprintName`. In this case, the library identifier must contain the `:` character to separate the library name from the footprint name, and either name may contain wildcards. 3. A component class, in the form `${Class:ClassName}`. The keyword `Class` is not case-sensitive, but component class names are case-sensitive.
A.isBlindBuriedVia() True if `A` is a blind/buried via.

AB.isCoupledDiffPair() True if `A` and `B` are members of the same diff pair.

A.isMicroVia() True if `A` is a microvia.

A.isPlated() True if `A` has a hole which is plated.

A.memberOfGroup('') True if `A` is a member of the given group. The name can contain wildcards. Includes nested membership.

A.memberOfFootprint('') True if `A` is a member of a given footprint (for example, a pad or graphic shape defined inside that footprint). The various ways of specifying `footprint_identifier` are described above.

A.memberOfSheet('') True if `A` is a member of the given schematic sheet. The sheet path can contain wildcards.

A.memberOfSheetOrChildren('') True if `A` is a member of the given schematic sheet, or any of its child hierarchical sheets. The sheet path can contain wildcards.