Alternate axis for Z-Hop
-
I have a toolhead with dual extruder and each toolhead can move up/down a few milimeters, I use this axis for tool selection.
Now, when doing retraction z-hop, I hop the main Z axis, but instead I'd like to hop this alternate axis to only move the toolhead instead of the whole Z assembly.
Is there a way to hop that other axis on G10/G11?
-
It could be done with some post processing. Create a macro set called G10.1 and G11.1 and in there do the retraction and move the alternate z axis up and down, then in your gcode file, post process to replace the G10/G11 commands with G10.1/G11.1 for your second tool.
-
-
@Phaedrux Nice idea, thanks for the suggestion. Also, where is it appropriate to ask for such feature? (edit: I see that you moved the topic, so I guess it's on the wishlist now, thanks)
-
Also bonus question, if I implement a custom macro called with
G10.1
in/sys/G10.1.g
I do not need to callM120/121
in it right? -
@kuon can you share the design ?
-
@PCR Here is how it looks. I plan to open source everything when the printer is fully operational and tuned, as I am still changing thnigs.
-
@kuon said in Alternate axis for Z-Hop:
Also bonus question, if I implement a custom macro called with
G10.1
in/sys/G10.1.g
I do not need to callM120/121
in it right?M120/M121 are not required as far as I know. Should be automatic on a macro call.
https://docs.duet3d.com/en/User_manual/Reference/Gcodes#custom-gcodes
-
@kuon
Be careful with replacing G10 in your post processing script. It has three different meanings, depending on what parameters (if any) follow G10.
Make sure it is plain G10 followed by enter -
@o_lampe Yes, thanks for pointing that, I'll be sure to replace full lines.
-
@kuon you'll also want to track the retraction status of each extruder by a global variable so repeated G10's without a G11 don't pull thr filament all the way out!
-
@kuon said in Alternate axis for Z-Hop:
@o_lampe Yes, thanks for pointing that, I'll be sure to replace full lines.
Yes, great idea, I'll do that.
-
I wish there was a simple way to do the same with mesh levelling.
Any ideas? -
@o_lampe said in Alternate axis for Z-Hop:
I wish there was a simple way to do the same with mesh levelling.
Any ideas?The only way I can think of using existing firmware is to remap the Z axis in mesh.g before you command G29 S0, and remap it back again afterwards. A complication is that using M584 to remap Z will mark it as un-homed. So you will need to save the existing Z position in a variable, issue the M584 command, then use G92 to set the Z coordinate to the saved position. Similarly when you switch the Z axis back.
-
@dc42 Thanks, that's a good starting point. But G29 S0 isn't always possible, once a print/carving job has started.
A simple G30 after remapping Z to reestablish z=0 datum will probably work too? My CNC has a certain spot to home Z and set tool length and on a printer we'd have to pick a corner outside of the actual print area to do so.
Then reset to LastKnownZ and use g29 s1 to load heightmap again. -
@o_lampe I misunderstood, you mean that you want to use the tool head vertical axis to implement mesh bed compensation. I think you could do a similar thing around layer change.
-
@dc42
Exactly, that was a problem I had with the hashPrinter. I wanted to use the "mini-Z axis" for z-hop and mesh levelling. But the firmware for simultaneous printing is still in the making.
Two tools using the same heightmap at different XY-coordinates simultaneously is another hurdle.