Hello all,
New to Pathpilot controls, and very used to programming parts by hand for a Haas using G71 and G70 canned cycles. On my new to me 15L, programs that worked on Haas lathes no longer work and I get error messages for the canned cycles.
Any insights or work arounds would be greatly appreciated.
1 Like
Davie
November 8, 2025, 2:09am
2
We have a different adaptation of g71 than Haas. Check out this post
Hi Everyone,
I am running the 8L lathe machine using PathPilot Conversational to fabricate a spinning part. The program includes the following G71 code:
G71 P1103 D0.02 F0.005 J0.006 L6 I0.003 K0.003 R0.02 E1;
Could anyone help me understand the meaning of J0.006, L6, I0.003, K0.003, and E1? This format does not seem to follow the standard G71 structure, and I find it quite confusing.
Any insights would be greatly appreciated!
Thanks,
Jie
1 Like
Tyler_Smith:
New to Pathpilot controls, and very used to programming parts by hand for a Haas using G71 and G70 canned cycles. On my new to me 15L, programs that worked on Haas lathes no longer work and I get error messages for the canned cycles.
I didn’t know what to think about that so I asked ChatGPT and it gave convincing answers. I can’t say if it’s right or not. But interesting, I hope it helps you!
Davie,
I did look at this post before I posted my question. I made some of those changes, but I was still getting an error message that the sub program number was not found when calling the PQ block for the profile I wanted to cut. Do I need to write the profile to be cut just like a subprogram call on the mill like a G97? Thanks!
I appreciate it and will definitely give it a go!
This is the program I currently have:
T101;
M04 G97 S500;
G54 G20;
G00 X0.86 Z0.1
G96 S200 M04
G71 U0.005 R0.005;
G71 P1 Q2 U0.005 W0.003 F0.01
N1 G42 G00 X0.0;
G01 Z0.0;
G01 X0.59 Z0.0;
G01 X0.59 Z-0.235;
G01 X0.795 Z-0.235
G01 X0.795 Z-0.685
N2 G01 X0.9 G40;
G00 G53 X0.0;
G00 Z2.0;
Would I need it to be:
T101;
M03 G97 S500;
G54 G20;
G00 X0.86 Z0.1;
G96 S200 M03;
G71 P1103 D0.005 R0.005 I0.003 K0.003 E1;
G00 G53 X0.0;
G00 Z2.0;
O1103;
G00 X0.0;
G01 Z0.0;
G01 X0.59 Z0.0;
G01 X0.59 Z-0.235;
G01 X0.795 Z-0.235
G01 X0.795 Z-0.685
G01 X0.9 G40;
M99;
Davie
November 8, 2025, 11:47pm
7
Yes. You have to write the profile coordinates into a sub routine except throw it into parentheses.
Here is a top I make frequently that was created in conversational.
(----- Start of G-code -----)
()
G7 (Dia. Mode)
G18 (XZ Plane)
G90 (Absolute Distance Mode)
G40 (Turn Cutter Compensation Off)
G91.1 (Arc Incremental IJK)
G20 (units in inches)
G54 (Work Offset)
G30 (Park Tool)
T0404
G96 S 270 D 2500
G95 F 0.0080 (Units per Revolution Mode)
M8 (Flood Coolant ON)
M3 (Spindle ON, Forward)
G0 X1.1000 ( go to safe X, then start Z before issuing G71)
G0 Z0.0500
G71 P1292 D0.0200 F0.0080 J0.0040 L4 I0.0020 K0.0020 R0.0200 E1
(Finish Pass)
G96 S 270 D 2500
G95 F 0.0032 (Units per Revolution Mode)
G0 X1.1000 ( go to safe X)
G0 Z0.0500 ( go to start Z)
G42 (Cutter compensation - on)
G1 X0.0000 Z0.0500
G1 X0.0000 Z0.0000
G1 X0.0000 Z-0.0300
G1 X0.1200 Z-0.0300
G3 X0.2490 Z-0.1000 I-0.0055 K-0.0698
G1 X0.2490 Z-0.6800
G2 X0.5000 Z-0.8000 I0.1342 K0.0147
G1 X0.9000 Z-0.8000
G3 X1.0000 Z-0.9000 I-0.1929 K-0.1590
G40 (cutter compensation - off)
G1 X1.1000 ( go to safe X)
G0 Z0.0500 ( go to safe Z)
(“o-code subroutine for profile”)
(Note: all profile subroutine code is in parenthesis)
(o1292 SUB)
( G1 X0.0000 Z0.0500)
( G1 X0.0000 Z0.0000)
( G1 X0.0000 Z-0.0300)
( G1 X0.1200 Z-0.0300)
( G3 X0.2490 Z-0.1000 I-0.0055 K-0.0698)
( G1 X0.2490 Z-0.6800)
( G2 X0.5000 Z-0.8000 I0.1342 K0.0147)
( G1 X0.9000 Z-0.8000)
( G3 X1.0000 Z-0.9000 I-0.1929 K-0.1590)
(o1292 ENDSUB)
M9 (All Coolant Off)
M5 (Spindle OFF)
G30 (Park Tool)
()
(----- End of Profiling -----)
1 Like
That worked perfectly! I really appreciate the help.
Davie, I was wondering if you could help me with G76, I am having similar issues going from fanuac to pathpilot. I believe I have a good understanding of everything except for the I value and what it means. I really appreciate the help!
Davie
November 11, 2025, 2:28am
10
I haven’t gone down the rabbit hole in g76, yet, but here is a threading sample from conversational.
(----- Start of G-code -----)
()
G7 (Dia. Mode)
G18 (XZ Plane)
G90 (Absolute Distance Mode)
G40 (Turn Cutter Compensation Off)
G20 (units in inches)
G54 (Work Offset)
G30 (Park Tool)
T0303
G97 (RPM Mode On, CSS Off)
S 500
M8 (Flood Coolant ON)
M3 (Spindle ON, Forward)
G0 X0.5600
G0 Z0.1000
G76 P0.0556 Z-0.5600 I-0.0500 J0.0188 K0.0840 R2 Q30 D0.0214
G0 X0.5600 Z0.1000
M9 (All Coolant Off)
M5 (Spindle OFF)
G30 (Park Tool)
()
(----- End of Thread -----)
I completely understand. So far I have figured out everything but what the I value does. I need to do some more playing around to figure that out.
Davie
November 12, 2025, 11:50am
12
Tyler it might help to play around in conversational to sort that out. Craft a program and change various values to check the resulting output created.
Good luck out there