1gerbv(1) 2.0.0 gerbv(1)
2
3
4
6 gerbv - Gerber Viewer
7
9 gerbv [OPTIONS] [gerberfile[s]]
10
12 gerbv is a viewer for RS274-X, commonly known as Gerber, files.
13 RS274-X files are generated from different PCB CAD programs and are
14 used in the printed circuit board manufacturing process. gerbv also
15 supports Excellon/NC drill files as well as XY (centroid) files pro‐
16 duced by the program PCB (http://pcb.sf.net).
17
18
20 Warning! On some platforms, which hasn't long option available, only
21 short options are available.
22
23
24 gerbv Options
25 -V|--version Prints the version number of gerbv and exits.
26
27 -h|--help
28 Prints a brief usage guide.
29
30 -l <filename>|--log=<filename>
31 All error messages etc are stored in a file with filename <file‐
32 name>.
33
34 -t <filename>|--tools=<filename>
35 Read Excellon tools from the file <filename>.
36
37 --geometry=<width>x<height>[<+->x-position[<+->y-position]]
38 Sets the the size of the window. X-position and y-position are
39 currently ignored by gerbv.
40
41 -p <project filename>|--project=<project filename>
42 Load a stored project. Please note that the project file must be
43 stored in the same directory as the gerber files.
44
45
46 GTK Options
47 --gtk-module=MODULE Load an additional GTK module
48
49 --g-fatal-warnings
50 Make all warnings fatal
51
52 --gtk-debug=FLAGS
53 GTK debugging flags to set
54
55 --gtk-no-debug=FLAGS
56 GTK debugging flags to unset
57
58 --gdk-debug=FLAGS
59 GDK debugging flags to set
60
61 --gdk-no-debug=FLAGS
62 GDK debugging flags to unset
63
64 --display=DISPLAY
65 X display to use
66
67 --sync Make X call synchronous
68
69 --no-xshm
70 Don't use X shared memory extension
71
72 --name=NAME
73 Program name as used by the window manager
74
75 --class=CLASS
76 Program class as used by the window manager
77
78
80 When you start gerbv you can give the files to be loaded on the command
81 line, either as each file separated with a space or by using wildcards.
82
83 The user interface is graphical. Simply press left mouse button and the
84 image will pan as you move the mouse. To manipulate a layer, right-
85 click on one of the rightmost buttons. That will bring up a pop-up menu
86 where you can select what you want to do with that layer (load file,
87 change color, etc).
88
89 If you hold the mouse button over one the rightmost button a tooltips
90 will show you the name of the file loaded on that layer.
91
92
93
95 You can load several files at one time. You can then turn displaying of
96 the layers on and off by clicking on one of the rightmost buttons.
97
98 You can also control this from the keyboard. Press Alt, enter the num‐
99 ber on the layer you want activate/deactivate on the numerical keypad
100 and then release the Alt key.
101
102
104 Zooming can be handled by either menu choices, keypressing, middle
105 mouse button or scroll wheel. If you press Alt+I you will zoom in and
106 if you press Alt+O you will zoom out.If you press middle mouse button
107 you will zoom out, and if you press Shift and middle mouse button you
108 will zoom in. Scroll wheel works if you enabled that in your X server
109 and mapped it to button 4 and 5. You can also zoom in by pressing z and
110 zoom out by pressing shift+z (ie Z). You can make the image fit by
111 pressing f (there is also a menu alternativ for this).
112
113 You can also do zooming by outline. Press right mouse button, draw,
114 release. The dashed line shows how the zooming will be dependent on
115 the resolution of the window. The non-dashed outline will show what you
116 actually selected. If you change your mind when started to mark out‐
117 line, you can always abort by pressing escape. By holding down the
118 shift key when you press the right mouse button, you will select an
119 area where the point you started at will be the center of your selec‐
120 tion.
121
122
124 You can do measurement on the image displayed. By pressing shift, the
125 cursor changes to a plus. By using left mouse button you can draw the
126 lines that you want to measure. The result of the last measurement is
127 also displayed on the statusbar. All measurements are in the drawing
128 until you either zoom, pan or press the escape key.
129
130 The statusbar shows the current mouse position on the layer in the same
131 coordinates as in the file. Ie if you have (0,0) in the middle of the
132 image in the gerber files, the statusbar will show (0,0) at the same
133 place.
134
135
137 When you load several Gerber files, you can display them "on top of
138 each other", ie superimposing. The general way to display them are that
139 upper layers cover the layers beneath, which is called copy (GTK+
140 terms).
141
142 The other ways selectable are and, or, xor and invert. They map
143 directly to corresponding functions in GTK. In GTK they are described
144 as: "For colored images, only GDK_COPY, GDK_XOR and GDK_INVERT are gen‐
145 erally useful. For bitmaps, GDK_AND and GDK_OR are also useful."
146
147
149 gerbv can also handle projects. A project consist of bunch of loaded
150 layers with their resp. color and the background color. The easiest way
151 to create a project is to load all files you want into the layer you
152 want, set all the colors etc and do a "Save Project As...".
153
154 You load a project either from the menu bar or by using the commandline
155 switches -p or --project.
156
157 Currently there is a limit in that the project file must be in the same
158 directory as the gerber files to be loaded.
159
160
162 The project files are simple Scheme programs that is interpreted by a
163 built in Scheme interpreter. The Scheme interpreter is TinyScheme and
164 needs a Scheme program called init.scm to initialize itself. The search
165 path for init.scm is (in the following order) /usr/share/gerbv/scheme,
166 the directory with the executable gerbv, the directory gerbv was
167 invoked from and finally according to the environment variable
168 GERBV_SCHEMEINIT.
169
170
172 Not every Excellon drill file is self-sufficient. Some CADs produce
173 .drd files where tools are only referenced, but never defined (such as
174 what diameter of the tool is.) Eagle CAD is one of such CADs, and there
175 are more since many board houses require Tools files.
176
177 A Tools file is a plain text file which you create in an editor. Each
178 line of the file describes one tool (the name and the diameter, in
179 inches):
180
181 T01 0.024
182 T02 0.040
183 ...
184
185 These are the same tools (T01 etc.) that are used in the Drill file. A
186 standard practice with Eagle is to create an empty Tools file, run the
187 CAM processor, and the error report tells you which tools you "forgot".
188 Then you put these tools into the file and rerun the CAM processor.
189
190 You load a tool file by using the commandline switches -t or --tools.
191 The file can have any name you wish, but Eagle expects the file type to
192 be ".drl", so it makes sense to keep it this way. Some board houses are
193 still using CAM software from DOS era, so you may want to excercise
194 caution before going beyond the 8.3 naming convention.
195
196 When gerbv reads the Tools file it also checks that there are no dupli‐
197 cate definitions of tools. This does happen from time to time as you
198 edit the file by hand, especially if you, during design, add or remove
199 parts from the board and then have to add new tools into the Tools
200 file. The duplicate tools are a very serious error which will stop
201 (HOLD) your board until you fix the Tools file and maybe the Excellon
202 file. gerbv will detect duplicate tools if they are present, and will
203 exit immediately to indicate such a fatal error in a very obvious way.
204 A message will also be printed to standard error.
205
206 If your Excellon file does not contain tool definitions then gerbv will
207 preconfigure the tools by deriving the diameter of the drill bit from
208 the tool number. This is probably not what you want, and you will see
209 warnings printed on the console.
210
211
213 GERBV_SCHEMEINIT
214 Defines where the init.scm file is stored. Used by scheme inter‐
215 preter, which is used by the project reader.
216
217
219 Stefan Petersen (spetm at users.sourceforge.net): Overall hacker and project leader
220 Andreas Andersson (e92_aan at e.kth.se): Drill file support and general hacking
221 Anders Eriksson (aenfaldor at users.sourceforge.net) : X and GTK+ ideas and hacking
222
223
225 Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Stefan Petersen
226
227 This document can be freely redistributed according to the terms of the
228 GNU General Public License version 2.0
229
230
231
232Version January 11, 2008 gerbv(1)