So, how much do you know about Gerber data???

Gerber data is the industry standard format for providing data to PCBA manufacturers, fab houses, etc. when dealing with printed circuit boards. But, did you know it goes way beyond that?

I deal with PCB based RS274 Gerber data pretty much on a daily basis and have so for the past 16 years. Whether I am reviewing a design for a customer, evaluating a design to determine process necessity, or just looking at the latest open source design posted on the internet. I understand the RS274 and 274X gerber formats well enough that I can view/edit gerber files in notepad to determine why some gerber files won't import properly into software that I use (such as GCPrevue or Aegis CircuitCAM). However, I never knew that there was a detailed history behind the Gerber format until I saw this article:

Well, as far as I understood photo plotters existed long before PCB software. The first photo plotters were from Gerber Scientific. So it was a natural to use that format.
We were outputting Gerber from the CADSTAR PCB suite back in the 1980's.

Gerber data is the industry standard format for providing data to PCBA manufacturers, fab houses, etc. when dealing with printed circuit boards. But, did you know it goes way beyond that?

I deal with PCB based RS274 Gerber data pretty much on a daily basis and have so for the past 16 years. Whether I am reviewing a design for a customer, evaluating a design to determine process necessity, or just looking at the latest open source design posted on the internet. I understand the RS274 and 274X gerber formats well enough that I can view/edit gerber files in notepad to determine why some gerber files won't import properly into software that I use (such as GCPrevue or Aegis CircuitCAM). However, I never knew that there was a detailed history behind the Gerber format until I saw this article:

Drew; nice link on the book. Had not seen that, but it only came out late last year.

I worked with Joe Gerber in the 80's. I have to say, he was the sharpest tool in the shed.

We were about the only game in town for Photoplotters, and we sold a bunch. The company wrote a lot of custom software to pull data out of various platforms, and convert to RS-274. Various PCB, ship building, aircraft manufacturing platforms.

Raster plotters were the demise, although we had some of the first on the market.

I never did meet David Gerber. Not sure he worked at the plant. He might be about my age.

Leon, while ODB++ is a format that is gaining in usage in the PCBA industry, it will not replace gerber directly. They serve different purposes and ODB++ contains formatting for a much more intelligent data content that is unnecessary for gerber usage. I use gerber data for fab review and inspection because it is much cleaner (using GCPrevue or GCPowerPlace), but when customers supply ODB++, we do use it as ASCii CAD source for the software (Aegis Fusion) we use to generate all of our manufacturing data (work instructions, machine programs for AOI, SPI, placement, selective wave, etc, and defect data collection)

Publison, I am jealous. Joseph Gerber is on my list of people I would have loved to meet.

tonyp12, yeah caught wind of Gerber X2 in 2014 when GCPrevue began supporting it. Although I support the advancement of the format, I wish Ucamco wasn't directed many of the "upgrades" to the standard for the good of their own products. It tarnishes the standard as a true "industry driven" standard. Some of the changes simply add features that exist in other output formats that have been readily available for years, so I would think advancing their own software would be more valuable for their products, but that means they have to pay for the software development. In any case, there are some valuable additions to the X2 format and I hope to some day see them get used.

Technically, not anymore. G-Code is a derivative of the original RS-274 format while Gerber progressed into RS-274X and now RS-274 X2. The two essentially split paths when RS-274X came out. G-Code also supports a much larger list of commands and attributes that are not supported by the gerber standard.

However, if you can read G-Code, you can read gerber (and vice versa) as the similarities are still very visible. Our original ACE KISS 102 Selective solder machine uses Mach 3 and G-Code, so even though I never learned how to program the machine, I can completely understand the programs when I see them.

tonyp12, yeah caught wind of Gerber X2 in 2014 when GCPrevue began supporting it. Although I support the advancement of the format, I wish Ucamco wasn't directed many of the "upgrades" to the standard for the good of their own products.

I am MD of Ucamco. I am puzzled and disappointed by this criticism. It is not clear to me which "upgrades" were directed to for the good of our products. (Nor would I know how to do this.)
1) The situation is different from ODB++ for Mentor. Gerber is not our internal UcamX format, as DPF is. For Ucamco, it is an external format; we must implement "upgrades", just like any other vendor. Gerber "upgrades" are not a natural side effect of extending UcamX. We implemented X2 about a year after the spec was finalized - well after Graphicode.
2) We upgraded the spec in two ways. First we spend a lot of time (and money) on cleaning out and clarifying the specification document. Surely, an unequivocal spec is to the benefit of all users, and not just Ucamco. Second, we developed X2, which allow to add the following attributes to a Gerber file: file functions - which layer is represented by the file - and pad functions - is this an via, an SMD pad,.... There was a lot of request to add this information. Yes, we have implemented X2 in UcamX, and this is a benefit of our software. However, the information is there for all to use, and all are invited to implement X2, and several have. There is nothing in these attributes that is Ucamco specific. Surely, all CAM software can define which image is the top layer, and what pads are vias. Having that information in standard way is a benefit for all

