Numerical Matrix Format
User Reference
FILTER array

MATRIX Array Level: 1

The FILTER array is used to permit only specific objects of a Selection Set to pass. This should be defined before SELECTION array. Each FILTER array represents one selection filter only. Selection filters are distinguished by their name. Unlimited Selection filters are permitted, and referenced solely by their name. Wildcards(*) are accetable.

Note
If you create multiple Filters using the same "name" - the previous Filter will be overwritten.
If the Filter Name is left empty (i.e blank), the "default" selection filter will be used.
If the Filter Name is defined as "active" or "current" - the last used Filter will be overwritten.
Fields in the FILTER array
Description
NAME=VALUE Assign Selection Filter name to use. See notes above about special Selection Filter Names.
UNITS=VALUE Units to use for this FILTER array only. Choose from: mil mm cm inch um (default: mm)
OBJECTS=TYPE

Select Object types: All, Pad, Trace, Drill, Mill, Polygon, Text, Insert, Line, Arc. Multiple Object types are separated by commas. If left blank, the default "All" will be used.

DCODES=RANGES Enter Gerber Dcode numbers, separated by commas.
COMPOSITES=RANGES Enter Composite levels, separated by commas.
NCTOOLS=RANGES

Enter NC tool numbers, separated by commas.

LAYERS=NAMES Enter Layer names or Dynamic Layer Types. Wildcards are permitted.
NETS=NAMES Enter net names. Wildcards are permitted.
APERTURES=NAMES

Enter any aperture shapes, separated by commas. Wildcards are permitted.

Note
Semicolons(;) can be used as a shortcut to include multiple aperture definition on a single line.
Units can be explicitally typecasted for numerical values with: mm, in, cm, mil 0.1mm, 0.1in, 0.1cm, 0.1mil

Ex: circle Selects all circles
Ex: z<=0.254 Component Z-Height less than 0.254
Ex: rectangle,height>0.1in,width<0.01in Selects all objects with Rectangle height greater than 0.1 inch and width less than 0.1 inch
Ex: circle;rectangle,height>0.5mm,width>0.5mm Multiple definitions: (#1) Selects all circles (#2) All Rectangle Apertures greater than 0.5mm width and height
Default: None

Available Aperture Shapes >

COMPONENTS=NAMES

Locate component objects using Refdes, PN, Package, and sizes.
Ex: U22 (component with refdes U22)
Ex: pkg=amd_2345 (component using package amd_2345)
Ex: pin=44GND (component with pin name 44GND)
Ex: pn=150060VS75 (component using Part #: 150060VS75)
Ex: z<=0.254 (component Z-Height less than 0.254)
Default: None

INSERTS=NAMES

Locate inserts by reference names.
Ex: pcb5235 (insert using job pcb5235)
Ex: pcb23*;PCB13;PCBSnap (multiple inserts)
Default: None

PADSTACKS=NAMES Locate objects by pad stack names.
Default: None
ATTRIBUTES=NAME_VALUE_PAIRS Locate objects using their Attribute values.
Attributes are defined by pair NAME:VALUE
VALUE is optional. Not case-sensitive.
Ex: .smd (attribute .smd using any value)
Ex: .pad_usage:toeprint (.pad_usage with value toeprint)
Ex: .smd;.pad_usage:toeprint (multiple attributes)
Default: None
PROPERTIES=NAME_VALUE_PAIRS

Locate objects using their Property values.
Properties are defined by pair NAME:VALUE
VALUE is optional. Not case-sensitive.
Ex: PART_NO (property named PART_NO with any value)
Ex: REQ_NUMBER:9241 (REQ_NUMBER with value 9241)
Ex: PART_NO;REQ_NUMBER:9241 (multiple properties)
Default: None


RANGES:
Enter any numbers/ranges separated by commas. If left empty or not defined, all numbers/ranges will be permitted.
To Exclude any number/ranges, use ! (the exclaimation mark).
Include: 10,13,15-22
Exclude: !10,!30-45

NAMES:
Wildcards(*) are accetable >

Note
NAMES are separated by comma. Use semicolon ; to include multiple definitions.

NETS=Gnd*; net343; art1[0-9]
APERTURES=rectangle,height>0.1in,width<0.01in; Selects all objects with Aperture shape Rectangle, height greater than 0.1 inch and width less than 0.1 inch
REFDES=U21
;R123,C14

NAME_VALUE_PAIRS:
Attributes are defined by their NAME:VALUE pair. Separated by semicolon ; Wildcards(*) are accetable >
ATTRIBUTES=.smd:yes;.pad_usage:toeprint;mycolor:blue Selects any objects with these attributes: .smd equals yes; .pad_usage equals toeprint; mycolor equals blue
ATTRIBUTES=.smd;.pad_usage:via;*:blue Selects any objects with these attributes: .smd (any value); .pad_usage equals via; (any name where) value equals blue

FILTER {
NAME=MyMaskLayers
LAYERS=[Mask]
}
FILTER {
NAME=Top metal round pads less than 1mm
LAYERS=[Top]
OBJECTS=Pad
APERTURES=circle,width<1mm
}

XML example:

<FILTER>
<NAME>MyMaskLayers</NAME>
<LAYERS>[Mask]</LAYERS>
</FILTER>
<FILTER>
<NAME>Top metal round pads less than 1mm</NAME>
<LAYERS>[Top]</LAYERS>
<OBJECTS>Pad</OBJECTS>
<APERTURES>circle,width&lt;1mm</APERTURES>
</FILTER>

JSON example:

"FILTER": {
"NAME": "MyMaskLayers",
"LAYERS": "[Mask]"
}
"FILTER": {
"NAME": "Top metal round pads less than 1mm",
"LAYERS": "[Top]",
"OBJECTS": "Pad",
"APERTURES": "circle,width<1mm"
}