By Forrest Cook
January 29, 2008
Gerbv (Gerber Viewer)
is a utility for displaying CAD files that are used in the manufacture
of electronic printed circuit boards:
Gerbv is a viewer for Gerber (RS-274X) files. It is one of the utilities affiliated with the
gEDA project.
Gerber files are generated from PCB CAD systems and sent to PCB manufacturers as the basis for the manufacturing process. The standard supported by gerbv is RS-274X.
In the 1980s, computer generated
Gerber files
were used to drive photo-plotter machines made by by the Gerber Systems
Corporation. The photo plotters
used a mechanically stepped light source and rotating image wheels to optically imprint a image of a circuit board onto a large piece of film.
The film was then used to manufacture the printed circuit board.
Additionally, PCB manufacturing requires information for defining the
size and placement of drill holes (drill files).
The photo plotting
machines are now obsolete, but the Gerber standard remains as a
standard in the PCB manufacturing business. The output from Gerber
file plots can look considerably different than the original CAD drawings,
making a visualization tool like Gerbv important.
Gerbv can be used for examining the CAD files generated by
such software as
CadSoft Eagle,
a popular commercial application with a freely downloadable hobby version.
Another Linux-compatible printed circuit CAD
application is PCB.
PCB is less powerful than Eagle, but is open-source software.
LWN examined PCB
a long time ago.
Version 2.0.0 of Gerbv was recently
announced:
"Gerbv release 2.0.0 represents a a whole new look for gerbv. Most
importantly, the layer control GUI has been made much more powerful through
the outstanding work of Julian Lamb. Julian has also re-worked the GUI's
button and menus to make them more convenient to use. We are certain that
you will find gerbv-2.0.0 even easier to use than before because of Julian's amazing work!"
The feature list for Gerbv 2.0.0 now includes:
- Display of RS-274x Gerber files.
- The complete implementation of the current Gerber spec.
- Display of Excellon drill files.
- Display of XYRS pick-place files for surface mount technology.
- A completely redesigned GUI.
- Controls for zoom/pan and fit to screen.
- A measure tool for making mouse-controlled distance calculations.
- User selected display of the various layers.
- Support for transparency so that multiple layers can be viewed.
- Report windows showing Gerber and drill code stats and errors.
- A built-in print button.
- Use of the Cairo graphics library, enabling export of PDF, PS, SVG, and PNG files.
- Incorporation of a new unit test suite in the code.
- Improved file-type autodetection.
- Expanded configuration options for the build system.
The project's SourceForge
screenshot page gives several examples of Gerbv 2.0.0 in use.
Installation of Gerbv 2.0.0 was straightforward. The source code was
downloaded, uncompressed and untared.
The standard Unix configure/make/make install steps were performed
on a Ubuntu Feisty Fawn system, no problems were encountered.
Gerbv 2.0.0 was tested on some Eagle CAD files that your author
had worked on in the past. Startup was easy, running the command
gerbv slc1.* had the desired effect of pulling in all of the
various layers for the test project. Moving and zooming around the
layers showed the CAD graphics in detail, as expected.
The analyze tools produced a lot of useful status information for
the various files.
Details in the
copper layers that did not show up in Eagle (version 4.16) were easily
seen with Gerbv. In the past, your author has encountered problems
with Eagle incorrectly displaying the placement and scaling of text on
the silk screen layer.
This showed up when CAD files were taken to a board manufacturer.
Gerbv displayed the text as it appears on the manufacturer's system,
which is the desired behavior.
The export functions were experimented with. Export to a png file
worked as expected. Export to a PostScript file caused Gerbv to
hang up. Export to a PDF file took a very long time to complete, and
gpdf took a long time to load the file. When gpdf finished rendering,
it only displayed large polygons that were barely visible due to
their almost identical colors. Export to svg produced a
file that caused the mirage image viewer to hang when reading.
An attempt to convert the svg file to a jpg file with convert
resulted in this error:
convert: unable to open image `pattern0': No such file or directory.
convert: Non-conforming drawing primitive definition `fill'.
Clearly, this is still a .0.0 release with some bugs.
Despite these problems, Gerbv 2.0.0 is a tool that is useful, if not
critical, for performing Linux-based printed circuit board design.
(
Log in to post comments)