Jump to content

Extruder Docking in Multi-Extruder Configuration


Recommended Posts

Posted (edited) · Extruder Docking in Multi-Extruder Configuration

Dear Cura Users,

Please help if you can...


**Application Version**
Cura 3.6.0


Windows 10, 64 bit


Custom FDM multi-extruder.
Four extruders docked on the back wall. 


**Steps to Reproduce**
Print any multi-material model.


**Actual Results**
Last used "Extruder End G-code" is not executed.
Last used extruder remains attached to the tool holder.


**Expected results**
Last used "Extruder End G-code" should be executed.
Last used extruder would be properly docked to its' slot on the back wall.


**Additional Information**
On T[N] G-code command (where [N] is extruder index), N's "Extruder Start G-code" is executed and that code knows how to navigate to N's tool dock and attach it to the tool holder. At the end of the tool usage, N's "Extruder End G-code" is executed and it knows how to navigate to N's dock and disconnect it from the tool holder.


Cura should execute last used "Extruder End G-code", because only that code knows where the last extruder needs to be docked at.

I am a aware that Cura always executes "End G-code", but that code can not be conditioned on the docking location of the last used extruder. At least, I am not aware that such conditional statements exist.


I am also aware that in multi-extruder case, Cura also assumes T0 to always be the first and will not execute the T0's "Extruder Start G-code", but in that case I can at least inject T0's "Extruder Start G-code" into "Start G-code" knowing it is specific for T0.


I don't know why wouldn't it make sense to always execute "Extruder Start G-code" and "Extruder End G-code" even on single extruder printers. Developers could always leave those sections blank if no extruder specific action is required.


Thank you and kind regards.

Edited by UticaTechClub
To clarify
  • Link to post
    Share on other sites

    Posted · Extruder Docking in Multi-Extruder Configuration

    To fix my problem, one of two things needs to happen:
       a) Figure out if Cura could invoke "Extruder End G-Code" on the last used extruder. I am sure there is a good reason(s) as to why Cura doesn't do it.
       b) Figure out how to condition gcode invoked in "End G-Code" section. After much reading, I believe this is currently not possible in Cura.

  • Link to post
    Share on other sites

    Posted · Extruder Docking in Multi-Extruder Configuration

    Perhaps there is another way to make "End G-Code" conditional as found in


    The idea is to define value property in (.def.json) and embed Python expression to be evaluated like in the following example:

    "machine_end_gcode": { "value": "'G29 P' + str(int(machine_width/25))" },

    So in my case, I could pass proper X,Y offset to G1 based on {current_extruder} property.

    I think it should work... 

  • Link to post
    Share on other sites

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    • Our picks

      • Introducing the UltiMaker Factor 4
        We are happy to announce the next evolution in the UltiMaker 3D printer lineup: the UltiMaker Factor 4 industrial-grade 3D printer, designed to take manufacturing to new levels of efficiency and reliability. Factor 4 is an end-to-end 3D printing solution for light industrial applications
        • 3 replies
      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
          • Like
        • 26 replies
    • Create New...