Tool offset Z ignored



  • I am building a IDEX machine with two printheads. One of my heads is 0.4mm higher then the other, but adding that offset to my config.g does nothing.

    Here I have set the offset to 4.6mm to see what would happen, and it seems to be ignored.

    ; Tools
    M563 P0 D0 H1
    M563 P1 D1 H2 X3 ; tool 0 uses extruder drive 0 and heater 1 and maps X to U
    G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
    G10 P0 R00 S00 ; Set initial tool 0 active and standby temperatures to 0C
    M563 P1 D1 H2 X3 ; tool 1 uses extruder drive 1 and heater 2 And maps X to U
    G10 P1 X0 Y0 Z4.6 ; Set tool 1 axis offsets
    G10 P1 R00 S00; Set initial tool 1 active and standby temperatures to 0C

    Kulitorum


  • administrators

    There is a known issue which is that if you change tool and the new tool has a different Z offset, the offset is on taken into account until you send a G0 or G1 command that includes the Z parameter. Is this what you are seeing?



  • Yes, I guess it is. So it will work if I add z-lifting to my gcode?

    Heres the relevant parts of my gcode - init and head change:

    G90
    M82
    M106 S0
    M140 S60
    M190 S60
    G28 ; home all axes
    G10 P0 R210 S210
    G10 P1 R210 S210
    G92 E0
    G1 E-1.0000 F1800
    G1 Z0.180 F1002
    ; layer 1, Z = 0.18
    T0
    ; tool H0.200 W0.480
    ; skirt
    G1 X128.035 Y135.490 F9000
    G1 E0.0000 F540
    G92 E0
    G1 X128.300 Y135.380 E0.0103 F1635
    …...

    G1 X141.305 Y158.772 E4.7989
    G92 E0
    G1 E0.0000 F600
    ; layer 2, Z = 0.18
    T1
    ; tool H0.200 W0.480
    ; inner perimeter
    G1 X139.180 Y159.180 F9000
    G92 E0
    G1 X130.820 Y159.180 E0.3003 F1628
    G1 X130.820 Y150.820 E0.6006
    G1 X139.180 Y150.820 E0.9009
    ......



  • I tried this, and that made no difference:

    [init]
    ….....
    ; layer 1, Z = 0.18
    T0
    G91
    G1 Z0.01
    G1 Z-0.01
    G90
    ; tool H0.200 W0.480
    ; skirt
    G1 X128.035 Y135.490 F9000
    G1 Z0.180 F1002
    ......
    G1 X141.305 Y158.772 E4.7989
    G92 E0
    G1 E0.0000 F600
    ; layer 2, Z = 0.18
    T1
    G91
    G1 Z0.01
    G1 Z-0.01
    G90
    ; tool H0.200 W0.480
    ; inner perimeter
    G1 X139.180 Y159.180 F9000
    G92 E0
    G1 X130.820 Y159.180 E0.3003 F1628
    G1 X130.820 Y150.820 E0.6006
    .........

    Any ideas for a workaround?



  • And now I am doing this, which still does not work:

    G90
    M82
    M106 S0
    M140 S60
    M190 S60
    G28 ; home all axes
    G10 P0 R210 S210
    G10 P1 R210 S210
    M104 S210 T0
    M104 S210 T1
    M109 S210 T0
    M109 S210 T1
    G28
    G92 E0
    G1 E-1.0000 F1800
    G1 Z1.180 F1002
    ; layer 1, Z = 0.18
    T0
    G1 Z0.180
    ; tool H0.200 W0.480
    ; skirt
    G1 X128.035 Y135.490 F9000
    G1 Z0.180 F1002
    ….................
    G1 X141.305 Y158.772 E4.7989
    G92 E0
    G1 E0.0000 F600
    ; layer 2, Z = 0.18
    T1
    G1 Z0.180
    ; tool H0.200 W0.480
    ; inner perimeter
    G1 X139.180 Y159.180 F9000
    G92 E0
    G1 X130.820 Y159.180 E0.3003 F1628
    G1 X130.820 Y150.820 E0.6006
    .............



  • Am I doing this right - this is what you ment, right? - With the G1 Z# after the tool change?



  • I just realized - the displays claims that the z position is 4.6 when printing with the second head, but the printer is not at z4.6. Again - the firmware seems to think it is at 4.6, only it is not.

    Kulitorum



  • This is worse even….

    Turns out that if you set offset Z for tool 1 to anything other then 0, that head is always printing at the same z position as the first layer. In my case 0.18mm. So every layer is printed at z=0.18m. At the same time, the displays will always show the Z-offset value, so the display in my case always shows 4.6, but it always prints (every layer) at 0.18.

    I fixed it with a metal file. My z-offset is now 0 and that works better.

    BTW, OffsetX is also not used. So I had to calibrate the U axis in homeu.g



  • Hi i build a machine with dual x carriage and i had the same problem.

    what you need to do after a tool change is add G01 Z[current z value] (in absolute coordinates) and it will work fine.
    i made small script that does this for me. it would be great if we could add
    this in the toolchange files
    with a variable for the current z height



  • If you look at my last gcode, is that not exactly what I am doing?

    Maybe you can post an example gcode? - or parts of it?`

    Thanks.



  • Is there any progress on this?

    Is it fixed in 1.19?



  • having same problem any update ?


  • administrators

    Thanks for reminding me. I'll fix it in beta 7.



  • Great! Looking forward to it 🙂


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.