gerbv is a free and open source Gerber viewer.
About Gerber files
Gerber files are typically output by a PCB CAD tool (such as the gEDA Project's PCB), and are sent to a PCB manufacturer who uses the files for manufacturing Printed Circuit Boards (PCBs).
There are two standards defining Gerber files: An old one called RS-274D, and a newer one called RS-274X. Gerber files generated in the old format (RS-274D) lack aperture information, which must be supplied separately. The new standard (RS-274X) embeds aperture information into the file. The RS-274X standard is described in this document. Note: Gerbv displays RS-274X files! Gerbv will not display RS-274D files! When you create Gerber files using your PCB tool make sure you export RS-274X files if you want to view the 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 the PCB'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 PCB manufacturer.
Here are some key features of "gerbv":
· 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 drill files are supported. Other drill files with similar syntax will also display.
· Gerbv displays well-formed pick-and-place files. Pick-place files should contain XYRS (X, Y, Rotation, placement Side) information, and be held in a comma-separated ASCII (.csv) format.
· Gerbv will autodetect Gerber, drill, or pick-place file type when reading in the file.
· When built using the Cairo rendering engine, gerbv can display Gerber layers in "semi-transparent" mode, making it easy to visualize your board's stack up.
· Gerbv provides facilities for analyzing and validating your Gerber file's syntax, code count, aperture usage, etc. This can be useful in situations in which you are having 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 to object 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 the viewing window.
· Multiple files can be loaded simultaneously and be shown "on top of each other".
· 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). Measurement units are user-selectable
· Gerbv can export a layer image to PNG, .ps, .pdf, and .svg, both from 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 off disk. This feature is useful when you are manually hacking Gerber files.
· Gerbv allows you to save a session into a project file. The project file stores the names of all loaded files, their stackup, color, etc. so so 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).
What's New in This Release: [ read full changelog ]
· Added ability to select objects, with the option of deleting or viewing basic properties of the objects
· Split off the core functionality of gerbv into a library (libgerbv) to allow developers to quickly write software using Gerber parsing/editing/exporting/rendering functionality. Full DOxygen documentation has also been created to facilitate developers wishing to use libgerbv.
· Added export to RS274X and Excellon functionality, allowing gerbv to translate files between formats. The RS274X export function can also be used to "clean" troublesome files to a more compatible format.
· Added the ability to override the Excellon format "guessing", allowing non-standard drill files to be correctly rendered
· Greatly expanded the command line functionality, including the ability to panelize boards into a single one through the command line
Added "Aperture usage" tab to Gerber reports. This allows the user to see how often each aperture is used in all visible layers of his project. Several notable bugs were squished in release 2.1.0:
· Fixed bug when exporting several layers to SVG/PDF/PS, which caused corrupted output and/or crashes
· Fixed several Windows-only problems related to parsing and rendering
· Fixed rendering bug when using polygon objects within step and repeat blocks
· Improved RS-274X export output format to work with certain Gerber viewing software