Numerical Matrix Format
User Reference
Panelize and Merge with 3 different PCB Designs. Export Gerber and Drill.

This sample Matrix file imports 3 separate PCB designs, and outputs to a standard panel. Then exports the Gerber and Drill file.

Resulting Image

##########################################
## Sample Matrix code
##########################################
#Job - 1
GERBER {
NAME=testgerber
LAYER=layer_1,274X\Art0121.pho
LAYER=layer_4,274X\Art02.pho
LAYER=layer_2,274X\Pgp2529.pho
LAYER=layer_3,274X\gnd2530.pho
LAYER=sst,274X\Sst0126.pho
LAYER=spt,274X\Sp0128.pho
LAYER=smb,274X\Sm0227.pho
LAYER=smt,274X\Sm0128.pho
LAYER=ddt,274X\Drill.drl
}
#Job - 2
GERBER {
NAME=board1
LAYER=smb,Board1\Bottom Mask.gbr
LAYER=layer_4,Board1\Bottom.gbr
LAYER=smt,Board1\Top Mask.gbr
LAYER=layer_1,Board1\Top.gbr
LAYER=sst,Board1\Top Silk.gbr
LAYER=ddt,Board1\drill.drl
}
#Job - 3
GERBER {
NAME=board4
LAYER=smb,Board4\Bottom Mask.gbr
LAYER=layer_4,Board4\Bottom.gbr
LAYER=smt,Board4\Top Mask.gbr
LAYER=layer_1,Board4\Top.gbr
LAYER=sst,Board4\Top Silk.gbr
LAYER=ddt,Board4\drill.drl
}
#Panel - 1
PANEL {
NAME=mypanel
UNITS=INCH
WIDTH=19
HEIGHT=19.5
BORDERSPACING=0.5
STEPREPEAT=board4,18,0.5,0,2.5,1,7,90,No
STEPREPEAT=board1,17.5,4.5,3.8,3.4,2,5,90,No
STEPREPEAT=testgerber,18.35,12.0,7,6,1,3,90,No
FIDUCIAL=circle,0.05,0.05,0.25,0.25,0,0.05,layer_1,layer_4
FIDUCIAL=circle,0.05,0.05,18.75,19.25,0,0.05,layer_1,layer_4
VENT=rail,0,0,0,0.5,layer_1,layer_4
VENT=solid,0.1,0,0.1,layer_2
VENT=dot,0,0.1,0.1,0,0,0.12,circle,0.06,0,0.12,circle,0.06,0.06,.12,layer_3
VENT=hatch,0.1,0,0,0,0,0.01,0.5,0,0.01,0.5,45,0.01,0.5,90,layer_4
}
##############################
# Add Fiducials
##############################
#FIDUCIAL=shape,width,height,x,y,rotation,clearance,layer(s)
#shape=[circle hash target cross octagon butterfly rectrounded donut oblong rectangle diamond]
##############################
# Add Tooling Holes
##############################
#TOOLINGHOLE=shape,width,height,x,y,rotation,clearance,layer(s)
#shape=[circle slot]
##############################
# Venting Pattern(s)
##############################
#VENT=pattern,width,height,x,y,rotation,clearance,layer(s)
#pattern=[rail vrail hrail solid dot hatch]
#vent=rail,panel_clearance,symbol_clearance,width,layer(s)
#vent=vrail,panel_clearance,symbol_clearance,width,layer(s)
#vent=hrail,panel_clearance,symbol_clearance,width,layer(s)
#vent=solid,panel_clearance,job_clearance,symbol_clearance,layer(s)
#vent=dot,panel_clearance,job_clearance,symbol_clearance,patternX,patternY,dy,shape1,width1,x1,dx1,shape2,width2,x2,dx2,layer(s)
#vent=hatch,panel_clearance,job_clearance,symbol_clearance,patternX,patternY,width1,offset1,angle1,width2,offset2,angle2,width3,offset3,angle3,layer(s)
#Output both Gerber and Drill files
EXPORT_GERBER {
job=@active
FOLDER=MyPanelOutput/Gerbers
UNITS=ENGLISH
DIGITS=3.5
EXTENSION=pho
}
EXPORT_DRILL {
job=@active
FOLDER=MyPanelOutput/DrillRout
UNITS=ENGLISH
DIGITS=3.5
EXTENSION=ncd
}

XML example:

