Numerical Matrix Format
User Reference
FABRICATION array

MATRIX Array Level: 4

The FABRICATION array allows anyone to perform PCB manufacturing commands such as Etch Compensation (Grow/Shrink), TearDrops, Trim Silkscreen, etc.

Fields in the FABRICATION array
Description
JOB=NAME The name of the Job to process. Required. Dynamic Job References are also supported.
UNITS=VALUE

Units to use for this FABRICATION array only. Choose from: mil mm cm inch um (default: mm)

ETCH_FACTOR=VALUE

Enlarge or reduce objects sizes. Useful for applying etch factors.

ETCH_FACTOR=METHOD,VALUE,SET

METHOD Assign a method to calculate Etch factors, choose either: absolute or percent Default: Absolute
VALUE Absolute method: Assign the offset distance for the etch factor. Default: 0.0
Percent method: Assign the etch pecentage value per side. Default: 100.0
SET Selected Objects. If Empty, both top and bottom metal layers are selected.

Example:
ETCH_FACTOR=absolute,0.02,[top]
ETCH_FACTOR=percent,125,[bottom]

SILKSCREEN_OPTIMIZER=VALUE

Silkscreen optimizer removes the overlapping silkscreen data from soldermask pads.

SILKSCREEN_OPTIMIZER=CLEARANCE,MINSIZE,METHOD,SET

CLEARANCE Minimum mask spacing from Silkscreen objects. Default: 0.127mm
MINSTUB Minimum length for remaining lines after trimming the silkscreen. Default: 0.05mm
METHOD Select between two trim silkscreen methods: Trim or Composite Default: Trim
SET Selected Objects. If Empty, both top and bottom silkscreen layers are selected.

Example:
SILKSCREEN_OPTIMIZER=0.005,0.002,[silk]
SILKSCREEN_OPTIMIZER=snowman,0,[Bottom_Silk]

TEARDROP=VALUE

Add Teardrops to improve pad/trace connections.

TEARDROP=TYPE,OFFSET_FACTOR,SET

TYPE Assign a Teardrop type either: teardrop or snowman
OFFSET_FACTOR Assign an offset multiple for teardrops construction (not used with Snowman type). Default: 2.0
SET Selected Objects. If Empty, both top and bottom metal layers are selected.

Example:
TEARDROP=teardrop,2,[top]
TEARDROP=snowman,0,[bottom]

REMOVE_OUTSIDEBORDER=VALUE

Remove objects Outside PCB Border like notes, drawing objects, etc. Perfect for creating 1UP PCB jobs that are ready for panelization and manufacturing.

REMOVE_OUTSIDEBORDER=TRIM_PAD,TRIM_TEXT,TRIM_TRACE,CLEARANCE,LAYERS

TRIM_PAD=<YES|NO> Pads extending past the border will be trimmed. Drill holes will be ignored. Default: YES
TRIM_TEXT=<YES|NO> If Checked, Text extending past the border will be trimmed. Default: YES
TRIM_TRACE=<YES|NO> If Checked, Traces extending past the border are trimmed. If unchecked, Traces are trimmed as Polygons. Default: YES
CLEARANCE=NUM Trim all objects by this Clearance from the PCB border edge. Default: 0.0
LAYERS Enter Layer names (Comma separated) or Dynamic Layer Types. Wildcards are permitted. Default: [All PCB] (i.e All PCB Layers).

Example:
REMOVE_OUTSIDEBORDER=yes,yes,yes,0,[all]
REMOVE_OUTSIDEBORDER=yes,yes,yes,0.02,[All PCB]

Note
SHORTCUT: If REMOVE_OUTSIDEBORDER= is empty, these defaults are used: REMOVE_OUTSIDEBORDER=yes,yes,yes,0,[All PCB]
DELETE_LAYERS=VALUE

Enter Layer names (Comma separated) or Dynamic Layer Types. Wildcards are permitted.


DELETE_LAYERS=PERMANENT,LAYERS

PERMANENT=<YES|NO> If no, only the objects on the layer will be deleted; the layer still remains in the database.
If Yes, delete layer objects plus layer from database. Default: YES
LAYERS Enter Layer names (Comma separated) or Dynamic Layer Types. Wildcards are permitted. Default: [Empty] (i.e All Empty Layers).

Example:
DELETE_LAYERS=yes,[empty]
<-— Deletes all empty layers from database. REMOVE_OUTSIDEBORDER=no,[top]
<-— Removes objects from layer top, layers remains in database.

Example FABRICATION Array:

# Comment
FABRICATION {
JOB=@active
UNITS=english
SILKSCREEN_OPTIMIZER=0.005,0.002,[silk]
TEARDROP=teardrop,2,[top+bottom]
ETCH_FACTOR=absolute,0.02,[top]
}

XML example:

<!-- Sample Comment -->
<FABRICATION>
<JOB>@active</JOB>
<UNITS>english</UNITS>
<SILKSCREEN_OPTIMIZER>0.005,0.002,[silk]</SILKSCREEN_OPTIMIZER>
<TEARDROP>teardrop,2,[top+bottom]</TEARDROP>
<ETCH_FACTOR>absolute,0.02,[top]</ETCH_FACTOR>
</FABRICATION>

JSON example:

"FABRICATION": {
"JOB": "@active",
"UNITS": "english",
"SILKSCREEN_OPTIMIZER": "0.005,0.002,[silk]",
"TEARDROP": "teardrop,2,[top+bottom]",
"ETCH_FACTOR": "absolute,0.02,[top]"
}