Rev 877 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed
# This configuration file demonstrates panelizing multiple, different jobs.# We panelize the HEXAPOD job and several copies of the Proj1 job.############################################################################### In the [DEFAULT] section you can create global names to save typing the same# directory name, for example, over and over.##############################################################################[DEFAULT]# Change projdir to wherever your project files are, for example:## projdir = /home/stuff/projects/test## or relative pathname from where you are running GerbMerge## projdir = testdata## or if all files are in the current directory (as in this example):## projdir = .projdir = .# For convenience, this is the base name of the merged output files.MergeOut = PCB############################################################################## The [Options] section defines settings that control how the input files are# read and how the output files are generated.#############################################################################[Options]################################################################## Settings that are very important################################################################## Option indicating name of file that maps Excellon tool codes to drill sizes.# This is not necessary if the Excellon files have embedded tool sizes, or if a# tool list is specified as part of the job description. The ToolList option# here is the "last resort" for mapping tool codes to tool sizes. Most recent# PCB programs embed drill size information right in the Excellon file, so this# option should not be necessary and can be commented out.#ToolList=proj1.drl# Optional indication of the number of decimal places in input Excellon drill# files. The default is 4 which works for recent versions of Eagle (since# version 4.11r12), as well as Orcad and PCB. Older versions of Eagle use 3# decimal places.#ExcellonDecimals = 4################################################################## Settings that are somewhat important################################################################## Which layers to draw cut lines on. Omit this option or set to 'None' for no# cut lines. Cut lines are borders around each job that serve as guides for# cutting the panel into individual jobs. Option 'CutLineWidth' sets the# thickness of these cut lines.## NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase# letters below.CutLineLayers = *topsilkscreen,*bottomsilkscreen# Which layers to draw crop marks on. Omit this option or set to 'None' for no# crop marks. Crop marks are small L-shaped marks at the 4 corners of the final# panel. These practically define the extents of the panel and are required by# some board manufacturers. Crop marks are also required if you want to leave# extra space around the final panel for tooling or handling. Option# 'CropMarkWidth' sets the thickness of these crop marks.## NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase# letters below.#CropMarkLayers = *topsilkscreen,*bottomsilkscreen# Set this option to the name of a file in which to write a Gerber fabrication# drawing. Some board manufacturers require a fabrication drawing with panel# dimensions and drill hit marks and drill legend. There's no harm in creating# this file...you can ignore it if you don't need it.FabricationDrawingFile = %(mergeout)s.fab# If FabricationDrawingFile is specified, you can provide an optional file name# of a file containing arbitrary text to add to the fabrication drawing. This# text can indicate manufacturing information, contact information, etc.#FabricationDrawingText = %(projdir)s/fabdwg.txt# Option to generate leading zeros in the output Excellon drill file, i.e., to# NOT use leading-zero suppression. Some Gerber viewers cannot properly guess# the Excellon file format when there are no leading zeros. Set this option to# 1 if your Gerber viewer is putting the drill holes in far off places that do# not line up with component pads.ExcellonLeadingZeros = 1# Optional additional Gerber layer on which to draw a rectangle defining the# extents of the entire panelized job. This will create a Gerber file (with# name specified by this option) that simply contains a rectangle defining the# outline of the final panel. This outline file is useful for circuit board# milling to indicate a path for the router tool. There's no harm in creating# this file...you can ignore it if you don't need it.OutlineLayerFile = %(mergeout)s.oln# You need a patch from:# https://github.com/space-age-robotics/gerbmerge-patched/commit/5078c7b33439912c465fb33fc0082b82cfac3687# to get this to work#OutlineLayers = *toplayer,*bottomlayer,*TopSilkscreen,*BottomSilkscreen,*TopSoldermask,*BottomSoldermask# Optional additional Gerber layer on which to draw horizontal and vertical# lines describing where to score (i.e., V-groove) the panel so that jobs# can easily snap apart. These scoring lines will be drawn half-way between# job borders.ScoringFile = %(mergeout)s.sco# Set the maximum dimensions of the final panel, if known. You can set the# dimensions of the maximum panel size supported by your board manufacturer,# and GerbMerge will print an error message if your layout exceeds these# dimensions. Alternatively, when using automatic placement, the panel sizes# listed here constrain the random placements such that only placements that# fit within the given panel dimensions will be considered. The dimensions are# specified in inches.PanelWidth = 100#3.935PanelHeight = 100# Set the amount of extra space to leave around the edges of the panel to# simplify tooling and handling. These margins are specified in inches, and# default to 0" if not specified. These spacings will only be visible to the# board manufacturer if you enable crop marks (see CropMarkLayers above) or use# an OutlineLayer.LeftMargin = 0.0RightMargin = 0.0TopMargin = 0.02BottomMargin = 0.02################################################################## Settings that are probably not important################################################################## Set the inter-job spacing (inches) in both the X-dimension (width) and# Y-dimension (height). Normally these would be the same unless you're trying# really hard to make your jobs fit into a panel of exact size and you need to# tweak these spacings to make it work. 0.125" is probably generous, about half# that is practical for using a band saw, but you probably want to leave it at# 0.125" if you have copper features close to the board edges and/or are using# less precise tools, like a hacksaw, for separating the boards.XSpacing = 0.0787YSpacing = 0.0787# Width of cut lines, in inches. The default value is 0.01". These are drawn on# the layers specified by CutLineLayers.CutLineWidth = 0.01# Width of crop marks, in inches. The default value is 0.01". These are drawn on# the layers specified by CropMarkLayers.CropMarkWidth = 0.01# This option is intended to reduce the probability of forgetting to include a# layer in a job description when panelizing two or more different jobs.# Unless this option is set to 1, an error will be raised if some jobs do not# have the same layer names as the others, i.e., are missing layers. For# example, if one job has a top-side soldermask layer and another doesn't, that# could be a mistake. Setting this option to 1 prevents this situation from# raising an error.AllowMissingLayers = 0# This option is intended to reduce the number of drills in the output by# eliminating drill sizes that are too close to make a difference. For example,# it probably does not make sense to have two separate 0.031" and 0.0315"# drills. The DrillClusterTolerance value specifies how much tolerance is# allowed in drill sizes, in units of inches. Multiple drill tools that span# twice this tolerance will be clustered into a single drill tool. For example,# a set of 0.031", 0.0315", 0.032", and 0.034" drills will all be replaced by a# single drill tool of diameter (0.031"+0.034")/2 = 0.0325". It is guaranteed# that all original drill sizes will be no farther than DrillClusterTolerance# from the drill tool size generated by clustering.## Setting DrillClusterTolerance to 0 disables clustering.DrillClusterTolerance = 0.002# Use this option to automatically thicken features on particular layers. This# is intended for thickening silkscreen to some minimum width. The value of# this option must be a comma-separated list of layer names followed by minimum# feature sizes (in inches) for that layer. Comment this out to disable thickening.MinimumFeatureSize = *topsilkscreen,0.008,*bottomsilkscreen,0.008############################################################################### This section sets the name of merged output files. Each assignment below# specifies a layer name and the file name that is to be written for that# merged layer. Except for the BoardOutline and Drills layer names, all other# layer names must begin with an asterisk '*'. The special layer name Placement# is used to specify the placement file that can be used with the# '--place-file' command-line option in a future invocation of GerbMerge. The# special layer name ToolList is used to specify the file name that represents# the tool list for the panelized job.## By default, if this section is omitted or no layername=filename assignment is# made, the following files are generated:## BoardOutline = merged.boardoutline.ger# Drills = merged.drills.xln# Placement = merged.placement.txt# ToolList = merged.toollist.drl# *layername = merged.layername.ger# (for example: 'merged.toplayer.ger', 'merged.silkscreen.ger')## Any assignment that does not begin with '*' or is not one of the reserved# names BoardOutline, Drills, ToolList, or Placement is a generic string# assignment that can be used for string substitutions, to save typing.##############################################################################[MergeOutputFiles]Prefix = %(mergeout)s*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.doToolList = toollist.%(prefix)s.drlPlacement = placement.%(prefix)s.txt############################################################################### The remainder of the file specifies the jobs to be panelized. Each job is# specified in its own section. To each job you can assign a job name, which# will be the name of the section in square brackets (e.g., [Proj1]). This job# name is used in the layout file (if used) to refer to the job.## Job names are case-sensitive, but do not create job names that are the same# except for the case of the characters, as this may cause problems during# layout. Job names may only contain the following characters:## a-z A-Z 0-9 _## In addition, job names must begin with a letter (a-z or A-Z).##############################################################################[qtouch]# You can set any options you like to make generating filenames easier, like# Prefix. This is just a helper option, not a reserved name. Note, however,# that you must write %(prefix)s below, in ALL LOWERCASE.## Note how we are making use of the 'projdir' string defined way up at the top# in the [DEFAULT] section to save some typing. By setting 'projdir=somedir'# the expression '%(projdir)s/proj1' expands to 'somedir/proj1'.Prefix=%(projdir)s/AVR/modexpansion/Qtouch/Gerber/Qtouch# List all the layers that participate in this job. Required layers are Drills# and BoardOutline and have no '*' at the beginning. Optional layers have# names chosen by you and begin with '*'. You should choose consistent layer# names across all jobs.*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.do# If this job does not have drill tool sizes embedded in the Excellon file, it# needs to have a separate tool list file that maps tool names (e.g., 'T01') to# tool diameter. This may be the global tool list specified in the [Options]# section with the ToolList parameter. If this job doesn't have embedded tool# sizes, and uses a different tool list than the global one, you can specify it# here.#ToolList=proj1.drl# If this job has a different ExcellonDecimals setting than the global setting# in the [Options] section above, it can be overridden here.#ExcellonDecimals = 3# You can set a 'Repeat' parameter for this job when using automatic placement# (i.e., no *.def file) to indicate how many times this job should appear in# the final panel. When using manual placement, this option is ignored.Repeat = 2[coreadapter]# You can set any options you like to make generating filenames easier, like# Prefix. This is just a helper option, not a reserved name. Note, however,# that you must write %(prefix)s below, in ALL LOWERCASE.## Note how we are making use of the 'projdir' string defined way up at the top# in the [DEFAULT] section to save some typing. By setting 'projdir=somedir'# the expression '%(projdir)s/proj1' expands to 'somedir/proj1'.Prefix=%(projdir)s/AVR/modexpansion/coreAdapter/Gerber/coreAdapter# List all the layers that participate in this job. Required layers are Drills# and BoardOutline and have no '*' at the beginning. Optional layers have# names chosen by you and begin with '*'. You should choose consistent layer# names across all jobs.*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.do# If this job does not have drill tool sizes embedded in the Excellon file, it# needs to have a separate tool list file that maps tool names (e.g., 'T01') to# tool diameter. This may be the global tool list specified in the [Options]# section with the ToolList parameter. If this job doesn't have embedded tool# sizes, and uses a different tool list than the global one, you can specify it# here.#ToolList=proj1.drl# If this job has a different ExcellonDecimals setting than the global setting# in the [Options] section above, it can be overridden here.#ExcellonDecimals = 3# You can set a 'Repeat' parameter for this job when using automatic placement# (i.e., no *.def file) to indicate how many times this job should appear in# the final panel. When using manual placement, this option is ignored.Repeat = 4[sixway]# You can set any options you like to make generating filenames easier, like# Prefix. This is just a helper option, not a reserved name. Note, however,# that you must write %(prefix)s below, in ALL LOWERCASE.## Note how we are making use of the 'projdir' string defined way up at the top# in the [DEFAULT] section to save some typing. By setting 'projdir=somedir'# the expression '%(projdir)s/proj1' expands to 'somedir/proj1'.Prefix=%(projdir)s/generic/BusConnection/Gerber/6way# List all the layers that participate in this job. Required layers are Drills# and BoardOutline and have no '*' at the beginning. Optional layers have# names chosen by you and begin with '*'. You should choose consistent layer# names across all jobs.*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.do# If this job does not have drill tool sizes embedded in the Excellon file, it# needs to have a separate tool list file that maps tool names (e.g., 'T01') to# tool diameter. This may be the global tool list specified in the [Options]# section with the ToolList parameter. If this job doesn't have embedded tool# sizes, and uses a different tool list than the global one, you can specify it# here.#ToolList=proj1.drl# If this job has a different ExcellonDecimals setting than the global setting# in the [Options] section above, it can be overridden here.#ExcellonDecimals = 3# You can set a 'Repeat' parameter for this job when using automatic placement# (i.e., no *.def file) to indicate how many times this job should appear in# the final panel. When using manual placement, this option is ignored.Repeat = 4[4way]# You can set any options you like to make generating filenames easier, like# Prefix. This is just a helper option, not a reserved name. Note, however,# that you must write %(prefix)s below, in ALL LOWERCASE.## Note how we are making use of the 'projdir' string defined way up at the top# in the [DEFAULT] section to save some typing. By setting 'projdir=somedir'# the expression '%(projdir)s/proj1' expands to 'somedir/proj1'.Prefix=%(projdir)s/AVR/expansion/4-way-CoreCard/Gerber/4-way-CoreCard# List all the layers that participate in this job. Required layers are Drills# and BoardOutline and have no '*' at the beginning. Optional layers have# names chosen by you and begin with '*'. You should choose consistent layer# names across all jobs.*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.do# If this job does not have drill tool sizes embedded in the Excellon file, it# needs to have a separate tool list file that maps tool names (e.g., 'T01') to# tool diameter. This may be the global tool list specified in the [Options]# section with the ToolList parameter. If this job doesn't have embedded tool# sizes, and uses a different tool list than the global one, you can specify it# here.#ToolList=proj1.drl# If this job has a different ExcellonDecimals setting than the global setting# in the [Options] section above, it can be overridden here.#ExcellonDecimals = 3# You can set a 'Repeat' parameter for this job when using automatic placement# (i.e., no *.def file) to indicate how many times this job should appear in# the final panel. When using manual placement, this option is ignored.Repeat = 4[proghead]Prefix=%(projdir)s/../generic/testerProgHeader/Gerber/testerProgHeader_v2*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.doRepeat = 2[odbconn]Prefix=%(projdir)s/AVR/modexpansion/odbConnector/Gerber/odbConnector*TopLayer=%(prefix)s.GTL*BottomLayer=%(prefix)s.GBL*TopSilkscreen=%(prefix)s.GTO*BottomSilkscreen=%(prefix)s.GBO*TopSoldermask=%(prefix)s.GTS*BottomSoldermask=%(prefix)s.GBSDrills=%(prefix)s.TXTBoardOutline=%(prefix)s.doRepeat = 2