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