View Full Version : Mach 3 with Mastercam X "Radius to end of Arc" error

06-24-2007, 01:41 PM
I am getting "Radius to end of arc differs from radius to start on Line #" error when I import my g-code into Mach 3 from Mastercam X. This error only occurs when I have a contour tool-path after a simple drill tool-path. When I have contour tool-path ahead of simple drill tool-path, mach3 runs fine with no error.

I have both Mach 3 and Mastercam X set to Incremental for the I J Codes.

I am using postprosser from http://cnc.novalab.org/mach_files.htm

Attached is the part in mastercam x , the two differnet g-codes(one that works(Contour ahead of simple drill), and one with the error(contour after simple drill).


06-24-2007, 04:42 PM
I'd ask on the mach3 support forum or Yahoo group.

06-24-2007, 10:02 PM
Does the program indicate which line generated the error?

I looked at the error program, the only thing that looked odd was a series of axes moves after the G80 line. Maybe the control didn't default to G00 after canceling the canned drilling cycle?

06-25-2007, 09:06 AM
Line N270, which looked OK to me.

06-26-2007, 08:29 PM
It is line N270 that is causing the error. And you are right Eurisko about the program not defaulting to G00 after canceling the canned cycle. I was able to fix it by reinstating G00 after the G80. Do you of a setting/post pross. that I could change in Mastercam X so it will reinstate G00 after G80. Thankyou for your help.

07-05-2007, 11:23 PM

You're welcome. Always glad to help.

I'm not familiar with Mastercam, but there should be a way to create a custom macro using the G80 code.

Sounds like a good topic for a new thread. Please let me know what you find out, I may check out Mastercam when my router is finished!

p.s. sorry about the late reply, I've got to check these threads more often...

mark c
07-06-2007, 08:43 PM
add this line after G80 as shown below:
"G0", pfzout, e

pcanceldc #Cancel canned drill cycle
result = newfs (three, zinc)
z = initht
if cuttype = one, prv_zia = initht + (rotdia/two)
else, prv_zia = initht
!zabs, !zinc
prv_gcode = zero
if cool_zmove = yes & (nextop=1003 | (nextop=1011 & t<>abs(nexttool))), coolant = zero

#if sdrnote = sdr07, "", e
# else,
"G80", e

"G0", pfzout, e

#if tapflg = 1, ""
tapflg = 0

That should work. It works on V9.1