← Back to team overview

kicad-developers team mailing list archive

Re: Possible 4.6 gerber issue?

 

Alright, I've played around. It appears there is many CAM/gerber
software that cannot handle G75 arcs that are full 360 degrees. I
tested this with the board from Jon and the 1 pin test board from
Nick. If I generate 359 degree arcs, the 3d viewer is happy and draws
good circles. If I generate 360 degrees then the arcs disappear/screw
up.
As far as I can tell, the math is right for the arcs regardless of 360
or 359. I think it's because the start point == end point for a 360
degree arc, that some viewers may break down due to their graphics
libraries.

I modified KiCAD to generate the circles as two arcs and the same
viewers seem happy.

i.e. I made

void GERBER_PLOTTER::Circle( const wxPoint& aCenter, int aDiameter,
FILL_T aFill,
                             int aWidth )
{
    Arc( aCenter, 0, 3600, aDiameter / 2, aFill, aWidth );
}

into

void GERBER_PLOTTER::Circle( const wxPoint& aCenter, int aDiameter,
FILL_T aFill,
                             int aWidth )
{
    Arc( aCenter, 0, 1800, aDiameter / 2, aFill, aWidth );
    Arc( aCenter, 1800, 3600, aDiameter / 2, aFill, aWidth );
}

Many other CAD software also generate circles as multiple arcs instead
of a full g75.

Attached are my generated gerbers, 360 won't work, but 270, 359 and
split arcs will work I believe.

Attachment: poe-F_SilkS - 270.gto
Description: Binary data

Attachment: poe-F_SilkS - 359.gto
Description: Binary data

Attachment: poe-F_SilkS - 360.gto
Description: Binary data

Attachment: poe-F_SilkS - split arcs.gto
Description: Binary data


Follow ups

References