I beg to differ. We went to great lengths to get input of the user community on X2. We are not omniscient. This is illustrated best by the next upcoming extension of the Gerber spec, nested step and repeat. We published the first draft - based on requests from LDI manufacturers - on our website in August 2015 and invited community comment. We are now at the 10th revision based on external input. I do not know what we can do more. By the way, you are all invited to comment - when the spec is frozen it will be too late.

... so I would think advancing their own software would be more valuable for their products, but that means they have to pay for the software development.

It do not really understand, but we have paid for our own X2 development - as we paid for the development of the specification. If the suggestion is that we should pay for other companies X2 development, the I categorically decline. We derive no license or other revenue from the Gerber format. If people don't want to implement Gerber, so be it.

tonyp12, yeah caught wind of Gerber X2 in 2014 when GCPrevue began supporting it. Although I support the advancement of the format, I wish Ucamco wasn't directed many of the "upgrades" to the standard for the good of their own products.

I am MD of Ucamco. I am puzzled and disappointed by this criticism. It is not clear to me which "upgrades" were directed to for the good of our products. (Nor would I know how to do this.)

Karel, thanks for taking the time to join the forums and responding to my comments. (For those unaware, MD means Managing Director.) I did not mean to insult your company, but rather clearly express my opinions about how the standard is being modified as it applies to my industry. My opinions are based upon my utilization of gerber data, the value I see in the upgrades being implemented, and how my software suppliers share their opinions as to the point or value of the X2 format. So far, I haven't seen any value-add for the changes between 274X and 274X2

1) The situation is different from ODB++ for Mentor. Gerber is not our internal UcamX format, as DPF is. For Ucamco, it is an external format; we must implement "upgrades", just like any other vendor. Gerber "upgrades" are not a natural side effect of extending UcamX. We implemented X2 about a year after the spec was finalized - well after Graphicode.

There is an obvious disparity between advocates of gerber versus advocates of ODB++, but I am not either one of them as I use both routinely for what they are intended for. Even the Wikipedia page for ODB++ shows an argument that Ucamco has against ODB++ and I am fully aware of the Coates/Tavernier debate from PCB Design in September 2014. The fact is that ODB++ has been readily accepted and is in wide use today as both a gerber alternative and a supplement to gerber. I bet much of that is due to ODB++ no longer being proprietary and is licensed free of charge to any adopter.

2) We upgraded the spec in two ways. First we spend a lot of time (and money) on cleaning out and clarifying the specification document. Surely, an unequivocal spec is to the benefit of all users, and not just Ucamco.

I will agree that the new version is cleaner, although I had no issues with the last Barco published document and still proudly have a copy on my desk sent to me by someone at Barco years ago. And, I would say that the past version was unequivocal as well, but the usage of gerber pushed the limits for some adopters obviously. You have even stated in the 2014 article how many issues that Julian brought up are due to poor implementations of the spec, not the fault of the spec. I completely agree with that statement and see the effects of poor implementation several times a year.

Second, we developed X2, which allow to add the following attributes to a Gerber file: file functions - which layer is represented by the file - and pad functions - is this an via, an SMD pad,.... There was a lot of request to add this information. Yes, we have implemented X2 in UcamX, and this is a benefit of our software. However, the information is there for all to use, and all are invited to implement X2, and several have. There is nothing in these attributes that is Ucamco specific. Surely, all CAM software can define which image is the top layer, and what pads are vias. Having that information in standard way is a benefit for all

I did not say that the new features were specific to Ucamco, but rather directly benefit your products. Other software products that I use that need additional intelligence from the data have added abilities to leverage other existing formats, such as ODB++/IPC-D-356/GenCAD/PDIF/etc, to accomplish the same goal without requiring my customers to do anything differently in how they supply me data already.

I beg to differ. We went to great lengths to get input of the user community on X2. We are not omniscient. This is illustrated best by the next upcoming extension of the Gerber spec, nested step and repeat. We published the first draft - based on requests from LDI manufacturers - on our website in August 2015 and invited community comment. We are now at the 10th revision based on external input. I do not know what we can do more. By the way, you are all invited to comment - when the spec is frozen it will be too late.

