Jump to content
UltiMaker Community of 3D Printing Experts

Cura custom machine_start_gcode for separate material warmup


Recommended Posts

Posted · Cura custom machine_start_gcode for separate material warmup

The behavior I'm trying to do is fairly basic:

Standard cura warmup for dual extrusion heats both heaters up simultaneously with a M104 command. I want to heat up one heater, then the next, ideally adding to my machine_start_gcode json something like this:

M109 T1 S{material_print_temperature_1}

M109 T0 S{material_print_temperature_0}

My first adventure was learning by trial and error that I can't modify the machine_start_gcode in the "extruder" json because it doesn't parse for things like S{material_print_temperature}. I am not entirely sure what settings it does parse for and which it doesn't in the extruder json.

However, in the printer json it does parse for at least "material_print_temperature" but it only puts in the globally defined setting (which has to be wrong for most materials since it's just a basic default.)

There was one old thread I found when researching this problem, but I think it wasn't really conclusive as to whether I can access the material print temperature setting for a specific material with this machine_start_gcode override.

So, is what I'm trying to do even possible? just checking in I'm not really sure. I would love to get a better background on the cura json structures, but I'm somewhat amatuer and not sure if I'm missing some place where it's documented more (most of what I've learned has been on forum posts and painful break-observe iteration.)


  • Link to post
    Share on other sites

    Posted · Cura custom machine_start_gcode for separate material warmup

    So OK I would like to distill this to two questions:

    (1) In JSONs, can I access the material temperature settings? It seems like I cannot, I can only access a global default print_material_settings

    (1B) If I can access material temperature settings in the machine instance, can I also access it in the extruder specific json?

    (1C) If I add a temperature command to my extruder start gcode, does cura see that and turn off its M109 print temperature command? I understand it might not be enabled for the extruders but I can't figure out how to confirm, it seems my tests so far suggest it is not functional in extruder JSONs. I can make a post processing plugin (due to all the help on this forum:)! thanks daidhai8 and others), but I would love to edit in jsons.

    (2) What is the meaning of "extruder_start_pos" and "extruder_end_pos" The value exists for X, Y, and Z, but in output files I only see the extruder ever moving to the prime position, not the extruder_start_pos. I expect the extruder_start_pos would represent something like "go here before the extruder_start_gcode" but it does not seem to represent that.

    My goal is to make a "perfect" dual extruder setup for my custom reprap, so I'm trying to tune a bunch of extruder switching things. I want to do it to whatever extent I can in the existing functionality, but I will supplement anything I can't do with a post processing plugin (which would be more satisfying if I could set them to always apply, like "if using dual extrusion, turn on this post processing plugin" but I also think that is not an option.)

    I hope my questions aren't too much, but I'm hopeful there's someone with knowledge about this who can swoop in because it's been a lot of trial an error messing with this so far :):):).

  • 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

      • New here? Get ahead with a free onboarding course
        Often getting started is the most difficult part of any process. A good start sets you up for success and saves you time and energy that could be spent elsewhere. That is why we have a onboarding course ready for
        Ultimaker S5 Pro Bundle, Ultimaker S5, Ultimaker S3 Ultimaker 2+ Connect.   
        They're ready for you on the Ultimaker Academy platform. All you need to do to gain access is to register your product to gain free access. 
        Ready? Register your product here in just 60 seconds.
          • Like
        • 14 replies
    • Create New...