With the increased popularity of AWD and toolchangers, some areas of the movement volume are unavailable (either permanently or most of the time).
Even with a bed shape defined in a slicer, the resulting G-code can try moving across an area like that, while the user or other macros risk crashing the machine as well.
Would there be an interest in a feature where these regions can be defined, and Klipper would prevent moving into these areas?
I’m considering implementing it for myself, but I want to judge the interest from the community and whether Klipper developers would accept a contribution like this.
The aim would be crash prevention not re-routing. So far I had 0 crashes with properly configured Orca (having something like that would increase my confidence though), bed mesh leveling and manually are a different story.
I can for certain say that I would be more confident programming more complex macros with it as well.
I personally would like a feature like this, in fact I implemented something like this in a very dirty way in the past by modifying the exclude objects script. I also added rerouting.
Why?
I built a polar 3D printer and I used that script to prevent moving too close to the center of the bed, which would otherwise cause a timer error.
For my next printer I also have zones which shouldn’t be accessed by the tool head. So it would be nice to simply add these zones with rerouting in Klipper instead of having to inspect every move in the slicer or modifying the slicer. Especially for people with limited programming knowledge like me.