Overview
- Gerbv is a viewer for Gerber RS-274X files, Excellon drill files, and CSV pick-and-place files.
- Gerbv is a native Linux application, and it runs on many common UNIXplatforms. A Windows version is also available.
- Gerbv is free /open-source software.
- You may download the source codefrom thispage.
- The core functionality of gerbv is located in a separate library (libgerbv), allowing developers to include Gerber parsing/editing/exporting/rendering into other programs. Documentation for libgerbv is here.
- Gerbv is one of the utilities affiliated with the gEDA project,an umbrella organization dedicated to producing free software tools forelectronic design.
- The latest official gerbv release is available here.
About Gerber files
Gerber filesare typically output by a PCB CAD tool(such as the gEDA Project's PCB),and are sent to a PCB manufacturer who uses the filesfor manufacturing Printed Circuit Boards (PCBs).
3D Gerber Viewer With this viewer you can upload your Gerber files and have a 360 degree view of your PCB design. Launch the viewer to load your own design or view one of the example boards. You can get step-by-step instructions on this Instructable. CircuitPeople™ Home - Free Online Gerber File Viewer Homepage for CircuitPeople free online Gerber file viewer. View Gerber files for printed circuit board designs.
There are two standards defining Gerber files: An old one calledRS-274D, and a newer one called RS-274X. Gerber files generated inthe old format (RS-274D) lack aperture information, which must besupplied separately. The new standard (RS-274X) embeds apertureinformation into the file.Note: Gerbv displays RS-274X files! Gerbv will not display RS-274D files!When you create Gerber files usingyour PCB tool make sure you export RS-274X files if you want to viewthe files with gerbv.
In the Gerber format, the different layers of a PCB (e.g. top silk,top metal, interior layers, etc.) are held in separate files. Information about thePCB's stackup (i.e. layer order, thickness, etc.) is not captured by Gerber files; it is up to the user to supply this information to gerbv, and to his PCBmanufacturer.
Gerbv's featureset
In summary, gerbv supports the following features:
- Gerbv runs on Linux and other Unices (Linux native).
- An experimental Windows version is available for beta-testing.
- Gerbv displays RS-274X files. (It does not display RS-274D files)
- Gerbv handles aperture macros with up to 10 levels of recursion.
- Gerbv supports complex layer operations (e.g. knockout).
- Gerbv can display many different drill file formats. In particular, Excellon drillfiles are supported. Other drill files with similar syntax will also display.
- Gerbv displays well-formed pick-and-place files. Pick-place filesshould contain XYRS (X, Y, Rotation, placement Side) information, andbe held in a comma-separated ASCII (.csv) format.
- Gerbv will autodetect Gerber, drill, or pick-place file typewhen reading in the file.
- When built using the Cairorendering engine, gerbv can display Gerber layers in'semi-transparent' mode, making it easy to visualize your board'sstack up.
- Gerbv provides facilities for analyzing and validating your Gerberfile's syntax, code count, aperture usage, etc. This can be useful in situations in which you arehaving problems in the CAM stage of manufacturing your PC Board (i.e.when your manufacturer is having problems with your files).
- When built using Cairo,gerbv allows for limited Gerber editing. (Currently limited toobject deletion.)
- Panning and zooming (both stepwise and outline) of the image is supported.
- Gerbv supports image autoscale — i.e. zoom and pan the image to fit theviewing window.
- Multiple files can be loaded simultaneously and be shown 'on top of eachother'.
- The number of layers you may load simultaneously is unlimited by gerbv.
- The layer order (stackup) may be changed using an intuitive 'drag and drop' menu.
- You may turn display of individual layers on and off independently using a checkbox.
- You may set layer colors independently using a pop up color choice window.
- You may change the layer polarity (negative/positive display).
- Gerbv incorporates a measurement tool so you can make measurements on the image.
- Three different measurement units supported: inch, mm, mil (1/1000 inch). Measurementunits are user-selectable
- Gerbv can export a layer image to PNG, .ps, .pdf, and .svg, bothfrom within the GUI as well as via a command line switch (cairo version only).
- Gerbv performs negative/scratch draws.
- Gerbv includes a reload operation, which re-reads all loaded files offdisk. This feature is useful when you are manually hacking Gerber files.
- Gerbv allows you to save a session into a project file. The project filestores the names of all loaded files, their stackup, color, etc. soso you can easily reload all Gerber files in a project at a later date(e.g. after re-editing then using a PCB layout tool).
Obtaining and installing gerbv
Gerbv is targeted to run on Linux and other UNIX variants. Pqbox100 power network analyzer #2 driver download. Gerbv is now carried in most of the major Linux distribution's software repositories.Therefore, most people will want toinstall gerbv using their favorite package tool (such as yum, apt-get,etc.) You can get installation files from the following places:
- Fedora/RedHat RPMs are available from the common Fedora mirrors. Gerbv is also included in the Fedora Electronics Lab. live CD. More information about installing on Fedora is available on the gEDA Wiki.
- SuSE. More information about installing on SuSE is available on the gEDA Wiki.
- NetBSD. It is available from the NetBSD ports tree (thanks Dan McMahill).
- FreeBSD, in their cad ports tree.
- Charles Lepple has built gerbv on the Mac OSX using fink.His fink packages and other installation information are available here.You can also see a recent list of gerbv versions in Fink in thepackage database
Build and install instructions
Prerequisites
If you wish to build gerbv from source, your system should have thefollowing libraries:
- GTK+, the graphical toolkit.
- Cairo, a graphics library. Thisprovides advanced graphics rendering capability, as well as Gerber editing.
Building gerbv by downloading a release
- Download source tarballs from here.
- Expand source by running
gzip -dc | tar xf -
- Change to newly expanded directory
- Type
./configure
.
The following (gerbv) switches are available to configure:--help
: Lists all configure options.--enable-debug
: Program will output lots of debug spew while running. (default = no -> no debug output by default.)--enable-unit-mm
: Set default unit for coordinates in status bar to mm (default = no -> units = inches by default.)--enable-efence
: Link with ElectricFence for malloc debugging (default = no -> efence off by default.)--disable-update-desktop-database
: Update desktop icon database after installation (default = no -> desktop icon installed by default.)
- Type
make
- Type
make install
. Please note that if you want to install it in a system directory you have tosu
first. - Test by typing
gerbv
Building gerbv by downloading from anonymous git repository
- Check out the source tree:
git clone git://git.geda-project.org/gerbv.git
- Recreate all build system files:
sh autogen.sh
- Type
./configure
.
The following (gerbv) switches are available to configure:--help
: Lists all configure options.--enable-debug
: Program will output lots of debug spew while running. (default = no -> no debug output by default.)--enable-unit-mm
: Set default unit for coordinates in status bar to mm (default = no -> units = inches by default.)--enable-efence
: Link with ElectricFence for malloc debugging (default = no -> efence off by default.)--disable-update-desktop-database
: Update desktop icon database after installation (default = no -> desktop icon installed by default.)
- Type
make
- Type
make install
. Please note that if you want to install it in a system directory you have tosu
first. - Test by typing
gerbv
- Run
git pull
in the checked out gerbv directory to get the latest changes.
Supported platforms
Gerbv has been built and tested on- Linux (2.2/2.4/2.6)
- NetBSD/i386 (1.4.1)
- NetBSD/Alpha (1.5.1)
- Solaris (5.7 and 5.8)
- FreeBSD/i386 (6.0 and 7.0)
Information for developers
Gerbv is split into a core functional library and a GUI portion. Developers wishing to incorporate Gerber parsing/editing/exporting/rendering into other programs are welcome to use libgerbv. Complete API documentation for libgerbv is here, as well as many example programs using libgerbv.
Gerbv now uses git for source code control. It is generously provided by geda-project.org. You can get a crash course in geda-projet git from here.
Random resources and information
Gerbv resources
- Gerbvsceenshots.
- Browse the gerbv git repository, which is part of the geda project git repository
- Read the man page for the current release
- Ashort write upmostly as a simple how-to at hackaday.
Other Gerber software
- gerbvQt uses QPainter from Qt rather than Cairo in libgerbv for vector graphics. The project is incomplete and needs some help.
- pcb2gcodetakes (contrary to its name) Gerber files and generates G-code used fordrilling machines. The cool thing withthis is that it uses libgerbv for actual Gerber parsing (Added on 20090819).
- gerber2eps generates Encapsulated PostScript from Gerber files.
- gerb2tiff generates TIFF's from Gerber files. Also includes a win32 binary for the interested (URL updated 20090819).
- Gerber RS-274D/X file viewer in Java. Doesn't seem to work too well. Maybe a start if someone likes to hack Java.
- gerber2pdf. A Python script that converts a gerber file 2 pdf. Seems quite advanced.
- GBTiler is not actually a viewer, but a panelizer as I understand it. Takes several gerber files and puts them together next to each other. Written in Perl (URL updated 20090819).
- GerbMerge is also a panelizer, but written in Python.
- To convert an RS274D with an external aperture list to an RS274X Larry Doolittledescribeda short perl script in an email. Ormund Williams tried to use it, but had to do some slight modificationsto make it work for him.
In summary, gerbv supports the following features:
- Gerbv runs on Linux and other Unices (Linux native).
- An experimental Windows version is available for beta-testing.
- Gerbv displays RS-274X files. (It does not display RS-274D files)
- Gerbv handles aperture macros with up to 10 levels of recursion.
- Gerbv supports complex layer operations (e.g. knockout).
- Gerbv can display many different drill file formats. In particular, Excellon drillfiles are supported. Other drill files with similar syntax will also display.
- Gerbv displays well-formed pick-and-place files. Pick-place filesshould contain XYRS (X, Y, Rotation, placement Side) information, andbe held in a comma-separated ASCII (.csv) format.
- Gerbv will autodetect Gerber, drill, or pick-place file typewhen reading in the file.
- When built using the Cairorendering engine, gerbv can display Gerber layers in'semi-transparent' mode, making it easy to visualize your board'sstack up.
- Gerbv provides facilities for analyzing and validating your Gerberfile's syntax, code count, aperture usage, etc. This can be useful in situations in which you arehaving problems in the CAM stage of manufacturing your PC Board (i.e.when your manufacturer is having problems with your files).
- When built using Cairo,gerbv allows for limited Gerber editing. (Currently limited toobject deletion.)
- Panning and zooming (both stepwise and outline) of the image is supported.
- Gerbv supports image autoscale — i.e. zoom and pan the image to fit theviewing window.
- Multiple files can be loaded simultaneously and be shown 'on top of eachother'.
- The number of layers you may load simultaneously is unlimited by gerbv.
- The layer order (stackup) may be changed using an intuitive 'drag and drop' menu.
- You may turn display of individual layers on and off independently using a checkbox.
- You may set layer colors independently using a pop up color choice window.
- You may change the layer polarity (negative/positive display).
- Gerbv incorporates a measurement tool so you can make measurements on the image.
- Three different measurement units supported: inch, mm, mil (1/1000 inch). Measurementunits are user-selectable
- Gerbv can export a layer image to PNG, .ps, .pdf, and .svg, bothfrom within the GUI as well as via a command line switch (cairo version only).
- Gerbv performs negative/scratch draws.
- Gerbv includes a reload operation, which re-reads all loaded files offdisk. This feature is useful when you are manually hacking Gerber files.
- Gerbv allows you to save a session into a project file. The project filestores the names of all loaded files, their stackup, color, etc. soso you can easily reload all Gerber files in a project at a later date(e.g. after re-editing then using a PCB layout tool).
Obtaining and installing gerbv
Gerbv is targeted to run on Linux and other UNIX variants. Pqbox100 power network analyzer #2 driver download. Gerbv is now carried in most of the major Linux distribution's software repositories.Therefore, most people will want toinstall gerbv using their favorite package tool (such as yum, apt-get,etc.) You can get installation files from the following places:
- Fedora/RedHat RPMs are available from the common Fedora mirrors. Gerbv is also included in the Fedora Electronics Lab. live CD. More information about installing on Fedora is available on the gEDA Wiki.
- SuSE. More information about installing on SuSE is available on the gEDA Wiki.
- NetBSD. It is available from the NetBSD ports tree (thanks Dan McMahill).
- FreeBSD, in their cad ports tree.
- Charles Lepple has built gerbv on the Mac OSX using fink.His fink packages and other installation information are available here.You can also see a recent list of gerbv versions in Fink in thepackage database
Build and install instructions
Prerequisites
If you wish to build gerbv from source, your system should have thefollowing libraries:
- GTK+, the graphical toolkit.
- Cairo, a graphics library. Thisprovides advanced graphics rendering capability, as well as Gerber editing.
Building gerbv by downloading a release
- Download source tarballs from here.
- Expand source by running
gzip -dc | tar xf -
- Change to newly expanded directory
- Type
./configure
.
The following (gerbv) switches are available to configure:--help
: Lists all configure options.--enable-debug
: Program will output lots of debug spew while running. (default = no -> no debug output by default.)--enable-unit-mm
: Set default unit for coordinates in status bar to mm (default = no -> units = inches by default.)--enable-efence
: Link with ElectricFence for malloc debugging (default = no -> efence off by default.)--disable-update-desktop-database
: Update desktop icon database after installation (default = no -> desktop icon installed by default.)
- Type
make
- Type
make install
. Please note that if you want to install it in a system directory you have tosu
first. - Test by typing
gerbv
Building gerbv by downloading from anonymous git repository
- Check out the source tree:
git clone git://git.geda-project.org/gerbv.git
- Recreate all build system files:
sh autogen.sh
- Type
./configure
.
The following (gerbv) switches are available to configure:--help
: Lists all configure options.--enable-debug
: Program will output lots of debug spew while running. (default = no -> no debug output by default.)--enable-unit-mm
: Set default unit for coordinates in status bar to mm (default = no -> units = inches by default.)--enable-efence
: Link with ElectricFence for malloc debugging (default = no -> efence off by default.)--disable-update-desktop-database
: Update desktop icon database after installation (default = no -> desktop icon installed by default.)
- Type
make
- Type
make install
. Please note that if you want to install it in a system directory you have tosu
first. - Test by typing
gerbv
- Run
git pull
in the checked out gerbv directory to get the latest changes.
Supported platforms
Gerbv has been built and tested on- Linux (2.2/2.4/2.6)
- NetBSD/i386 (1.4.1)
- NetBSD/Alpha (1.5.1)
- Solaris (5.7 and 5.8)
- FreeBSD/i386 (6.0 and 7.0)
Information for developers
Gerbv is split into a core functional library and a GUI portion. Developers wishing to incorporate Gerber parsing/editing/exporting/rendering into other programs are welcome to use libgerbv. Complete API documentation for libgerbv is here, as well as many example programs using libgerbv.
Gerbv now uses git for source code control. It is generously provided by geda-project.org. You can get a crash course in geda-projet git from here.
Random resources and information
Gerbv resources
- Gerbvsceenshots.
- Browse the gerbv git repository, which is part of the geda project git repository
- Read the man page for the current release
- Ashort write upmostly as a simple how-to at hackaday.
Other Gerber software
- gerbvQt uses QPainter from Qt rather than Cairo in libgerbv for vector graphics. The project is incomplete and needs some help.
- pcb2gcodetakes (contrary to its name) Gerber files and generates G-code used fordrilling machines. The cool thing withthis is that it uses libgerbv for actual Gerber parsing (Added on 20090819).
- gerber2eps generates Encapsulated PostScript from Gerber files.
- gerb2tiff generates TIFF's from Gerber files. Also includes a win32 binary for the interested (URL updated 20090819).
- Gerber RS-274D/X file viewer in Java. Doesn't seem to work too well. Maybe a start if someone likes to hack Java.
- gerber2pdf. A Python script that converts a gerber file 2 pdf. Seems quite advanced.
- GBTiler is not actually a viewer, but a panelizer as I understand it. Takes several gerber files and puts them together next to each other. Written in Perl (URL updated 20090819).
- GerbMerge is also a panelizer, but written in Python.
- To convert an RS274D with an external aperture list to an RS274X Larry Doolittledescribeda short perl script in an email. Ormund Williams tried to use it, but had to do some slight modificationsto make it work for him.
Information about Gerber and Excellon file formats
- The latest version of the Gerber standard can be downloaded from theUcamco website.Thanks to Karel Tavernier, Managing Director of Ucamco, for granting uspermission to link to this document.
- D-codes, Apertures & Gerber Plot FilesDesribes how a photo plotter works and describes RS-274D.
- What's all this about RS274X Anyway?Discusses the extension to RS27X from RS274D.
- A description of theExcellon file format at the Excellon company's website.
Submitting a patch or addition to gerbv
- We are interested in all ideas and suggestions regarding gerbv. We also reserve us the right to reject them though. Ideas implemented in sourcecode always have a greater chance to make it into the release in a near future.
- If you want to implement something for gerbv there is a certain 'codestandard' we try to maintain. That is described in a text file in thedistribution HACKING. Please read it. And check that your code doesn'tstand out too much from the rest regarding naming of functions andvariables.
- When submitting a patch, the developers prefer git patches. The parameter to use to git is:
git format-patch
and send us the diff file using Sourceforge's patch tracker. - If you have questions about submitting patches, post them to the geda-dev mailing list.
License
Gerber File Viewer Download
gerbv and all associated files are released under the GNU Public License (GPL) version 2.0.
Gerber File Viewer Free Download
Programs and associated files are:
Copyright © 2001 — 2011 by Stefan Petersenand the respective original authors who are listed in the source files.
Contact information
- Bugs: Please submit bug reports to the SourceForge bug tracker.
- Feature requests: Please submit feature requests to the SourceForge feature request tracker.
- Patches: Please submit patches to the SourceForge patch submission tracker.
- To communicate with a gerbv developer: Please post your query on thegeda-dev mailing list.
Archives
- 2011-12-25 : 2.6.0 general release available here. Announcement is readable here.
- 2011-01-12 : 2.5.0 general release available here. Announcement is readable here.
- 2010-02-22 : 2.4.0 general release available here. Announcement is readable here.
- 2009-07-11 : 2.3.0 general release available here. Announcement is readable here.
- 2009-01-22 : 2.2.0 general release available here. Announcement is readable here.
- 2008-09-06 : 2.1.0 general release available here. Announcement is readable here.
- 2008-02-09 : 2.0.1 general release available here. Announcement is readable here.
- 2008-01-13 : 2.0.0 general release available here. Announcement is readable here.
- 2008-01-9 : 2.0.0-beta release available here. Announcement is readable here.
- 2007-12-01 : 1.0.3 release available here. Announcement is readable here.
- 2006-07-28 : 1.0.2 release available here. Announcement is readable here.
- 2005-01-22 : 1.0.1 release available here. Announcement is readable here.
- 2004-12-28 : 1.0.0 release available here. Announcement is readable here.
- 2004-10-19 : Another beta of a windows version is released and available here.
- 2004-10-07 : A beta of a windows version is available here. There is no particular announcement, but please read the release notes.
- 2004-05-27 : 0.16 release available here. Announcement is readable here.
- 2003-10-19 : 0.15 release available here. Announcement is readable here.
- 2003-09-16 : 0.14 release available here. Announcement is readable here.
- 2003-07-30 : Michael Ihde updated the ebuild script for Gentoo Linux.
- 2003-07-17 : Michael Ihde contributed an ebuild script for Gentoo Linux.
- 2003-03-19 : 0.13 release available here. Announcement is readable here.
- 2003-02-12 : The batch backend can't get compiled in release 0.12 (usually not compiled in by default). If you have an immediate need for it to work, please contact me.
- 2003-02-10 : 0.12 release available here. Announcement is readable here.
- 2002-11-20 : 0.11 release available here. Announcement is readable here.
- 2002-10-19 : Release 0.0.10 didn't build proper on architecture other than i386, as discovered by Debians autobuilder. If you get a load of warnings saying 'comparison is always false due to limited range of data type' you should use this patch. Copy the file into gerbv-0.0.10 directory and run
gzip -dc gerbv-0.0.10_to_2.diff.gz | patch -p0
and recompile. - 2002-10-13 : 0.0.10 release available here. Announcement is readable here.
- 2002-07-06 : 0.0.9 release available here. Announcement is readable here.
- 2002-05-06 : 0.0.8 release available here. Announcement is readable here.
- 2002-02-10 : 0.0.7 release available here. Announcement is readable here.
- 2001-12-15 : 0.0.6 release available here. Announcement is readable here.
- 2001-11-21 : 0.0.5 had some 'fixes' which broke displaying some pads. So if you miss a bunch of pads when displaying your Gerbers, try this patch. Copy the file into the src directory, run
patch < gerber.c.diff
and rerun make and make install. - 2001-11-14 : Fifth release (0.0.5) Available here. Announcement is readable here.
- 2001-10-27 : Fourth release (0.0.4). Available here. Announcement is readable here.
- 2001-09-17 : Hamish Moffatt has made 0.0.3 in Debian packages. See here.
- 2001-09-09 : Third release (0.0.3). Available here. Announcement is readable here.
- 2001-09-02 : The 0.0.2 release missed some files. You can download them here:
- 2001-08-30 : Second release (0.0.2). Available here. Announcement is readable here.
- 2001-08-25 : First release (0.0.1) of source. Available here. Announcement is readable here.