<NumericalMatrix>
<!--
##########################################
## Sample Matrix code
##########################################
-->
<!-- #Job 1 -->
<GERBER>
<NAME>testgerber</NAME>
<LAYER>layer_1,274X\Art0121.pho</LAYER>
<LAYER>layer_4,274X\Art02.pho</LAYER>
<LAYER>layer_2,274X\Pgp2529.pho</LAYER>
<LAYER>layer_3,274X\gnd2530.pho </LAYER>
<LAYER>sst,274X\Sst0126.pho</LAYER>
<LAYER>spt,274X\Sp0128.pho</LAYER>
<LAYER>smb,274X\Sm0227.pho</LAYER>
<LAYER>smt,274X\Sm0128.pho</LAYER>
<LAYER>ddt,274X\Drill.drl</LAYER>
</GERBER>
<!-- #Job 2 -->
<GERBER>
<NAME>board1</NAME>
<LAYER>smb,Board1\Bottom Mask.gbr</LAYER>
<LAYER>layer_4,Board1\Bottom.gbr</LAYER>
<LAYER>smt,Board1\Top Mask.gbr</LAYER>
<LAYER>layer_1,Board1\Top.gbr</LAYER>
<LAYER>sst,Board1\Top Silk.gbr</LAYER>
<LAYER>ddt,Board1\drill.drl</LAYER>
</GERBER>
<!-- #Job 3 -->
<GERBER>
<NAME>board4</NAME>
<LAYER>smb,Board4\Bottom Mask.gbr</LAYER>
<LAYER>layer_4,Board4\Bottom.gbr</LAYER>
<LAYER>smt,Board4\Top Mask.gbr</LAYER>
<LAYER>layer_1,Board4\Top.gbr</LAYER>
<LAYER>sst,Board4\Top Silk.gbr</LAYER>
<LAYER>ddt,Board4\drill.drl</LAYER>
</GERBER>
<!-- #Panel 1 -->
<PANEL>
<NAME>mypanel</NAME>
<UNITS>INCH</UNITS>
<WIDTH>19</WIDTH>
<HEIGHT>19.5</HEIGHT>
<BORDERSPACING>0.5</BORDERSPACING>
<STEPREPEAT>board4,18,0.5,0,2.5,1,7,90,No</STEPREPEAT>
<STEPREPEAT>board1,17.5,4.5,3.8,3.4,2,5,90,No</STEPREPEAT>
<STEPREPEAT>testgerber,18.35,12.0,7,6,1,3,90,No</STEPREPEAT>
<FIDUCIAL>circle,0.05,0.05,0.25,0.25,0,0.05,layer_1,layer_4</FIDUCIAL>
<FIDUCIAL>circle,0.05,0.05,18.75,19.25,0,0.05,layer_1,layer_4</FIDUCIAL>
<VENT>rail,0,0,0,0.5,layer_1,layer_4</VENT>
<VENT>solid,0.1,0,0.1,layer_2</VENT>
<VENT>dot,0,0.1,0.1,0,0,0.12,circle,0.06,0,0.12,circle,0.06,0.06,.12,layer_3</VENT>
<VENT>hatch,0.1,0,0,0,0,0.01,0.5,0,0.01,0.5,45,0.01,0.5,90,layer_4</VENT>
</PANEL>
<!-- #Output both Gerber and Drill files -->
<EXPORT_GERBER>
<job>@active</job>
<FOLDER>MyPanelOutput/Gerbers</FOLDER>
<UNITS>ENGLISH</UNITS>
<DIGITS>3.5</DIGITS>
<EXTENSION>pho</EXTENSION>
<EXPORT_GERBER>
<EXPORT_DRILL>
<job>@active</job>
<FOLDER>MyPanelOutput/DrillRout</FOLDER>
<UNITS>ENGLISH</UNITS>
<DIGITS>3.5</DIGITS>
<EXTENSION>ncd</EXTENSION>
</EXPORT_DRILL>
</NumericalMatrix>

JSON example:

{
"NumericalMatrix": {
"GERBER": [
{
"NAME": "testgerber",
"LAYER": [
"layer_1,274X\\Art0121.pho",
"layer_4,274X\\Art02.pho",
"layer_2,274X\\Pgp2529.pho",
"layer_3,274X\\gnd2530.pho",
"sst,274X\\Sst0126.pho",
"spt,274X\\Sp0128.pho",
"smb,274X\\Sm0227.pho",
"smt,274X\\Sm0128.pho",
"ddt,274X\\Drill.drl"
]
},
{
"NAME": "board1",
"LAYER": [
"smb,Board1\\Bottom Mask.gbr",
"layer_4,Board1\\Bottom.gbr",
"smt,Board1\\Top Mask.gbr",
"layer_1,Board1\\Top.gbr",
"sst,Board1\\Top Silk.gbr",
"ddt,Board1\\drill.drl"
]
},
{
"NAME": "board4",
"LAYER": [
"smb,Board4\\Bottom Mask.gbr",
"layer_4,Board4\\Bottom.gbr",
"smt,Board4\\Top Mask.gbr",
"layer_1,Board4\\Top.gbr",
"sst,Board4\\Top Silk.gbr",
"ddt,Board4\\drill.drl"
]
}
],
"PANEL": {
"NAME": "mypanel",
"UNITS": "INCH",
"WIDTH": 19,
"HEIGHT": 19.5,
"BORDERSPACING": 0.5,
"STEPREPEAT": [
"board4,18,0.5,0,2.5,1,7,90,No",
"board1,17.5,4.5,3.8,3.4,2,5,90,No",
"testgerber,18.35,12.0,7,6,1,3,90,No"
],
"FIDUCIAL": [
"circle,0.05,0.05,0.25,0.25,0,0.05,layer_1,layer_4",
"circle,0.05,0.05,18.75,19.25,0,0.05,layer_1,layer_4"
],
"VENT": [
"rail,0,0,0,0.5,layer_1,layer_4",
"solid,0.1,0,0.1,layer_2",
"dot,0,0.1,0.1,0,0,0.12,circle,0.06,0,0.12,circle,0.06,0.06,.12,layer_3",
"hatch,0.1,0,0,0,0,0.01,0.5,0,0.01,0.5,45,0.01,0.5,90,layer_4"
]
},
"EXPORT_GERBER": {
"job": "@active",
"FOLDER": "MyPanelOutput/Gerbers",
"UNITS": "ENGLISH",
"DIGITS": 3.5,
"EXTENSION": "pho",
"EXPORT_GERBER": {
"EXPORT_DRILL": {
"job": "@active",
"FOLDER": "MyPanelOutput/DrillRout",
"UNITS": "ENGLISH",
"DIGITS": 3.5,
"EXTENSION": "ncd"
}
}
}
}
}