I had taken the time to work out an approximation of a spiral using IJ arcs using parametric code for a Fanuc machine once.
Here is what I had. % #100=0.07 (LOOP OVERLAP SIZE) #103=100. (FEED RATE) N1G00G17G20G28G40G80G91Z0M5 G90 G52X#107Y#106Z0 G8P1 M8 (1/4" O-FLUTE UP) G28G91Z0M05 G90T2002M06 T102 M03S14000 (1st pocket) #101=1.425 (X POSITION) #102=1.925 (Y POSITION) #104=[#100/4] #105=0.125+#104 G0G17G55X[#101]Y[#102+0.125] G0G43 H2 Z1.0 G1Z0.25F#103 G3I0J-0.125Z0.2 G3I0J-0.125Z0.15 G3I0J-0.125Z0.1 G3I0J-0.125Z0.05 G3I0J-0.125 N30WHILE[#105 LT 1.25]DO1 G3 X[#101-#105] Y[#102] I-0.005 J[0.005-#105] F#103 #105=#105+#104 G3 X[#101] Y[#102-#105] I[#105-0.005] J-0.005 #105=#105+#104 G3 X[#101+#105] Y[#102] I0.005 J[#105-0.005] #105=#105+#104 G3 X[#101] Y[#102+#105] I[0.005-#105] J0.005 #105=#105+#104 END1 Todd Zuercher P. Graham Dunn Inc. 630 Henry Street Dalton, Ohio 44618 Phone: (330)828-2105ext. 2031 -----Original Message----- From: John Dammeyer <jo...@autoartisans.com> Sent: Tuesday, September 24, 2019 12:34 PM To: 'Enhanced Machine Controller (EMC)' <emc-users@lists.sourceforge.net> Subject: Re: [Emc-users] G-Code issue with IJ > On 09/23/2019 10:35 PM, Chris Kelley wrote: > > > > > > I suspect the problem lies in the method for calculating CentDist on > > line 148. I'm not sure that method actually produces a I or J > > coordinate that is equidistant from both the start of the arc and > > end of the arc, regardless of decimal precision. > > > > > OK, I have to admit that I have only used this program in the R arc > mode, so it is possible I screwed up the I J calculation. It is not a > true spiral, it is a set of 90 degree arcs with the radius increasing > slightly every segment. I've used this for 20 years in the R mode > with good results, though. > > Jon Hi Jon, It works perfectly in the R mode for me too. And with MACH3 even in the IJ mode without complaint. But LinuxCNC is correct when it reports that the Radius is different between the start and end positions by up to as much as 24 percent. Doing it by hand and trial and error I was able to do 90 degree arcs like the R mode but the exact calculations to get there still escapes me. I think partly because I was not using the center of the hole as the starting position. For the Mecsoft AlibreCAM example I put the workspace origin in the hole center so I could see the symmetry for positive and negative movements. But of course your program has an offset called starting x and y which is more logical if we're working off a drawing and positioning the tool bit at the center of each round pocket (hole). What I'm trying to do, and it's really a complete waste of time for me since AlibreCAM does it for me, is figure out how to modify your program to properly generate the IJ values. I don't like not knowing. I'll be able to get back to this later this afternoon. But do notice from the attached screen shot there's a 1" radius circle and then three quarters of a spiral starting at the same spot. The first two I,J parameters have one each set to 0 as your program does. But the third 90 degree arc now adds in the -0.05 width of cut offset into I while J has incremented by 0.05. So the state machine that determines I and J has to be a bit more complicated. It's doable. Just not sure how yet. John > > > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users