A visualization tool
for Gerber ©
and Excellon ©
files.

WARNING:
This is a beta version. Access the web page here for up-to-date versions. Do not use for production purpose. Please report bugs to support@mcn-audio.com. English is not my native language, be kind enough to report mistakes in the documentation below and suggest improvements as well.

RESTRICTIONS FOR THIS VERSION

Commands limitations:
The following Gerber© commands should be parsed without errors, but will not be followed by any action:

AS Axis Select, IJ Image Justify, IF Include File, IO Image Offset, IP Image Polarity, IR Image Rotation, MI Mirror Image, KO Knock Out, LP Layer Polarity, OF Offset, PF Plotter Film, SR Step and Repeat.

Viewer limitations:
Pads with centre hole will not display properly. Polygons included in polygons will not display properly.

Macros limitations:
Macros primitives CIRCLE, OUTLINE, LINE CENTER and POLYGON only are implemented. The number of parameters must be less than 50. The length of the name must be shorter than 500 characters. The length of the definition must be shorter than 1024 characters. The variable modifiers should be processed properly. The mathematic parser for numerical operators is quite lazy for the time. Numerical operators add, subtract, divide and multiply should work, but equate is not supported.

Loading files

Load files using File Open menu or the shortcut (apple)+O. Multiple files selection is possible.
Add some new files to the current display with File Add menu or the shortcut (apple)+A.

Controlling the view

This is easily done if you have a dual button and scroll-ball pointing device (Mighty Mouse to make it short). The scroll-ball controls the zoom. For panning, grab the view by keeping pressed the left button.
On the top right of the application window, X and Y coordinates show the position of the cursor. Relative measurements Delta X and Delta Y refer to the relative origin shown by the green cross. To move the relative origin to any location, use the single click right. A double click right will reset the relative origin to the zero point again. The Delta D value is the distance between the relative origin and the actual mouse cursor position. Coordinates unit can be changed between mm and inch in the Preferences menu.
With a single button mouse, the Page-Up and Page-Down keys of the keyboard control the zoom.

The Layers' List

In the left part of the application window, a list shows the names of the loaded layers. Layer visibility is controlled by the check box. The layer on the top of the list is displayed on the top of the "z axis" stack (hiding layers below if any). Drag and drop the names in the list to get the arrangement you want. Black names go with Gerber© layers, blue names go with Excellon© layers and red name with not-supported formats or errors found during file parsing. A red name however doesn't mean that the layer cannot be displayed, at least partially.

Displaying Layer Information

In the layers list, double click the layer name. This opens the Layer Information Sheet. There, you find:
If the file format is RS-274X, the Extended Gerber©, most of the settings are defined in the file header, and then cannot be changed here.
If the file format is RS-274D (the Standard Gerber©) or Excellon©, settings can be changed and the apertures table can be edited. You must reload the layer to see the effect of the changes. The layer will be displayed correctly only if the values for m.n format, coordinates, omitted zeros and apertures' values are properly defined.

First, define:
Then reload the layer by clicking Reload Layer button. You should get a kind of "skeleton" display mostly showing tracks but no pad, however all dimensions should be accurate.

Then complete the aperture definition table, setting for each D (or T) code the shapes and the dimensions.
Up to 100 apertures can be defined. The unit used to display apertures'dimensions is the one selected by the radio button.

User Preferences

The User Preference sheet includes two panels:
Gerber & Excellon
For both data formats, these settings are used by default if no other specification is included in the file. These settings should reflect the requirements of the ECAD system you most frequently use. Complete the aperture definition table, setting for each D code or T code the shape and the dimensions according your ECAD standard aperture wheel. Up to 100 apertures can be defined. The unit used to display apertures' dimensions is the one chosen on the left.

Aperture table can aslo be completed using a definition file, by selecting the option Get Codes from file. This file must be an ASCII text format file, with space or tabulation separated values, following the syntax below:

INCH


D10 CIRCULAR 0.010
D11 RECTANGLE 0.020
0.300
D12 CIRCULAR 0.020
D13 CIRCULAR 0.010
D14 CIRCULAR 0.020

... ... ... ...

This file should include the token INCH or MM or METER or METRIC to set the unit. If not included, values are assumed to be Inch. If more than one unit token is included, the last one is used. This unit token may be placed before or after the apertures' defintions.
Each line is parsed for a D or a T immediately followed by an interger (immediately means without space in between). If this D or T code is found, the rest of the line is analyzed, searching for CIRCULAR, CIRCLE or  CERCLE, or for RECTANGLE or SQUARE to set the shape. According to the shape, one or two real values (real means a decimal number, such 0.020) are expected.
Use Browse to find the file you want. The file name is displayed on a clear red background if it cannot be opened. If the file you've selected cannot be parsed, nothing will show in the apertures' table.

