The Import Matrix File permits external tools (like PCB Design software) to predefine layers and jobs for intelligent loading into DFM Now! for instant Gerber Viewing & Verification. This prevents the monotonous steps of loading Gerber & Drill files, assigning layer colors, assigning layer types, defining layer stack ups, defining blind/buried drill layers (if required), etc.; allowing pcb designers to easily use Gerber/CAM software for its primary purpose... to quickly verify their gerbers & drills are correct and ready for manufacturing.
FAB 3000 Only: The Import Matrix file also supports PANEL arrays which allow the merging of several PCB jobs together so they can be manufactured simultaneously - saving $$$ on fabrication costs. In addition, all necessary object transformations, dcode & drill tool transcoding are performed automatically.
Note: Simply call DFM Now! and pass the matrix file as the first argument.
Note: All DFM Now! Import Matrix Files must end with *.fm6.
Online Movie: Using the Matrix File to panelize a group of PCB's
RULE #1: LAYER arrays are Always defined first.
RULE #2: JOB arrays are defined after LAYER arrays
RULE #3: PANEL arrays are defined Last
LAYER {
TYPE=MASK_TOP
NAME=smt
START_DRILL=
END_DRILL=
DRAW_COLOR=223,100,100
FLASH_COLOR=223,100,100
}
LAYER {
TYPE=TOP
NAME=layer_1
START_DRILL=
END_DRILL=
DRAW_COLOR=100,223,0
FLASH_COLOR=100,223,0
}
...
JOB {
NAME=test-odb++-gerber
LAYER=layer_1,C:\temp\examples\274X\Art0121.pho
LAYER=layer_2,C:\temp\examples\274X\Art02.pho
LAYER=layer_4,C:\temp\examples\274X\Pgp2529.pho
LAYER=layer_3,C:\temp\examples\274X\gnd2530.pho
LAYER=sst,C:\temp\examples\274X\Sst0126.pho
LAYER=spt,C:\temp\examples\274X\Sp0128.pho
LAYER=smb,C:\temp\examples\274X\Sm0227.pho
LAYER=smt,C:\temp\examples\274X\Sm0128.pho
LAYER=d_1_2,C:\temp\examples\274X\Drill.drl
}
JOB {
NAME=board1
LAYER=smb,C:\temp\examples\Board1\Bottom Mask.gbr
LAYER=layer_4,C:\temp\examples\Board1\Bottom.gbr
LAYER=smt,C:\temp\examples\Board1\Top Mask.gbr
LAYER=layer_1,C:\temp\examples\Board1\Top.gbr
LAYER=sst,C:\temp\examples\Board1\Top Silk.gbr
LAYER=d_1_2,C:\temp\examples\Board1\drill.drl
}
...
PANEL {
NAME=mypanel
UNITS=INCH
WIDTH=18
HEIGHT=18.5
STEPREPEAT=board1,17.0,4,3.8,3.4,2,5,90,No
STEPREPEAT=test-odb++-gerber,17.85,11.5,7,6,1,3,90,No
}
...
Fields in the LAYER array
TYPE |
Describes the purpose of the layer and must be one of these defined Layer Types |
NAME |
The name of the layer. This will be directly referenced in the JOB array. |
START_DRILL END_DRILL |
These fields are only used for drill layers. They specify the span of the drill, in case it is a blind or buried via layers. Each field must be a valid layer name. When the fields are empty, the drill is assumed to be thru hole (i.e START_DRILL is assumed to be the first board layer and END_DRILL is assumed to be the last board layer). |
DRAW_COLOR |
The RGB representation of the draw color for display of the layer. Note: RGB values are separated by commas. |
FLASH_COLOR |
The RGB representation of the flash color for display of the layer. Note: RGB values are separated by commas. |
Fields in the JOB array
NAME |
The name of the job. This will be directly referenced in the PANEL array. |
LAYER |
This field contains the layer name and Gerber file location, separated by a comma. Note: The Gerber file location must be an actual location on your system and not localized path (i.e .../gerbers/top.gbr) Note: For DRILL and ROUT layer types, the file location must point to a NC file (not Gerber). The NC file must contain tool number, sizes in the header. If not, we recommend that you define a NCTOOLS array in the Import Matrix before the JOB array. |
Fields in the PANEL array (FAB 3000 Only)
NAME |
The name of the panel. This will be the name DFM Now! uses when it creates the panel. |
UNITS |
Units to use for this panel array. Must be either: INCH or MM |
WIDTH |
Panel Width. Note: The value is defined in the panel units. |
HEIGHT |
Panel Height. Note: The value is defined in the panel units. |
STEPREPEAT |
This field contains the Job Name, X and Y Origin, X and Y Spacing, X and Y Count, Job Angle (must be 0, 90, 180, 270), and Mirror (must be either: YES or NO) all separated by a commas. Note: Origin and Spacing values are defined in the panel units. Note: If you only require a 1 up (no array) assign X and Y Spacing to 0; X and Y Count to 1. |
Note: Jobs must be referenced before Panel
Fields in the NCTOOLS array
UNITS |
Units to use for this nctools array. Must be either: INCH or MM |
INTEGER DECIMAL |
Integer digits for drill or rout file between (0-6). Decimal digits for drill or rout file between (0-6). |
TYPE |
Drill or rout file type. ABSOLUTE -- Use Absolute coordinates during NC Import INCREMENTAL -- Use Incremental coordinates during NC Import |
SUPPRESSION |
Drill or rout file zero suppression. LEADING -- Suppress Leading Zeros during NC Import TRAILING -- Suppress Trailing Zeros during NC Import NONE -- No Zero Suppression during NC Import |
TOOL |
This field contains the Tool # (between 1 to 1000), Diameter (in Tool Units), and Plated (either: YES or NO); all separated by a commas. |
Note: NCTOOLS array is optional. It is only intended for NC files that don't include tool definitions in the header. Must be called before Job
# - Comment Line (Ignored by DFM Now!). Any line that begins with the pound character (#) will be ignored by DFM Now!.