Hi,
I'm not sure that these are the same issue.
In the case of my previous post I described Mach4's adherence to ANSI standard Gcode that requires careful attention to modal cycles like g83.
What you are talking about it that Machs trajectory planner has determined that a planned move would take it beyond the programmed SoftLimit.
If you turned SoftLimits off and ran the code, it would run but according to the warning at some stage of the job it would exceed the boundaries
of your machine.
I would guess that you have g91, that is, incremental moves in your Gcode.
Lets say your SoftLimit x-- is -221mm, say. Now if you had code:
g1 x-255 say,
then you would expect that Mach4 would error out. You have called a move beyond the boundaries....thats what mach is supposed to do.
Lets say however that the machine is in position x=-100, y=0 and you had code :
g91
g1x-150 y0
This code would fail also, because you have made an INCREMENTAL move of -150mm when you were already at -100mm, that is an absolute position of x=-250mm, y=0.
This is an excursion of of bounds and Mach would error rather than crash. My guess is that Mach is not able to detect that error will be encountered until the moment actually
arrives, whereas Mach WOULD determine a fault with an absolute move out of bounds from the very moment the Gcode is loaded, parsed and the toolpath plotted.
Lets say you want to drill a series of five holes 10mm apart, you could do it this way:
g90
g83 x0 y0 z-5 f500 r2 p1
x10 y0
x20 y0
x30 y0
x40 y0
Each hole is drilled at a specific and predetermined ABSOLUTE position. You could also do it this way:
g0 x0 y0
g91
g83 x0 y0 z-5 r2 p1
x10
x10
x10
x10
Where the first hole is drilled at the start position, namely x=0,y=0 and then INCREMENT x+10mm each subsequent hole.
Mach would know immediately if the first code violated SoftLimits whereas it may not know with the second code because that requires tracking of previous history.
Craig