Numerical Matrix File
User Reference
ADD array

The ADD array allows users to add objects. Both CELL and UNITS are required for each ADD array.

Note
Check out using Dynamic Layer Types, because they allow you to assign a layer type instead of implicitly defining each specific layer name. Dynamic layer types may be substituted anywhere in the matrix file where explicit layer names are used.
Fields in the ADD array
Description
CELL The name of the Job or Panel to add objects. If the cell is not defined it will be created. Required.
Note: If you wish to edit the active cell, use CELL=ACTIVE

Example:
CELL=MyBoard1Panel
UNITS=VALUE Units to use for this ADD array only. Choose from: mil mm cm inch um (default: inch)
TEXTSTYLE=VALUE

Assign the font file (*.fnt) for a FAB 3000 Text Style.
This Text style will be used for all following Text objects in this array unless it is changed.
Do not include the font file path when defining the Text Style only the file name.

Note: All available font files can be found in the FAB 3000 installation folder .../FAB3000V8/fonts

Example:
TEXTSTYLE=arial.fnt

TEXTALIGN=VALUE

Determine the alignment for TEXT. Choose from: upperLeft, centerLeft, bottomLeft, upperCenter, centerCenter, bottomCenter, upperRight, centerRight, bottomRight. (default: lowerleft)
Example:
TEXTALIGN=centerCenter

COMPOSITE=VALUE Determine whether all following objects will be added as either: Dark or Clear. The default is Dark.

Note: For more information about composites, please view Help Center: About Composites

Example:
COMPOSITE=DARK
COMPOSITE=CLEAR
COMPOSITE=51

Note: Using a Number will allow you to directly assign a composite level number.

CIRCLE=VALUE

Add a Circle using Center, OD, and optional ID.

CIRCLE=LAYER,X,Y,OD,ID
LAYER name. Dynamic Layer Types are also supported.
X, Y are the Circle Center coordinate.
OD is the Circle Outer diameter
ID is the Circle inside diameter. This is optional, and the default is 0.

Example:
CIRCLE=mylayer,0.25,0.25,0.1,0.05
CIRCLE=[top],0.25,0.25,0.1,0.05
CIRCLE=[Top+Bottom],0.25,0.45,0.1,0
CIRCLE=[All Internal],0.65,0.25,0.2

RECTANGLE=VALUE

Add a Rectangle using Center, Width, and Height.

RECTANGLE=LAYER,X,Y,WIDTH,HEIGHT,CORNER RADIUS,ROTATE
LAYER name. Dynamic Layer Types are also supported.
X, Y are the Rectangle Center coordinate.
WIDTH is the Rectangle Width (horizontal)
HEIGHT is the Rectangle Height (vertical)
CORNER RADIUS. Radius to use at corners to appear as a rounded rectangle. This is optional, and the default is 0.
ROTATE is the angle to Rotate the rectangle. This is optional and the default is 0.

Example:
RECTANGLE=mylayer,0.25,0.25,0.1,0.05

RECTANGLE2PT=VALUE

Add a Rectangle using 2 points.

RECTANGLE2PT=LAYER,X1,Y1,X2,Y2
LAYER name. Dynamic Layer Types are also supported.
X1, Y1 are the Rectangle corner coordinate.
X2, Y2 are the Rectangle opposite corner coordinate.

Example:
RECTANGLE2PT=mylayer,0.25,0.25,1,2

ARC=VALUE

Add an ARC using Start, End, and Center points.

ARC=LAYER, SX, SY, EX,EY,CX,CY,COUNTER-CLOCKWISE DIRECTION,LINEWIDTH
LAYER name. Dynamic Layer Types are also supported.
SX, SY are the Arc start coordinate.
EX, EY are the Arc end coordinate.
CX, CY are the Arc center coordinate.
COUNTER-CLOCKWISE DIRECTION is Y for Counter-Clockwise, or N for Clockwise.
LINEWIDTH is the line width for the Arc

Example:
ARC=mylayer,1,0,0,1,0,0,Y,0.1

TEXT=VALUE