Maybe tarnish was too strong of a word, but we will just have to be content with disagreeing opinions here.

Some of the changes simply add features that exist in other output formats that have been readily available for years, ...

Maybe, but what is wrong with that? Except maybe that it would have been better if we would have developed X2 earlier.

... so I would think advancing their own software would be more valuable for their products, but that means they have to pay for the software development.

I do not really understand, but we have paid for our own X2 development - as we paid for the development of the specification. If the suggestion is that we should pay for other companies X2 development, the I categorically decline. We derive no license or other revenue from the Gerber format. If people don't want to implement Gerber, so be it.

I did not mean paying for X2 development, but rather paying for other software Ucamco develops to have the ability to support other readily available formats that already supply the same information. I don't know UcamX's abilities, but if it supports ODB++ or other more intelligent formats, I don't understand the justification for modifying the gerber format to replicate the intelligence.
And yes, had X2 development started a few years prior to when it did, I would expect to see it competing with all of the abilities of ODB++. As the industry has changed in that the data exchange between designer and manufacturer is much more in depth and robust, ODB++ has definitely gained momentum.

In any case, there are some valuable additions to the X2 format and I hope to some day see them get used.

Thanks for these kind words. We have received quite some positive feedback, and we are actually a little bit proud of what we have done. Hence our surprise on the very negative comments above.

You're very welcome. I apologize if my opinions came across as harsh, but I only intended to clearly convey them. I have been dealing with gerber for 25 years now, heavily for the past 16, (and probably will for the next 24 before I retire), so I am quite confident in my opinions of the gerber format's advantages and faults. Both do exist, but the fault's I deal with are completely covered by other data formats my customers supply with the gerber. Long story short, I have no intentions on debating my opinions regarding gerber X2 as they are founded in my daily use of the format and thus are very valid.

On somewhat of a related note:
Nearly all of the data packages I see nowadays include secondary forms of data from the EDA software. Gerber is always supplied, but it is also always supplemented with some other form of board data. A typical data package consists of:

Publison, Nice! Aperture D24 is obviously for a double-diamond fiducial which is rarely used nowadays, but was the fiducial of choice when I was at HP in the '90s.

Absolutely correct! That was the fiducial oc choice back in the day. The reason you can not see the other apertures is due to the fact that there are Kodak neutral density filters on top of the apertures. These had to be adjusted for each machine and lamp output.

The apertures were produced on a Gerber 1434 photoplotter which was the most accurate photoplotter. Most TV masks, if not all, at the time were produced on the 1438. It had a variable aperture head that could rotate to accommodate the curvature in the tv glass.

...
I did not say that the new features were specific to Ucamco, but rather directly benefit your products. Other software products that I use that need additional intelligence from the data have added abilities to leverage other existing formats, such as ODB++/IPC-D-356/GenCAD/PDIF/etc, to accomplish the same goal without requiring my customers to do anything differently in how they supply me data already.
...

The Gerber format is used in the bare board PCB fabrication industry. And indeed, he improvements in the Gerber spec benefit PCB fabrication software. As Ucamco is a supplier of such software, among many others, and the new features equally benefit there software. It is of no relevance to suppliers of software not related to Gerber.
True enough, but I do not see the problem. I understand that other software has a need for additional intelligence. If the need cannot be handled by Gerber extensions I do not see what Ucamco can do about it. If this need can be handled by Gerber extensions we are open to concrete and constructive proposals. Concrete suggestions and remarks sent to gerber@ucamco.com are alway taken into account - they were the basis for the recent improvements in the specification.

