I've been having lots of troubles with my plugin, Octolapse, when it comes to axis modes (relative/absolute). For XYZ and E axis modes I currently have three options:
- Require an Explicit Command (g90/g91/m82/m83)
- Default to Absolute
- Default to Relative
Option 1 is the default setting for all printer profiles currently due to my ignorance and caution. Lots of slicer gcode doesn't contain either G90/G91 or M82/M83, and seems to assume the printer will be in absolute coordinates. Octolapse decides not to interfere if it can't detect the axis mode in this case, so no snapshots are taken and the user is left confused, and rightly so.
I have a few questions that I hope someone can answer:
- Do any printers (including deltas) default to 'relative' mode for either XYZ or E axes? If not, one of my options could go away.
- Assume I have a gcode file sliced with Absolute XYZ and E coordinates, but with no G90 or M82 command. If I sent an G91 (xyz relative) or M83 (e relative) command manually to a printer, then started a new print from this file with OctoPrint, would the printer 'reset' to absolute coordinates at the start, or would it still remain in relative mode and go haywire?
- Is your answer to #2 true for all printers?
- If your axis mode is incorrect, are there printers that will try to move out-of-bounds and/or crash into the bed? My Prusa seems to prevent moving out of bounds (at least in the XY plane, not sure about Z since I don't have the guts to try it out), but I'm not sure if this is true of all printers.
I would REALLY like to fix this problem since lots of people install Octolapse but don't understand how to configure it, and configuring it is very difficult if one is a beginner! Setting the default axis mode to Absolute would eliminate this problem for many printers, but I want to make sure it doesn't mess up printers/prints.
Thanks for your help!