Add Text using Insert Point, Height, Angle, and Mirror. If TEXTALIGN or TEXTSTYLE is defined they will be used.
TEXT=LAYER,X,Y,HEIGHT,ANGLE,MIRROR,TEXT STRING
LAYER name. Dynamic Layer Types are also supported.
X, Y are the Text insert coordinate.
HEIGHT is the Text height.
ANGLE is the Text rotation.
MIRROR is Text mirror in horizontal direction. Use True for mirror or False for none. YES or NO is also accepted.
TEXT STRING is the message you wish to create.

Example:
TEXTSTYLE=arial.fnt
TEXT=top,8,0.45,0.2,0,FALSE,My Automated Panel Design using Matrix

POLYGON=VALUE

Adds a Polygon to the active cell.
POLYGON=LAYER,POINT_COUNT,[X],[Y],[...]
LAYER name. Dynamic Layer Types are also supported.
POINT_COUNT is the number of points for the polygon.
X,Y,... are the X,Y point array.

Example:
POLYGON=layer_1,7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9

LINE=VALUE

Adds a Line to the active cell.
LINE=LAYER,POINT_COUNT,[X],[Y],[...]
LAYER name. Dynamic Layer Types are also supported.
POINT_COUNT is the number of points for the line.
X,Y,... are the X,Y point array.

Example:
LINE=layer_1,7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9

PATH=VALUE

Adds a rounded Path to the active cell.
PATH=LAYER,WIDTH,POINT_COUNT,[X],[Y],[...]
LAYER name. Dynamic Layer Types are also supported.
WIDTH is the path width.
POINT_COUNT is the number of points for the path.
X,Y,... are the X,Y point array.

Example:
PATH=layer_1,0.025,7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9

DRILL=VALUE

Add NC drill hit to the active cell.
DRILL=LAYER,X,Y,DIAMETER,PLATED LAYER name. Dynamic Layer Types are also supported.
X, Y are the Drill coordinate.
DIAMETER is the drill hole size. PLATED assign TRUE for plated and FALSE for non-plated.
Example:
DRILL=drill,4.0,4.2,0.1,TRUE

NCPATH=VALUE

Adds a Rout Path to the active cell. For compatibility purposes you may use either ROUT or NCPATH
ROUT=LAYER,WIDTH,POINT_COUNT,[X],[Y],[...]
NCPATH=LAYER,WIDTH,POINT_COUNT,[X],[Y],[...]

LAYER name. Dynamic Layer Types are also supported.
WIDTH is the nc path width.
POINT_COUNT is the number of points for the nc path.
X,Y,... are the X,Y point array.

Example:
ROUT=layer_1,0.025,7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9

NCPATH=layer_1,0.025,7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9

INSERT=VALUE

Add an insert to active cell.
INSERT=[Cell Name],[X],[Y],[ANGLE],[MIRROR]

Cell Name is the name of the child cell which is to be inserted. Cannot be the same name as the parent cell.
X, Y are the Insert coordinate.
ANGLE is the insert angle.
MIRROR assign TRUE for mirrored insert and FALSE for non-mirror. YES or NO is also accepted

Example:
INSERT=myCell,1.5,4,0,FALSE
INSERT=pcb2232,0,0,90,TRUE

STEPREPEAT=VALUE

Add an arrayed insert to active cell.

STEPREPEAT=[Cell Name],[X],[Y],[ROWS],[COLS],[ROW_DIST],[COLUMN_DIST],[ANGLE],[MIRROR]

Cell Name is the name of the child cell which is to be inserted. Cannot be the same name as the parent cell.
X, Y are the Insert coordinate.
ROWS are the number of horizontal rows.
COLS are the number of vertical columns.
ROW_DIST is the vertical (Y) distance between rows.
COLUMN_DIST is the horizontal (X) distance between columns.
ANGLE is the insert angle.
MIRROR assign TRUE for mirrored insert and FALSE for non-mirror. YES or NO is also accepted

Example:
STEPREPEAT=myCell,1.5,4,0,0,0,0,0,FALSE
STEPREPEAT=pcb2232,0,0,2,2,5.0,4.0,90,TRUE

INSERT_MATRIX=VALUE

Insert an existing matrix file the active cell.
Note: When inserting a Matrix file, the objects become relative to the insert point. Thus if your matrix file describes a square from 0,0 to 1,1 – and it inserted with coordinates 5,5; the resulting square would be from 5,5 to 6,6.

