4514 |
kaklik |
1 |
# This configuration file demonstrates panelizing multiple, different jobs. |
|
|
2 |
# We panelize the HEXAPOD job and several copies of the Proj1 job. |
|
|
3 |
|
|
|
4 |
############################################################################## |
|
|
5 |
# In the [DEFAULT] section you can create global names to save typing the same |
|
|
6 |
# directory name, for example, over and over. |
|
|
7 |
############################################################################## |
|
|
8 |
[DEFAULT] |
|
|
9 |
|
|
|
10 |
# Change projdir to wherever your project files are, for example: |
|
|
11 |
# |
|
|
12 |
# projdir = /home/stuff/projects/test |
|
|
13 |
# |
|
|
14 |
# or relative pathname from where you are running GerbMerge |
|
|
15 |
# |
|
|
16 |
# projdir = testdata |
|
|
17 |
# |
|
|
18 |
# or if all files are in the current directory (as in this example): |
|
|
19 |
# |
|
|
20 |
# projdir = . |
|
|
21 |
projdir = . |
|
|
22 |
|
|
|
23 |
# For convenience, this is the base name of the merged output files. |
|
|
24 |
MergeOut = SET11A |
|
|
25 |
|
|
|
26 |
############################################################################# |
|
|
27 |
# The [Options] section defines settings that control how the input files are |
|
|
28 |
# read and how the output files are generated. |
|
|
29 |
############################################################################# |
|
|
30 |
[Options] |
|
|
31 |
|
|
|
32 |
################################################################ |
|
|
33 |
# |
|
|
34 |
# Settings that are very important |
|
|
35 |
# |
|
|
36 |
################################################################ |
|
|
37 |
|
|
|
38 |
# Option indicating name of file that maps Excellon tool codes to drill sizes. |
|
|
39 |
# This is not necessary if the Excellon files have embedded tool sizes, or if a |
|
|
40 |
# tool list is specified as part of the job description. The ToolList option |
|
|
41 |
# here is the "last resort" for mapping tool codes to tool sizes. Most recent |
|
|
42 |
# PCB programs embed drill size information right in the Excellon file, so this |
|
|
43 |
# option should not be necessary and can be commented out. |
|
|
44 |
#ToolList=proj1.drl |
|
|
45 |
|
|
|
46 |
MeasurementUnits = mm |
|
|
47 |
KicadFilesInMetricUnits = 1 |
|
|
48 |
|
|
|
49 |
# Optional indication of the number of decimal places in input Excellon drill |
|
|
50 |
# files. The default is 4 which works for recent versions of Eagle (since |
|
|
51 |
# version 4.11r12), as well as Orcad and PCB. Older versions of Eagle use 3 |
|
|
52 |
# decimal places. |
|
|
53 |
ExcellonDecimals = 3 |
|
|
54 |
|
|
|
55 |
################################################################ |
|
|
56 |
# |
|
|
57 |
# Settings that are somewhat important |
|
|
58 |
# |
|
|
59 |
################################################################ |
|
|
60 |
|
|
|
61 |
# Which layers to draw cut lines on. Omit this option or set to 'None' for no |
|
|
62 |
# cut lines. Cut lines are borders around each job that serve as guides for |
|
|
63 |
# cutting the panel into individual jobs. Option 'CutLineWidth' sets the |
|
|
64 |
# thickness of these cut lines. |
|
|
65 |
# |
|
|
66 |
# NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase |
|
|
67 |
# letters below. |
|
|
68 |
CutLineLayers = *topsilkscreen,*bottomsilkscreen |
|
|
69 |
|
|
|
70 |
# Which layers to draw crop marks on. Omit this option or set to 'None' for no |
|
|
71 |
# crop marks. Crop marks are small L-shaped marks at the 4 corners of the final |
|
|
72 |
# panel. These practically define the extents of the panel and are required by |
|
|
73 |
# some board manufacturers. Crop marks are also required if you want to leave |
|
|
74 |
# extra space around the final panel for tooling or handling. Option |
|
|
75 |
# 'CropMarkWidth' sets the thickness of these crop marks. |
|
|
76 |
# |
|
|
77 |
# NOTE: Layer names are ALL LOWERCASE, even if you define them with uppercase |
|
|
78 |
# letters below. |
|
|
79 |
CropMarkLayers = *topsilkscreen,*bottomsilkscreen |
|
|
80 |
|
|
|
81 |
# Set this option to the name of a file in which to write a Gerber fabrication |
|
|
82 |
# drawing. Some board manufacturers require a fabrication drawing with panel |
|
|
83 |
# dimensions and drill hit marks and drill legend. There's no harm in creating |
|
|
84 |
# this file...you can ignore it if you don't need it. |
|
|
85 |
#FabricationDrawingFile = %(mergeout)s.fab |
|
|
86 |
|
|
|
87 |
# If FabricationDrawingFile is specified, you can provide an optional file name |
|
|
88 |
# of a file containing arbitrary text to add to the fabrication drawing. This |
|
|
89 |
# text can indicate manufacturing information, contact information, etc. |
|
|
90 |
#FabricationDrawingText = %(projdir)s/fabdwg.txt |
|
|
91 |
|
|
|
92 |
# Option to generate leading zeros in the output Excellon drill file, i.e., to |
|
|
93 |
# NOT use leading-zero suppression. Some Gerber viewers cannot properly guess |
|
|
94 |
# the Excellon file format when there are no leading zeros. Set this option to |
|
|
95 |
# 1 if your Gerber viewer is putting the drill holes in far off places that do |
|
|
96 |
# not line up with component pads. |
|
|
97 |
ExcellonLeadingZeros = 0 |
|
|
98 |
|
|
|
99 |
# Optional additional Gerber layer on which to draw a rectangle defining the |
|
|
100 |
# extents of the entire panelized job. This will create a Gerber file (with |
|
|
101 |
# name specified by this option) that simply contains a rectangle defining the |
|
|
102 |
# outline of the final panel. This outline file is useful for circuit board |
|
|
103 |
# milling to indicate a path for the router tool. There's no harm in creating |
|
|
104 |
# this file...you can ignore it if you don't need it. |
|
|
105 |
OutlineLayerFile = %(mergeout)s-Outline.gbr |
|
|
106 |
|
|
|
107 |
# Optional additional Gerber layer on which to draw horizontal and vertical |
|
|
108 |
# lines describing where to score (i.e., V-groove) the panel so that jobs |
|
|
109 |
# can easily snap apart. These scoring lines will be drawn half-way between |
|
|
110 |
# job borders. |
|
|
111 |
ScoringFile = %(mergeout)s-Score.gbr |
|
|
112 |
|
|
|
113 |
# Set the maximum dimensions of the final panel, if known. You can set the |
|
|
114 |
# dimensions of the maximum panel size supported by your board manufacturer, |
|
|
115 |
# and GerbMerge will print an error message if your layout exceeds these |
|
|
116 |
# dimensions. Alternatively, when using automatic placement, the panel sizes |
|
|
117 |
# listed here constrain the random placements such that only placements that |
|
|
118 |
# fit within the given panel dimensions will be considered. The dimensions are |
|
|
119 |
# specified in inches. |
|
|
120 |
PanelWidth = 150 |
|
|
121 |
PanelHeight = 150 |
|
|
122 |
|
|
|
123 |
# Set the amount of extra space to leave around the edges of the panel to |
|
|
124 |
# simplify tooling and handling. These margins are specified in inches, and |
|
|
125 |
# default to 0" if not specified. These spacings will only be visible to the |
|
|
126 |
# board manufacturer if you enable crop marks (see CropMarkLayers above) or use |
|
|
127 |
# an OutlineLayer. |
|
|
128 |
LeftMargin = 0 |
|
|
129 |
RightMargin = 0 |
|
|
130 |
TopMargin = 0 |
|
|
131 |
BottomMargin = 0 |
|
|
132 |
|
|
|
133 |
################################################################ |
|
|
134 |
# |
|
|
135 |
# Settings that are probably not important |
|
|
136 |
# |
|
|
137 |
################################################################ |
|
|
138 |
|
|
|
139 |
# Set the inter-job spacing (inches) in both the X-dimension (width) and |
|
|
140 |
# Y-dimension (height). Normally these would be the same unless you're trying |
|
|
141 |
# really hard to make your jobs fit into a panel of exact size and you need to |
|
|
142 |
# tweak these spacings to make it work. 0.125" is probably generous, about half |
|
|
143 |
# that is practical for using a band saw, but you probably want to leave it at |
|
|
144 |
# 0.125" if you have copper features close to the board edges and/or are using |
|
|
145 |
# less precise tools, like a hacksaw, for separating the boards. |
|
|
146 |
XSpacing = 2.54 |
|
|
147 |
YSpacing = 2.54 |
|
|
148 |
|
|
|
149 |
# Width of cut lines, in inches. The default value is 0.01". These are drawn on |
|
|
150 |
# the layers specified by CutLineLayers. |
|
|
151 |
CutLineWidth = 0.01 |
|
|
152 |
|
|
|
153 |
# Width of crop marks, in inches. The default value is 0.01". These are drawn on |
|
|
154 |
# the layers specified by CropMarkLayers. |
|
|
155 |
CropMarkWidth = 0.01 |
|
|
156 |
|
|
|
157 |
# This option is intended to reduce the probability of forgetting to include a |
|
|
158 |
# layer in a job description when panelizing two or more different jobs. |
|
|
159 |
# Unless this option is set to 1, an error will be raised if some jobs do not |
|
|
160 |
# have the same layer names as the others, i.e., are missing layers. For |
|
|
161 |
# example, if one job has a top-side soldermask layer and another doesn't, that |
|
|
162 |
# could be a mistake. Setting this option to 1 prevents this situation from |
|
|
163 |
# raising an error. |
|
|
164 |
AllowMissingLayers = 0 |
|
|
165 |
|
|
|
166 |
# This option is intended to reduce the number of drills in the output by |
|
|
167 |
# eliminating drill sizes that are too close to make a difference. For example, |
|
|
168 |
# it probably does not make sense to have two separate 0.031" and 0.0315" |
|
|
169 |
# drills. The DrillClusterTolerance value specifies how much tolerance is |
|
|
170 |
# allowed in drill sizes, in units of inches. Multiple drill tools that span |
|
|
171 |
# twice this tolerance will be clustered into a single drill tool. For example, |
|
|
172 |
# a set of 0.031", 0.0315", 0.032", and 0.034" drills will all be replaced by a |
|
|
173 |
# single drill tool of diameter (0.031"+0.034")/2 = 0.0325". It is guaranteed |
|
|
174 |
# that all original drill sizes will be no farther than DrillClusterTolerance |
|
|
175 |
# from the drill tool size generated by clustering. |
|
|
176 |
# |
|
|
177 |
# Setting DrillClusterTolerance to 0 disables clustering. |
|
|
178 |
DrillClusterTolerance = 0.002 |
|
|
179 |
|
|
|
180 |
# Use this option to automatically thicken features on particular layers. This |
|
|
181 |
# is intended for thickening silkscreen to some minimum width. The value of |
|
|
182 |
# this option must be a comma-separated list of layer names followed by minimum |
|
|
183 |
# feature sizes (in inches) for that layer. Comment this out to disable thickening. |
|
|
184 |
MinimumFeatureSize = *topsilkscreen,0.008,*bottomsilkscreen,0.008 |
|
|
185 |
|
|
|
186 |
############################################################################## |
|
|
187 |
# This section sets the name of merged output files. Each assignment below |
|
|
188 |
# specifies a layer name and the file name that is to be written for that |
|
|
189 |
# merged layer. Except for the BoardOutline and Drills layer names, all other |
|
|
190 |
# layer names must begin with an asterisk '*'. The special layer name Placement |
|
|
191 |
# is used to specify the placement file that can be used with the |
|
|
192 |
# '--place-file' command-line option in a future invocation of GerbMerge. The |
|
|
193 |
# special layer name ToolList is used to specify the file name that represents |
|
|
194 |
# the tool list for the panelized job. |
|
|
195 |
# |
|
|
196 |
# By default, if this section is omitted or no layername=filename assignment is |
|
|
197 |
# made, the following files are generated: |
|
|
198 |
# |
|
|
199 |
# BoardOutline = merged.boardoutline.ger |
|
|
200 |
# Drills = merged.drills.xln |
|
|
201 |
# Placement = merged.placement.xml |
|
|
202 |
# ToolList = merged.toollist.drl |
|
|
203 |
# *layername = merged.layername.ger |
|
|
204 |
# (for example: 'merged.toplayer.ger', 'merged.silkscreen.ger') |
|
|
205 |
# |
|
|
206 |
# Any assignment that does not begin with '*' or is not one of the reserved |
|
|
207 |
# names BoardOutline, Drills, ToolList, or Placement is a generic string |
|
|
208 |
# assignment that can be used for string substitutions, to save typing. |
|
|
209 |
############################################################################## |
|
|
210 |
[MergeOutputFiles] |
|
|
211 |
Prefix = %(mergeout)s |
|
|
212 |
|
|
|
213 |
# KHK my interpretation for KiCAD on a Linux system (case sensitive) |
|
|
214 |
*TopLayer=%(prefix)s-F.Cu.gbr |
|
|
215 |
*BottomLayer=%(prefix)s-B.Cu.gbr |
|
|
216 |
*TopSilkscreen=%(prefix)s-F.SilkS.gbr |
|
|
217 |
*TopSoldermask=%(prefix)s-F.Mask.gbr |
|
|
218 |
*BottomSilkscreen=%(prefix)s-B.SilkS.gbr |
|
|
219 |
*BottomSoldermask=%(prefix)s-B.Mask.gbr |
|
|
220 |
*NPTHDrills=%(prefix)s-NPTH.drl |
|
|
221 |
Drills=%(prefix)s.drl |
|
|
222 |
BoardOutline=%(prefix)s-Edge.Cuts.gbr |
|
|
223 |
ToolList = toollist.%(prefix)s.drl |
|
|
224 |
Placement = placement.%(prefix)s.txt |
|
|
225 |
|
|
|
226 |
############################################################################## |
|
|
227 |
# The remainder of the file specifies the jobs to be panelized. Each job is |
|
|
228 |
# specified in its own section. To each job you can assign a job name, which |
|
|
229 |
# will be the name of the section in square brackets (e.g., [Proj1]). This job |
|
|
230 |
# name is used in the layout file (if used) to refer to the job. |
|
|
231 |
# |
|
|
232 |
# Job names are case-sensitive, but do not create job names that are the same |
|
|
233 |
# except for the case of the characters, as this may cause problems during |
|
|
234 |
# layout. Job names may only contain the following characters: |
|
|
235 |
# |
|
|
236 |
# a-z A-Z 0-9 _ |
|
|
237 |
# |
|
|
238 |
# In addition, job names must begin with a letter (a-z or A-Z). |
|
|
239 |
############################################################################## |
|
|
240 |
[HBSTEP02A] |
|
|
241 |
|
|
|
242 |
Prefix=%(projdir)s/HBSTEP02A/HBSTEP02A |
|
|
243 |
|
|
|
244 |
*TopLayer=%(prefix)s-F.Cu.gbr |
|
|
245 |
*BottomLayer=%(prefix)s-B.Cu.gbr |
|
|
246 |
*TopSilkscreen=%(prefix)s-F.SilkS.gbr |
4515 |
kaklik |
247 |
*BottomSilkscreen=%(prefix)s-B.SilkS.gbr |
4514 |
kaklik |
248 |
*TopSoldermask=%(prefix)s-F.Mask.gbr |
|
|
249 |
*BottomSoldermask=%(prefix)s-B.Mask.gbr |
|
|
250 |
Drills=%(prefix)s.drl |
|
|
251 |
BoardOutline=%(prefix)s-Edge.Cuts.gbr |
|
|
252 |
Repeat = 4 |
|
|
253 |
|
|
|
254 |
|
|
|
255 |
|