Fix setting the right extruder temperatures in start and end gcode

This commit is contained in:
ChrisTerBeke 2017-12-15 14:17:18 +01:00
parent 876ad01597
commit 57651e837f

View file

@ -269,18 +269,23 @@ class StartSliceJob(Job):
def _buildGlobalSettingsMessage(self, stack): def _buildGlobalSettingsMessage(self, stack):
settings = self._buildReplacementTokens(stack) settings = self._buildReplacementTokens(stack)
start_gcode = settings["machine_start_gcode"]
# Pre-compute material material_bed_temp_prepend and material_print_temp_prepend # Pre-compute material material_bed_temp_prepend and material_print_temp_prepend
start_gcode = settings["machine_start_gcode"]
bed_temperature_settings = {"material_bed_temperature", "material_bed_temperature_layer_0"} bed_temperature_settings = {"material_bed_temperature", "material_bed_temperature_layer_0"}
settings["material_bed_temp_prepend"] = all(("{" + setting + "}" not in start_gcode for setting in bed_temperature_settings)) settings["material_bed_temp_prepend"] = all(("{" + setting + "}" not in start_gcode for setting in bed_temperature_settings))
print_temperature_settings = {"material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"} print_temperature_settings = {"material_print_temperature", "material_print_temperature_layer_0", "default_material_print_temperature", "material_initial_print_temperature", "material_final_print_temperature", "material_standby_temperature"}
settings["material_print_temp_prepend"] = all(("{" + setting + "}" not in start_gcode for setting in print_temperature_settings)) settings["material_print_temp_prepend"] = all(("{" + setting + "}" not in start_gcode for setting in print_temperature_settings))
#Replace the setting tokens in start and end g-code. # Find the correct temperatures from the first used extruder
settings["machine_start_gcode"] = self._expandGcodeTokens(settings["machine_start_gcode"], settings) extruder_stack = Application.getInstance().getExtruderManager().getUsedExtruderStacks()[0]
settings["machine_end_gcode"] = self._expandGcodeTokens(settings["machine_end_gcode"], settings) extruder_0_settings = self._buildReplacementTokens(extruder_stack)
for key, value in settings.items(): #Add all submessages for each individual setting. # Replace the setting tokens in start and end g-code.
settings["machine_start_gcode"] = self._expandGcodeTokens(settings["machine_start_gcode"], extruder_0_settings)
settings["machine_end_gcode"] = self._expandGcodeTokens(settings["machine_end_gcode"], extruder_0_settings)
# Add all sub-messages for each individual setting.
for key, value in settings.items():
setting_message = self._slice_message.getMessage("global_settings").addRepeatedMessage("settings") setting_message = self._slice_message.getMessage("global_settings").addRepeatedMessage("settings")
setting_message.name = key setting_message.name = key
setting_message.value = str(value).encode("utf-8") setting_message.value = str(value).encode("utf-8")