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.
|
ADD_ROUT_PROFILE=VALUE
|
The rout profile is used to cut out the PCB from within a panel. Typically PCB's using Routs are held in the panel using Tabs.
ADD_ROUT_PROFILE=TOOL_DIAMETER,PLACEMENT,DIRECTION,PLUNGE,RETRACT
TOOL_DIAMETER The rout path tool width
PLACEMENT Tab placement using Relative Panel Coordinates referenced from the center of the PCB; or 0-360 degrees.
DIRECTION Either CW (for Clockwise) or CCW (for Counter-Clockwise). Default: CW
PLUNGE The distance extending plunge point. Default: 0
RETRACT The distance extending past the Ending Distance. Default: 0
Example:
add_rout_profile=0.1,@right,CW,0,0
add_rout_profile=2.5,45,CCW,2.0,2.0
|
ADD_ROUT_CUTOUTS=VALUE
|
The rout cutouts are used to remove the internal openings in a PCB.
ADD_ROUT_CUTOUTS=TOOL_DIAMETER,PLACEMENT,DIRECTION,CLEANUP
TOOL_DIAMETER The rout path tool width
PLACEMENT Tab placement using Relative Panel Coordinates referenced from the center of the cutout; or 0-360 degrees.
DIRECTION Either CW (for Clockwise) or CCW (for Counter-Clockwise). Default: CCW
CLEANUP_CUT Choose either: YES or NO Default: No
Example:
add_rout_cutouts=0.1,@bottom,CCW,yes
add_rout_cutouts=2.5,@top-2,CW,no
|
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]
ADD_ROUT_PROFILE=2,@bottom,cw,0,0
}
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>
<ADD_ROUT_PROFILE>2,@bottom,cw,0,0</ADD_ROUT_PROFILE>
</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]",
"ADD_ROUT_PROFILE": "2,@bottom,cw,0,0"
}