It is alleged that ODB++ contains everything Gerber X2 does. This is true to some extent. However, this is not the point. ODB++ now exists over 20 years, and is used in 5-10% of PCB fabrication data sets. This low number is not because ODB++ is intrinsically bad - it is not, one surely make PCBs with it. The issue is that ODB++ is complex, and implementing a full image format it correctly is a major undertaking. This is not an issue for behemoths as Mentor or Cadence. However, many PCB CAD/CAM software suppliers are small companies, with just a few people in R&D. For them this is an issue. For bareboard, X2 contains what is missing in Gerber and found in ODB++, and more. The so-called "intelligence". Adding the X2 support to an existing GerberX output software is quite straigtforward. Dont take my word for it. Paul Wells-Edwards from Graphicode's, the first to implement X2 stated: "Used by countless PCB professionals globally and throughout the PCB pre-production process, GC-Prevue is the industry's de facto standard Gerber viewer, so we have worked closely with Ucamco years. The beauty of Gerber is that it's simple, and very widely used, and Ucamco's use of attributes is a very clever and straightforward way to improve and build on it. By extending the format and making it far clearer, Ucamco has improved the CAM task no end. When the opportunity arose to participate in that improvement, we jumped at it.” He adds that the implemention of X2 is simple and straightforward, given that it consists of just 3 new commands and a clear list of standard attributes: “It took is just a week and a half of coding to be able to add the necessary information, so it's a very small step for any CAM system to be able to handle it”. This is something entirely within reach of small companies. If we are accused of leveling the playing field for the small companies I plead guilty as charged.

Anyhow, I do not see what harm X2 can do. It is compatible with good old GerberX - image generation has not changed. Any conforming GerberX reader perfectly reads X2 files, ignoring the attributes and generating the correct image. (If your GerberX input chokes on X2 there is something seriously wrong with it.) If one does not want to use the new capabilities of X2, fine, but please do not stop those that want to make progress. There is an X2 FAQ on www.ucamco.com/downloads for those that want to know more.

But anyhow, the X2 spec is published and cannot realistically be changed or undone. We can only influence the future. We are now working on the next extension of Gerber, nested step and repeat. X2 improves bare board design to fabrication data transfer. Nested step and repeat is about fabrication proper, defining panels more efficiently and with more structure in order to allow serialization. Serializiation is required more and more. A draft specification is published on www.ucamco.com for review by the users. If Gerber is important to you, now is the time to review it. All constructive comments are welcome. When the spec is frozen it is too late.

Back in the day I worked for Racal-Redac on their CADSTAR schematic editor and PCB layout suite.

They had this issue that when drawing a gerber layout on a pen plotter, when the thing had to draw a big round pad it spiralled around and around filling a circle with ink and drilling a soggy hole in the paper! It was interesting to fix that.

Sorry, a bit off topic.

I do worry about putting things like "nested step and repeat" into such a format. All of a sudden the declarative statement about what should be drawn becomes a procedural programming language.

At that point why not give up and use PDF or some such which already has a programming language built in?

Turning Gerber into a procedural language would be a doubtful move indeed. However, this is not what is proposed. To quote from the draft: Note that a block is not a macro of commands that is called repeatedly in the command stream. The graphics objects in each copy are always identical, even if processing the commands generating them has modified the graphics state in such a way hat if the same commands were called again the result would be different. The command stream is a single stream, without procedure or macro calls. Maybe it must be explained better. A block is a group of objects, not a procedure. Anyhow, blocks are part of Gerber through the SR command since times immemorial. This is not new. What is new is that blocks can be nested - needed to handle assembly panels in production panels efficiently, that blocks can not only be put on a regular array but anywhere, can be rotated and scaled - needed for irregular panels, and attributes allow to identify blocks - this needed for serialization.

PDF is an outstanding graphic arts page description format, with very rich interactive features. However, it is not suited for PCB production data. PDF does not support circular arcs which are ubiquitous in PCBs. Of course, the arcs can be broken up in segments and approximated. This is perfectly fine for documentation but not if one needs to maintain design intent as in CAD to CAM data tranfer. Second, apertures are essential in a PCB format. An aperture represent the shape of a pad one time, which can then repeated many times on the image. This slashes file size, and, more importantly, it is needed to make the file editable. PDF does not have flashed apertures. Third, PDF has a host of fantastic features necessary in graphic arts, but superfluous in PCB - it would be vastly over-complex to use it as PCB CAM input format IMHO. PDF is not suitable for PCB fabrication data.

The initial version of PDF had a PostScript compatible graphics primitives but not the programming language - the programming language is fine for image generation but made it impossible to use PostScript as an application format, your initial argument. (Apparently PDF also omitted graphics primitives such as arcs.) This led to the huge success of PDF. The graphics is the hardest to develop and often takes years to make reliable; geometric programming is notoriously hard. PDF re-used the ubiquitous PostScript graphics primitives and turned it into a powerful application format.

Someone asked me today about the latest gerber format specification and wondered who Ucamco was. After explaining a bit of the history, I downloaded the latest release to see what has changed. While nothing significant popped out to me, I was surprised at the tone of section 1.5. I still don't understand why such strict ownership needs to exist for an industry accepted specification. Anyhow, in case anyone else is looking for the latest...