Hi Terry
Bit of a problem with that code.
For a start, it won't load under Mach3 as it has TWO feed instructions on the 1st line: F20 and F90. That is not permitted.
Then there is the strange business of telling Mach3 that the Feed is 20, then that it is 90, then each G83 line has an F10 at the end. Methinks the CAM program used here is a shade wonky, or at least the post is.
Then we come to the real humdinger. One can put the X and Y values in the G83 instruction explicitly on every line, as your example shows, or one can do what the Mach3 manual shows on 10-19, and replace the explicit X&Y values with an intermediate G0 instruction. The following extract shows the Mach3 manual version.
g0 x3 y45
g83 z-1
Yes, this is legal by itself, as long as the g83 instruction is not missing the X, Y and Z values (see 10-26).
Going on from here, if the Z-1 is omitted in all lines except for the first g83 (but X & Y are included), that too works fine. The previous Z value is retained.
BUT BUT BUT
The first two versions (explicit and implicit X & Y values) give wildly different results in polar mode.
With the X & Y values explicit in every g83 instruction, it works. See Test1RNC.jpg
But without the explicit X & Y in every g83, relying on the previous g0 to set them up, then you get a total disaster. See Test2RNC.jpg for this.
My conclusion is that when the g83 instruction is interpreted, if Mach3 has to go get previous values for X & Y, the program stuffs up. There is a major bug in the code.
OK, in the spirit of free enquiry, what happens if one makes the Y explicit but not the X? Like this
G16
G83 X3 Y0 Z-1
G83 Y45
G83 Y90
G83 Y135
G83 Y180
G83 Y225
G83 Y270
G83 Y315
G15
Oh Dear. More strange things! See Test4RNC.jpg to see.
Well, there's a bug. Know about it and work around it.
Cheers
Roger