2009/5/8 Brian Sidebotham <[email protected]>:
> 2009/5/8 bears1bear <[email protected]>:
>> with my first message i provided gerber code that caused
>>   gerbview to evidence the problem.
>> figured i'd not clog up the works with more such until/unless
>>   requested by somebody planning to actually look at the
>>   problem.
>>
>> these files, btw, are not sourced from the kicad tools, as i'm
>>   just doing some quick gerber based layout reviews.
>> (i suspect that gerbers generated from within kicad have had
>>   such problems ironed out long ago.)
>>
>> kindly advise if i should provide an additional file.
>> thanks,
>> hwn

I have tested your file, and seen the problems. I have also written a
much easier example to demonstrate the problem with gerbview which you
can find at the end of this mail. On the surface the problem appears
to be with GerbView's interpretation of the G02 and G03 (circular
interpolation) commands. It seems to be getting the clockwise and
c-clockwise directions wrong.

Note that in order to draw the arc, the G02 command should be being
used to interpolate clockwise (in my example below), but instead G03
gives the correct result. I will investigate the code. The problem is,
I would expect changing the code to G02 to give a 270deg arc proving
the error, but instead it seems to give a 360deg arc. I will file a
bug report on bugzilla with the simplified gerber below to highlight
the problem. I will investigate the code for gerbview and see what I
come up with.

Interestingly KiCad does not plot using G02 and G03 commands, it
instead draws lots of small linear lines to create arcs. I never
realised this before investigating this problem.

Best Regards,

Brian.

---

G04 Set Units to inches*
G70*

G04 Turn 360degree on*
G75*

G04 Set Pen at 0,0*
G01X0Y0D02*

G04 Set Absolute Coords*
G90*

G04 Draw 2in Box*
G01X1000Y1000D02*
Y-1000D01*
X-1000D01*
Y1000D01*
X1000D01*

G04 Draw 1in Rad Arc, Clockwise 90Deg - Note Should be G02 NOT G03!*
G01X-1000Y0D02*
G03X0Y1000I1000J0D01*

M02*

Reply via email to