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]"
}