Homage to the Gerber Format
Article by Karel Tavernier, published on the EETimes designlines blog.
As caretaker of the venerable Gerber format, we at Ucamco I feel bound to react to the insightful blog An Embarrassment to the Electronics Community by Vince Mazur and especially the comment it generated.
I will restrict myself to the context of PCB fabrication, in which I have some experience.
What is the Gerber format? It is a PCB image file format. That is it. It does not pretend to be a cure for cancer, nor a solution for the problems in the Middle East. If you expect these from the Gerber format you are bound to be disappointed.
However, Gerber does pretends to enable transfer of PCB image data. And this it does very well. Gerber is an outstanding PCB image format. That is the reason for it's near universal use. Over 90% of PCB's, from the simplest to the most complex ones, are now manufactured based on Gerber. The industry practitioners are not all morons and would not continue to use something that does not work. We estimate that less than one in 100.000 Gerber files contain a format error that could lead to scrap. (There are of course far more poor designs, but this has nothing to do with the format.)
This is not a bad error rate, and we at Ucamco try to further improve it. When a format error is reported, we try to feed it back to the originating software vendor. We take a hard look at the specification to see if it can be improved. We have brought out a succession of revisions of the specification to make it clearer and more precise. We feel the Gerber file format specification – freely available at the Ucamco website – is now among the clearest and best specs in the PCB fabrication industry. This does not mean it is perfect. If you have questions or remarks about the spec, don't only complain, but please send them to firstname.lastname@example.org, they will be considered for the next revision.
When I refer to the Gerber format, I of course refer to RS-274X (Gerber X, Extended Gerber) and not to RS-274-D (Standard Gerber). D has been deprecated many years ago. D is no longer an official format. Today, the only format one can validly call Gerber is X, not D. A whole chapter in the specificaion is dedicated to explain why one should use X, and not D. If one wants to rile that some still use of D rather than X, we will join the chorus. However, one can lead a horse to water, but one cannot make it drink. If people insist to inflict a competitive disadvantage on themselves and a disservice by the industry by using D rather than X, there is nothing more we can do. We call on all industry practitioners and especially trade associations to continue to explain that X is the standard and is what should be used. Note that introducing a new format will not solve the problem of the continued use of D but make it worse. If some cannot be bothered or convinced to make the simple and straightforward step from Gerber D to Gerber X, then they will definitely not to move to a more complex and completely different format.
It is sometimes stated that Gerber is bad because of the use painting or stroking. We fully agree that painting is a harmful. However, there is nothing in the Gerber format that requires or even encourages painting. Ample proof is the vast number of Gerber files without painting. Actually, the macro apertures feature makes it easier to define any pad shape in Gerber than in any other PCB language. Painting is simply bad practice. It is a relic of a distant past. Painting was needed with the vector plotters in the 1970's and 1980's, devices that are not used since a long time. Painting is still around because some people have not bothered to make update implementations. Still using it today should be made a criminal offense! Painting is listed in the bad practices section in the specification. The application note Painting considered harmful on the Ucamco download page explains in detail why it should no longer be used. However, again, one can lead the horse to water, but one cannot make it drink. Again, a new fomat is not the solution. If people do not properly implement a simple format as Gerber, it will be worse in a more complex format. Actually, there are plenty of ODB++ or Barco DPF files with painting.
The Gerber format is perfectly suitable for reliable PCB image transfer. Of course, one can feel it would be better this or that feature were added. Actually, we at Ucamco have been tempted to add a few nice to have features to the language. However, a introducing a new feature creates an incompatibility with current implementation. We felt this disadvantage outweighs the benefits of the new features. We resisted the temptation to introduce these new features. This is our judgement, but of course we consider it possible we are mistaken. If someone needs a new imaging feature, of he feels that its benefits outweigh the disruption caused by it's introduction, please mail email@example.com . The proposal will be considered.
The most complex part of a PCB specification is the images. The extra information such as materials, layer structure, colors are of course equally essential, but they are far simpler to describe then the images. Due to the lack of a generally accepted standard for the extra information it is transferred in the notorious PDF files.
Fortunately there is a generally accepted and universally implemented standard for the complex part, the images: Gerber. Without computer readable image files PCB fabrication would not be possible. Instead of riling, I would rather say: "Homage to the Gerber format, the backbone of the PCB fabrication industry."
There are three major causes for riles about Gerber file:
- The use of D, an utterly obsolete version
- The use of painting, or poor use of the format
- The lack of a generally accepted standard for the information not handled by Gerber
What is broken is not what the Gerber format does, but about what is does not do, and was never intended to do. Gerber is not the problem, Gerber is part of the solution.
Of course that does not mean there is no problem. There is a desperate need for a practical, simple, compatible machine readable standard for the non-image extra information. The problem with proposed standards for extra information is that they force people must adopt the standard whole sale and adopt a new imaging model. To fix the 10% that is broken - the extra information – one must jettison the 90% that is well-tested, universally available, familiar, why new standards never got much traction. As industry practitioners are not morons, they are understandably reluctant to go down that path.
We propose to complement with a standard (a.o. a subset ofIPC-2581) for the extra information, keeping good old Gerber for the image transfer. These ideas are worked out in detail in the article IPC-2581 meets the Gerber File Format at www.ucamco.com/downloads This article proposes a the path of compatible gradual improvement. One keeps what works. The established workflows are not disrupted. Companies that do not want or cannot afford to upgrade their software can continue to work in the established way. Those that want to press forward can keep what works but automate and standardize what is not covered now.
Ucamco made a first concrete proposal along these lines in the article Extending the Gerber format with attributesat www.ucamco.com/downloads. As we do not pretend to be omniscient, this is not a final, cast in concrete, specification but a document for discussion. We seek input from the industry before committing this to a formal specification.