Numerical Matrix File
User Reference
Using NCTOOLS array

This sample matrix file defines several layers, loads 3 separate jobs, and creates a panel. This Matrix file also makes use of the NCTOOLS array which define tool sizes (since the drill files don't contain tool information inside the file header) before each JOB array.

Note
When loading Gerber and Drills - the 2 most difficult things are (1) Having a separate Border Layer, and (2) Loading Drill files correctly. If you can do this correctly everytime the rest is easy.
ODB++ Import is a good way to bypass having to worry about the Drill and border layer import, because everything is already included in one file.
# SAMPLE FAB3000 - MATRIX FILE
LAYER {
TYPE=SILK_TOP
NAME=sst
START_DRILL=
END_DRILL=
DRAW_COLOR=255,0,0
FLASH_COLOR=255,0,0
}
LAYER {
TYPE=PASTE_TOP
NAME=spt
START_DRILL=
END_DRILL=
DRAW_COLOR=100,223,223
FLASH_COLOR=100,223,223
}
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
}
LAYER {
TYPE=neg_plane
NAME=layer_2
START_DRILL=
END_DRILL=
DRAW_COLOR=50,100,50
FLASH_COLOR=50,100,50
}
LAYER {
TYPE=neg_plane
NAME=layer_3
START_DRILL=
END_DRILL=
DRAW_COLOR=100,223,200
FLASH_COLOR=100,223,200
}
LAYER {
TYPE=BOTTOM
NAME=layer_4
START_DRILL=
END_DRILL=
DRAW_COLOR=223,100,223
FLASH_COLOR=223,100,223
}
LAYER {
TYPE=MASK_BOTTOM
NAME=smb
START_DRILL=
END_DRILL=
DRAW_COLOR=173,173,173
FLASH_COLOR=173,173,173
}
LAYER {
TYPE=PASTE_BOTTOM
NAME=spb
START_DRILL=
END_DRILL=
DRAW_COLOR=192,32,32
FLASH_COLOR=192,32,32
}
LAYER {
TYPE=SILK_BOTTOM
NAME=ssb
START_DRILL=
END_DRILL=
DRAW_COLOR=100,192,128
FLASH_COLOR=100,192,128
}
LAYER {
TYPE=DRILL
NAME=d_1_2
START_DRILL=
END_DRILL=
DRAW_COLOR=192,192,100
FLASH_COLOR=192,192,100
}
LAYER {
TYPE=ROUT
NAME=rout
START_DRILL=
END_DRILL=
DRAW_COLOR=30,128,96
FLASH_COLOR=30,128,96
}
LAYER {
TYPE=GRAPHIC
NAME=assemt
START_DRILL=
END_DRILL=
DRAW_COLOR=32,96,100
FLASH_COLOR=32,96,100
}
LAYER {
TYPE=GRAPHIC
NAME=assemb
START_DRILL=
END_DRILL=
DRAW_COLOR=32,100,96
FLASH_COLOR=32,100,96
}
LAYER {
TYPE=GRAPHIC
NAME=ddt
START_DRILL=
END_DRILL=
DRAW_COLOR=128,96,32
FLASH_COLOR=128,96,32
}
LAYER {
TYPE=GRAPHIC
NAME=c-nummer
START_DRILL=
END_DRILL=
DRAW_COLOR=64,128,64
FLASH_COLOR=64,128,64
}
LAYER {
TYPE=GRAPHIC
NAME=peel_off
START_DRILL=
END_DRILL=
DRAW_COLOR=32,192,192
FLASH_COLOR=32,192,192
}
######################################################
NCTOOLS {
UNITS=INCH
INTEGER=2
DECIMAL=4
TYPE=ABSOLUTE
SUPPRESSION=TRAILING
TOOL=1,0.02,YES
TOOL=2,0.04,YES
TOOL=4,0.055,YES
TOOL=5,0.07,YES
TOOL=10,0.105,NO
}
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
}
##############################################
NCTOOLS {
UNITS=INCH
INTEGER=2
DECIMAL=4
TYPE=ABSOLUTE
SUPPRESSION=TRAILING
TOOL=2,0.042,YES
TOOL=3,0.044,YES
TOOL=5,0.045,YES
TOOL=6,0.074,YES
TOOL=10,0.105,NO
}
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
}
##############################################
# If the drill file does not contain tool information in the header
# the tool sizes from the previous NCTOOLS array will be used
# for this job also.
JOB {
NAME=board4
LAYER=smb,C:\temp\examples\Board4\Bottom Mask.gbr
LAYER=layer_4,C:\temp\examples\Board4\Bottom.gbr
LAYER=smt,C:\temp\examples\Board4\Top Mask.gbr
LAYER=layer_1,C:\temp\examples\Board4\Top.gbr
LAYER=sst,C:\temp\examples\Board4\Top Silk.gbr
LAYER=d_1_2,C:\temp\examples\Board4\drill.drl
}
####################################################
#Panel - 1
PANEL {
NAME=mypanel
UNITS=INCH
WIDTH=18
HEIGHT=18.5
STEPREPEAT=board4,17.5,0,0,2.5,1,7,90,No
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
}
Note
There's no download as this is an example just to show how the NCTOOLS array can be used.