[gerbers/ViewMate] Self-intersecting polygons in filled zone

I absolutely agree with you. This is a general problem that the electronic industry couldn’t make a better standard in the past. How old is the gerber file standard? With gerber files the human factor is a very common problem (one file per layer, hardware designers often use no version control, files are copied and copied and copied between many people that don’t communicate and just say…you’re wrong). New approaches point to ODB++ and IPC-2581 to solve some of this problems.

As a developer you usually have no influence on what your gerber writer does because you are focused on your schematic and layout and that it is electrically correct and fulfills all specifications of your product/project. You have to trust your program that generates gerber files and have the problem in mind that you must take care of physics (e.g. etching, accuracy of part placement and solder paste printing). Therefore you design footprints on your own or take a detailed view when you use other footprints.

On the other hand you often have no influence what the manufacturer does with your files and what programms they use and you can’t get all licenses and check things on your own. Normally you doublecheck your production files with another programm…but what programm uses your manufacturer?

One approach could be that a very experienced user creates demo gerber files that include as many parts of the gerber standard as possible wile other users load these files in their cam programms and give the output to the community. When this is done in a way that you can compare the results and publish them on the KiCad webpage and download them you get more knowledge what your manufacturer sees when he opens your files.

Another point is that this helps the developers to find potential bugs in KiCad as Gerber Writer and it creates trust to use KiCad in industry which could lead to more paid developers. E.g. Olimex uses KiCad for their product development. We all see what happened since the CERN people help with the development of this great tool :slight_smile:

1 Like

I personally don’t believe in ODB++. I think that the current gerber is more than adequate to define the layers. It does not define the build-up but that is a different story. It is very difficult to correctly verify and implement precise graphics routines. If you introduce any new format you probably end up fixing the new bugs for the first five to ten years. Better to stick with the known format that majority of programs support almost flawlessly. More about this can be read from:

The problem I raised in this thread is more of an exception to the rule than norm. In a professional settings we have used Mentor toolchain and I can remember only one instance from the previous 15 years where the program generated incorrect gerbers and therefore we got nonworking PCBs and we have made several hundred different PCBs.

I just wanted to try if KiCad is mature enough to be used in a small hobby project :slight_smile:

1 Like

Kicad has implemented zones with cutouts this way for many years and as far as I know there is no problem in the manufacturing. The edges overlap rather than intersecting at 1 point, so the different methods for testing whether a point is inside or outside the polygon will work; there is no ambiguity.

@Warm_T Thank you for the information :slight_smile: Your’re right that new standards often lead to new problems with bugs and problems like fixed point vs. float vs. double conversion errors, polygon problems could make things worse. I personally think that it is time to create new standards and learn from errors that where made in the past but this will take a long time. Today in the 21. century gerber files just provide few information about the demands of a product. This is the reason why there are tools like PCB-Investigator. The human factor is a problem when you have many information from different sources (Gerber, Excellon, AOI-Data, Thermal simulations, schematics) with many people working on one problem. Software people use tools to like svn, git to ensure that there is one valid information (hopefully).

@cbernardo It does not have to be KiCad that has errors or ambiguities [quote=“Warm_T, post:11, topic:5685”]
I got confirmation from Pentalogix that their program indeed interprets that incorrectly as self-intersecting polygon.
[/quote] :wink:

If you want to take a look at the capabilities of KiCad: There are free multilayer designs and footprints from Olimex at GitHub:


and companies begin to introduce interfaces to KiCad e.g. in the
http://www.pcblibraries.com/LibraryExpert/
that generates IPC-7351B compliant footprints and also supports the upcoming IPC-7351C.

This is a clear sign that the community of KiCad grows and that more and more people especially makers and hobbyists rely on that tool :slight_smile: But it is very interesting that more and more companies make steps towards KiCad

1 Like

Every company that I know of uses version control systems also for their hardware. Most commercial cad systems have integrated version control interface (which uses git, svn, etc) which then is able to show graphical difference between the different layout versions. I really don’t know how any company can pass quality audit without proper version control processes. In addition to version control systems usually there needs to be another person that reviews the design and third that approves it and you need to have a written record of all these step that is traceable. And we are not yet even talking about the testing, verification, validation and type testing that follows the actual PCB design before it can be released to the production.

Just need to add that the roadmap for KiCad 6 seems very interesting. There are many of those little improvements we would need (like company component database integration) before our company could consider the jump.