Setting a Forbidden volume.
-
So… my reprap mendel has a somewhat useful volume of 200x200x100 (mm). Not horrible. Not what I was aiming for, but it will do for now.
At any rate, there's an area I'd like to forbid.... bounded by (0-30, *, 50-100). Meaning that for the first 30 mm of x travel, there's some interference that removes half the Z travel. I'm fine with this except that many normal behaviors will run in to this.
If the printer finishes a print at (say) (100,100,75), then hitting "home" will run the Z up 10 (to 85) and then start zeroing the x and y. No problem with the Y (it's the bed) ... but the X will smack into the strut at the size because (0, *, 85) is within the "exclusion" volume.
Now... I could rig a sensor up there... but I'm wondering if we can code an exclusion volume(s) into the code --- I'm sure other people's designs have come up with this problem.
Help?
-
I must admit that I'm surprised this post didn't garner any attention. I've noticed that the system doesn't really forbid any movement, so maybe nobody is really interested in this
… and from a hobby standpoint, I get it. Many of the machines we build are capable of stupid behavior. I told the doctor that it hurts when I do this... he said "Don't do that..." ...
But I gather that some of the work with the Duet is by people serious about creating machines more usable by the general public. I've even given some consideration that a night course at the local university/college should be struck on makers and making ... specifically things done with 3D printers and/or microcontrollers...
In that vein, some ability to limit the action of the system would be welcome, I posit.
-
After an axis has been homed, the movement along that axis is constrained to the limits you specified using M208. The latest RC firmware also forbids most types of move before the axis concerned has been homed.
However, forbidding movement in a region whose XY limits depend on Z is a highly specialised requirement, so I am unlikely to implement it. But RRF is open source, so by all means implement it yourself!
Alternatively, why not either modify your printer to avoid having that forbidden zone, or move the X endstop to the high end of the axis? You may even be able to use stall detection to home X to the high end, then home Y and Z, then home X to your low end switch.