Jump to content
Ultimaker Community of 3D Printing Experts
  • Sign Up

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.)


Share this post

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 :):):).

Share this post

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

  • Create New...