INSERT_MATRIX=[Matrix File],[Insert X],[Insert Y],[Rotate],[Mirror]
or
INSERT_MATRIX=[Matrix File],[Insert X],[Insert Y],[Rotate],[Mirror],[Active_Layer]

Matrix file - Absolute or Relative path to an existing Matrix file.
Insert X - X coordinate used for the insert point of the Matrix file.
Insert Y - Y coordinate used for the insert point of the Matrix file.
Rotate - Rotation to use when inserting the Matrix file. Measured in Degrees.
Mirror - Flip horizontally the insert matrix file objects. Either True or False. YES or NO is also accepted
Active_Layer - Optional. Assign the layer name to be used by the inserted matrix file as the "active" layer.

Example:

INSERT_MATRIX=polygon.fm6,-1.5,2,30.0,FALSE

Example: Assign the active layer name "layer_4" to be used by the inserted matrix.

INSERT_MATRIX=polygon.fm6,-1.5,2,30.0,FALSE,layer_4

STEPREPEAT_MATRIX=VALUE Insert an existing matrix file the active cell using Array parameters.
Note: When inserting a Matrix file, the objects become relative to the insert point. Thus if your matrix file describes a square from 0,0 to 1,1 – and it inserted with coordinates 5,5; the resulting square would be from 5,5 to 6,6.

Note: For more information about STEPREPEAT_MATRIX, please view Help Center

STEPREPEAT_MATRIX=[Matrix File],[Insert X],[Insert Y],[Row Count],[Column Count],[Row Distance],[Column Distance],[Rotate],[Mirror]

Matrix file - Absolute or Relative path to an existing Matrix file.
Insert X - X coordinate used for the insert point of the Matrix file.
Insert Y - Y coordinate used for the insert point of the Matrix file.
Row Count - Number of Rows
Column Count - Number of Columns
Row Distance - Distance between Rows
Column Distance - Distance between Columns
Rotate - Rotation to use when inserting the Matrix file. Measured in Degrees.
Mirror - Flip horizontally the insert matrix file objects. Either True or False. YES or NO is also accepted

Example:

STEPREPEAT_MATRIX=polygon.fm6,-5.5,-4,2,4,-2,-1.4,0,FALSE

Example ADD Array:

#Add Objects to Panel
ADD {
CELL=mypanel
UNITS=INCH
RECTANGLE=layer_1,-1,4,0.35,0.05,0,0
CIRCLE=layer_1,-1,6,0.1,0
CIRCLE=[top+bottom],-1,5,0.25,0
CIRCLE=layer_1,-1.3,5,0.35,.1
RECTANGLE=layer_4,-1,4,0.35,0.05,0,0
RECTANGLE=[top+bottom],-2,4,0.35,0.25,.125,0
RECTANGLE=layerSMT Paste,-3,4,0.45,0.25,0.05,0
RECTANGLE=layer_2,-4,4,0.45,0.25,0.0,22
POLYGON=[All],7,-10,-10,-10,-9,
-9.25,-9,-9.25,-5,-1,-5,-1,-10,
-10,-10
COMPOSITE=CLEAR
POLYGON=[All],7,-9,-9,-9,-8,-8.25,-8,-8.25,-6,-2,-6,-2,-9,-9,-9
}
# Using "active" for cell and layer.
ADD {
CELL=active
UNITS=INCH
COMPOSITE=CLEAR
RECTANGLE2PT=active,0,0,3,0.8
COMPOSITE=DARK
#
CIRCLE=active,0.25,0.4,0.05,0
CIRCLE=active,2.75,0.4,0.05,0
PATH=active,0.01,2,0.25,0.4,2.75,0.4
#
CIRCLE=active,0.25,0.3,0.05,0
CIRCLE=active,2.75,0.3,0.05,0
PATH=active,0.01,2,0.25,0.3,2.75,0.3
#
CIRCLE=active,0.25,0.5,0.05,0
CIRCLE=active,2.75,0.5,0.05,0
PATH=active,0.01,2,0.25,0.5,2.75,0.5
#
CIRCLE=active,0.25,0.2,0.05,0
CIRCLE=active,2.75,0.2,0.05,0
PATH=active,0.01,2,0.25,0.2,2.75,0.2
#
CIRCLE=active,0.25,0.6,0.05,0
CIRCLE=active,2.75,0.6,0.05,0
PATH=active,0.01,2,0.25,0.6,2.75,0.6
}