New Gerber export

The new Geber Export has been reverted until it can be be brought up to rs274X spec.

@aisler
Hi Patrick,

I exported a few of the examples from 0.9.3 (b5c895ā€¦) to give you my suggestions. The Gerber files from this version all load and would be usable in their current condition. (I was not able to find shield areas in the samples to check out any filling vs polygons/contourization.)

I notice that the default Gerber output settings seem to be as follow:
RS-274x (Extended Gerber)
English
Format 2.3
Zeros Omitted = Leading
Position Coordinates = Absolute
Character Coding = ASCII
Arc Interpretation = 360 degree (center)

Default NC Drill files setting seem to be:
Language = Excellon
Format 2.4
Zeros Omitted = All Digits present
Position Coordinates = Absolute
Units = English (inches)
Character Coding = ASCII

I would recommend that the Gerber format be changed to 2.4 from the 2.3 as I have seen rounding issue in the past with other customers data. I know that a .001" seems like nothingā€¦ But when you get worse case scenario where the data goes one way and the drill goes the other way, then add the normal manufacturing tolerances, things will be messed up in the end. Our drill machines are set to read 2.4 as our machining tolerance is +/- .001" for the first hit, with a .0001" hole to hole tolerance.

  • Silkscreens/Legend layers: I found that the text, radius, and borders were all made up with fills .001" lines and not single lines of the desired thickness. This would work but it uses a lot more elements in the layer. I also notice that the layer has a full border. (We delete the silkscreen boarders as a rule for cosmetics. But If you are adding them for film/checkplot, alignment then a couple of targets outside the board edge would work just as well.)

  • Soldermasks: all pads which is what I would expect. No soldermask fill keep out areas in my example.

  • Copper Layers: in my examples there were no filled area only traces and pad. This would be exactly what I expect to see. Traces were all made up of single lines with what looks to be proper thickness (set by d-codes). The only thing I would suggest is to have the trace all end in the center of the pads not stop where the drill annular ring starts. If you get into outputting a netlist file for Gerber export integrity verification against the schematic. (All the software that I have used requires the traces to center on the flash/pads. When they donā€™t we have to edit the d-codes from donuts to rounds or copy the drill onto the pads with a swell.)

Like I said the current Gerber output without seeing the positive shields will work. I hope this helps and let me know if I need to clear up something in my explanation.

DiodeDave

1 Like

Thanks for your investigation! What really bothers us is the way Fritzing outputs circles on the boardoutline, see attached file. This causes some rough milling which would be really great to improve.
Do you mind having a look at the attached file? You have to rename the extension to .ger

some_round_pcb.boardoutline.fzz (195.8 KB)

Hi @aisler ,

Yes the current way of creating the arc is wrong in my opinion. it is composed of 4172 straight traces, so the arc is very jagged as you have said. That is the same issue that I noticed in the other data.

As a sample, I created a circle using my Gerber editor and was able to create the same size circle in one element ā€œ1 lineā€. Below is the Gerber code for the layer:

G04 Output by CAMMaster V11.0.54  PentaLogix*
G04 Wed Dec 20 10:13:46 2017*
%FSLAX25Y25*%
%MOIN*%
%IPPOS*%
%ADD10C,0.0*%

%LPD*%
X0Y0D2*D10*G75*G1X177600Y91400D2*G2X177600Y91400I-88450J-2250D1*G1X0Y0D2*M02*

If I change my Gerber settings to use ā€œArc interpretation to = Quadrantsā€ (not 360) it creates the same arc with 5 elements. see sample below:

G04 Output by CAMMaster V11.0.54  PentaLogix*
G04 Wed Dec 20 10:28:19 2017*
%FSLAX25Y25*%
%MOIN*%
%IPPOS*%
%ADD10C,0.0*%

%LPD*%
X0Y0D2*D10*G74*G1X177600Y91400D2*G2X177629Y89150I88450J2250D1*X89150Y671I88479J0*X671Y89150I0J88479*X89150Y177629I88479J0*X177600Y91400I0J88479*G1X0Y0D2*M02*

so there are several ways this could be drawn that would be better for everyone. Its just a mater of how in the code?
I really wish that I could program to be able to help. I like the Fritzing software concept and the software so far. If there is anything else that I can help with just let me know. :slight_smile:

1 Like