Varying the wipe location on toolchange
-
I am using RRF 3.1.1 on my Duet2Wifi with conditional G-code during a toolchange. The conditional G-code goes to a location outside the print area with a silicone strip, heat up/cool down the nozzles, purges filament, and wipes the nozzles over the silicone strip to get rid of ooze and purged material.
The thing is; the wipe location is currently fixed. And when an object with soluble support is 500 layers tall, there are possibly 1000 toolchanges and even more wipes. This wears a groove in the silicone, and the nozzle starts picking up material that should have been dumped in the waste bucket.
I would like to vary the X position of the wiping action on each toolchange so wear on the silicone strip is more even, but as far as I know variables are not supported yet (and I actually need static ones that keep their value between macro invocations), and there is no rand() function either.
What would be the best method to work around this?
-
think dc42 proposed using the runtime property in the object model as a source for psuedoramdom values. its in a post here somewhere.
-
@DaBit You could use different wipe locations based on tool number which might help. If you only have 2 tools, there would of course only be 2 different wipe locations but that's better than 1.
-
@bearer said in Varying the wipe location on toolchange:
think dc42 proposed using the runtime property in the object model as a source for psuedoramdom values. its in a post here somewhere.
Yes, AFAIR I suggested using something like mod(state.upTime, 10) to generate a pseudorandom number between 1 and 9, and incorporate that in the coordinates for the wipe location.
-
Yes, that probably works nicely. I will implement that.
(Still, I could use variables well from time to time, and persistence would be nice too. Isn't is possible to add a few user locations to the object model, or is the object model readonly from g-code anyway?)
Now I only have to find out why that Scaffold stuff keeps plugging the heatbreak, even with very little retraction, cooling the inactive nozzle and moving a bit of the stuff each layer.