Rendering & Data
MCN Gerber Viewer relies on OpenGL© library to display the layers view.
Preferences here mostly control how OpenGL© is rendering the data, and some details about aperture files.

Create and use an aperture table associated to Gerber© files.
This options only makes sense with Standard Gerber©, not embedding any aperture information. To visualize such kind of files, you have to set manually the format parameters, and fill in the aperture table according to the aperture wheel of your ECAD system. This is mainly a set and retry process: you adjust something and reload the layer until the final result is reached. If you activate this option, each time you load (or reload) the layer, an apertures file is created in the current directory (the directory containing the Gerber© file you are opening). The name of this file is formed by adding the extension "apdef" to the Gerber© file name (for e.g. if the Gerber© file is "artwork1.top" it will be "artwork1.top.apdef"). This file contains the D codes values you defined, following the syntax described above. The next time you will open the same Gerber© file, you will not need to enter these parameters again.

Always place Excellon© layers on the top.
The drill layers are easy to be hidden by copper layers. Set this option to ensure these layers are placed on the top.

Show Excellon© layers using background colour.
Set this option to get a more realistic view, drill mark then looking like holes.

Always use the file name in the layers list, instead of the image name.
In a Gerber© file, an Image Name (IN) command can be included to define the name of the layer. In such a case this name will show in the layers list. Select this option if you prefer the layers list to show the file name instead of the Image Name.

Rendering approximation: Circles.
OpenGL© don't draw circles but actually polygons. And a polygon pretty looks like a circle if the number of segments used is high enough. This setting lets you adjust between 10 and 30 this number of segments.

Rendering approximation: Track ends.
On a real photoplotter, the shape of a track end is a half circle. For the reason explained above, this setting lets you adjust between 4 and 30 the number of segments used to draw this half circle.

Rendering approximation: Circular interpolations.
Circular interpolation is a primitive function of photoplotters to draw arcs and circles. For the reason explained above, this setting lets you adjust between 10 and 30 the number of segments used to draw this circular interpolation.

nb. You have to reload the files to see the effect of these settings. Please keep in mind that there is a compromize between the accuracy of the view and the time required to create it. Increasing the number of segments for circles rendering gives a better display, but at the expense of a higher graphic processor load. This will make the application less responsive during pan and resize of the view.

Synchronize rendering updates to the vertical refresh.
Even displaying a static image on a computer screen is a dynamic process. The graphic processor periodically redraws the image several times each second. If the image changes during the redraw time, some display artifacts may happend. Select this option to ensure that the application changes the image only between redraws.

Show mesh during pan and resize.
Pan and zoom are extremely demanding tasks for the graphic processor. If the file you are viewing is heavy, or if you are facing limited graphic ressources, this option can help. When activated, the filling of graphic objects is simply forgotten: tracks turn to lines and pads turn to circles. This dramatically reduces the load applied to the graphic processor, and makes pan and zoom more dynamic.

Smooth display with multisampling.
Select this option to improve the rendering. Multisampling uses an additional pixel buffer to apply antialiasing on the edges of the graphic primitives. This requires additional graphic processor contribution, and more specificlly that the hardware of your computer supports this OpenGL 1.3 feature.

Discard background color when printing or copying.
Select this option to get a clear background when printing or copying the screen. Background will be white or transparent if you paste the copy in a destination supporting transparency.

Special thanks

  • Special thanks to Gerber Scientific, the company founded in the 1940s by Joseph Gerber, who opened the way of high accuracy optical plotting systems. Thank you for choosing a human-readable format and offering a good documentation about it. Learn more about Gerber Scientific here: www.gerberscientific.com.

  • Special thanks to OpenGL people for providing a powerfull library.

  • Special thanks to Apple for OpenGL intergration, Cocoa frameworks and offering XCode.
  • References

    All product names cited are trademarks or registered trademarks of their respective owners.

    Gerber© is a registered name of Barco Graphics N.V., Gent, Belgium.
    Specification of the format can be found on Barco ETS web site: www.barco.com.

    Barco ETS
    Tramstraat 69
    B-9052 Gent

    Excellon© is a registered name of Excellon Automation Co.
    Specification of the format can be found on Excellon Automation web site: www.excellon.com.

    Excellon automation Co.
    20001 S. Rancho Way, Rancho Dominguez, CA 90220
    Phone: +1 310.668.7700    Fax: +1 310.668.7800


    © MCN AUDIO Softwares 1995 - 2012 / René LOUISOR-MARCHINI