MATRIX Array Level: 3
The BOOLEAN array performs boolean logic on any selected object sets and/or layers.
Fields in the BOOLEAN array
| Description |
| JOB=NAME | The name of the Job to perform Boolean logic. Required. Dynamic Job References are also supported. |
| UNITS=VALUE | Units to use for this BOOLEAN array only. Choose from: mil mm cm inch um (default: mm)
|
| ADD=VALUE | Perform boolean operation (OR) between layers and/or groups.
ADD=OPERAND_A,OPERAND_B,OUTPUT_LAYER
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OPERAND_B Assign Objects for Operand B. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
|
| SUBTRACT=VALUE | Perform boolean operation Subtract between layers and/or groups.
SUBTRACT=OPERAND_A,OPERAND_B,OUTPUT_LAYER
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OPERAND_B Assign Objects for Operand B. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
|
| INTERSECT=VALUE | Perform boolean operation (AND). Used to show similarities between groups.
INTERSECT=OPERAND_A,OPERAND_B,OUTPUT_LAYER
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OPERAND_B Assign Objects for Operand B. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
|
| XOR=VALUE | Perform boolean operation (XOR) between layers and/or groups. Used to show differences between groups.
XOR=OPERAND_A,OPERAND_B,OUTPUT_LAYER
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OPERAND_B Assign Objects for Operand B. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
|
| INVERT=VALUE | Perform boolean operation Invert.
INVERT=OPERAND_A,OUTPUT_LAYER
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
|
| SIZE=VALUE | Perform boolean operation OR plus over/under size. Offset per side.
SIZE=OPERAND_A,OUTPUT_LAYER,OFFSET
OPERAND_A Assign Objects for Operand A. Can be either: Layer name, Dynamic Layer Types, or Selection set.
OUTPUT_LAYER Layer for the boolean output results. If undefined, a name starting with "BoolLayer..." will be created for the output layer.
OFFSET Distance per side to either enlarge or reduce.
|
| METHOD=VALUE | Determines how resulting polygons will be output. This is optional. Default: Standard
Choose either method: STANDARD, CUTLINES, TRIANGLES
STANDARD All output objects will be optimized.
CUTLINES All output objects will have a cutline connecting any islands.
TRIANGLES All output objects will output as tesselated triangles.
|
Example BOOLEAN Array:
XML example:
<!-- Moves objects contained in selection set "TopLayerPadsSet" 1 inch in X direction, and 3 inches in Y direction. -->
<BOOLEAN>
<JOB>@active</JOB>
<INTERSECT>[Top],[Top_Mask],MyLayerExposedCopperTop</INTERSECT>
<INTERSECT>[Bottom],[Bottom_Mask],MyLayerExposedCopperBottom</INTERSECT>
</BOOLEAN>
JSON example:
{
"BOOLEAN": {
"JOB": "@active",
"INTERSECT": "[Top],[Top_Mask],MyLayerExposedCopperTop",
"INTERSECT": "[Bottom],[Bottom_Mask],MyLayerExposedCopperBottom"
}
}
LEGACY example:
# Use Boolean Intersection (AND) to create exposed copper areas (i.e areas where copper layer intersects soldermask layer).
BOOLEAN {
JOB=@active
INTERSECT=[Top],[Top_Mask],MyLayerExposedCopperTop
INTERSECT=[Bottom],[Bottom_Mask],MyLayerExposedCopperBottom
}