Tool change offset execution order
-
@dc42 At the moment because I set the Z offset it will lower the bed automatically with a toolchange because of the G10. However it only applies the offset after the tool change scripts meaning if i send the U axis down it will run into the bed.
If i lower the bed in the tpre1.g file how can i get it to the right height after the offset is applied.
Say i use the following in my tpre1.g:
G91
G1 Z20 ;move bed 20mm down
G1 U-15 ;move t1 15mm down
G90Using this it will resume 20mm down after a toolchange correct?
If I we're to add a G1 Z-20 to move it up again it would again run into the t1 because the offset is applied after the toolchange script if I'm correct.
-
The Z height will be restored automatically at the end of the tool change.
-
@dc42 I wasn't aware of that. Thanks for the input, helped a ton!
-
@dc42 I was wondering, is there a way to save the offset or read it out of a variable somewhere? So instead of lowering the bed say 20mm i could lower it to the right offset immediately. Might be a more elegant solution.
A bit relevant to this; i've seen people working with the meta gcode commands but couldn't really find any information on what variables there are and what they do. Is there somewhere i can find that information or do i need to go through the reprapfirmware code?
-
use the R value of G0/G1
https://duet3d.dozuki.com/Wiki/Gcode#Section_G0_G1_Move -
@jay_s_uk I'm not sure which question you are answering. If it is the last question i asked, could you eleborate?
If i save my position using G60 S0 and call it later using the G1 R0 it won't apply my offset correct? It needs to change the tool offset first before it has any effect. However I'm not sure if that is what you mean.
-
@Piet you use G10 to set tool offsets
When you call a tool, the G10 offset gets applied to the recalled value. -
using https://duet3d.dozuki.com/Wiki/Gcode#Section_G10_Set_workplace_coordinate_offset_or_tool_offset
you set the offsets on a per tool basis.
e.g. tool one is G10 T0 X0 Y0 Z0
tool two might be G10 T1 X5 Y0 Z5
these get taken into account during a tool change.I have mine set as a macro that gets called from config so they are applied but also easy for me to adapt
-
@jay_s_uk Right! I got that working. I'm already using that in the script i posted. I thought you were replying to my question to DC42 how i could lower it to the right offset immediately. Thanks anyways.
-
@Piet well you can lower it to that offset immediately by using G1 R2 Z0 you don't need to wait until the end of the script for it to be done automatically.
edit: I did have G1 R0 Z0 but that is the wrong slot for a tool change
-
@jay_s_uk So if i understand correctly you say i can use the tool offset with the R parameter in the G1 command.
Does it get saved automatically to that variable? Is there anyway i can check what the variable currently is? I'm assuming i need to use relative positioning for this?
-
the location of the nozzle gets automatically saved at the beginning of the tool change to R2. There is nothing stopping you recalling those locations earlier in the tool change than waiting till the end.
On my tool change, I recover the locations from R2 in specific order as I've found that works better for me that waiting for the tool change to for it for me.
You can check the variables using the object model under state.restorePoints -
@jay_s_uk Thank you, that was very helpful. Im assuming you meant G1 R2 Z0, that worked for me.
-
Yep.
I got the position wrong where it stores a tool change position.
I will edit the above post