Sorry i should have explained the use case.
I am not proposing to remove initial errors of over limit before you
start a gcode, those actually need to be improved, the joint limits are
what actually matters, axis limits should be derived, it is joint path
that should be checked against the limits, checking the axis path makes
no sense for non trivkins machines.
And I am not asking to replace G1 etc with G1.1 etc moves that stop
short, the G1.1 have to be programmed specifically, and the use case is
mostly for complex jogging of 5axis machine, not for programming parts.
I have built a whole complex gcode infrastructure at the moment to jog
my 5 axis to the end of limits, all around the side tip of the tool, and
following tool orientation, these are jog like gcodes, not to be used
for CAM output machining, these are for manually written jog, I don't
want to error out when I'm near a limit, I want to gently decelerate to
the last available point within the limit space. Axis jog already does
this, but axis jog is limited when you want to jog at exactly 30 degree
to the end of the machine, without having to recalculate where the end
of the machine is according to how your kinematics are oriented.
I could stop the program, and send end of travel, the gcode should not
continue after reached the limit, I think that is also valid, it fits
with my use case as well.
to summarize
Axis limits are inherited from joints
Errors about limits before you start with normal G1 moves will still be
present, but you always reach joint limit not axis.
G1.1 etc can be programmed outside the limit without start warnings, but
will stop the program and send error message only when last valid
position has been reached.
Do not program your parts with G1.1, program jogging buttons programs
with G1.1
*Luca Toniolo
*
On 1/27/2026 3:19 PM, Viesturs Lācis wrote:
otrd., 2026. g. 27. janv., plkst. 02:46 — lietotājs Luca Toniolo
(<[email protected]>) rakstīja:
If it can reach the target, it moves there. If not, it moves as far as
it safely can and tells you it stopped short. You're already at a valid
safe position either way.
If it can reach the target then move there. That is obvious. If it
cannot reach the target then please do not ruin the part and do not
move at all and throw out error message immediately - just like it
does it now when you press "run" and it will throw out error with line
number if that line in g-code violates axis limits. Stopping the move
somewhere in middle makes no sense also because if next move is G2 or
G3, then it cannot resume from the actual point if I, J or K are
relative and endpoint is absolute coordinates.
Viesturs
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers