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

Reply via email to