From 5ba60de20939754241edcd04903038ade60e7ca8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 8 Oct 2018 15:59:46 +0200 Subject: [PATCH] Send extruder settings ordered by extruder position CURA-5799 --- plugins/CuraEngineBackend/StartSliceJob.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 28e442033b..780a495de8 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -247,7 +247,10 @@ class StartSliceJob(Job): self._buildGlobalInheritsStackMessage(stack) # Build messages for extruder stacks - for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): + # Send the extruder settings in the order of extruder positions. Somehow, if you send e.g. extruder 3 first, + # then CuraEngine can slice with the wrong settings. This I think should be fixed in CuraEngine as well. + extruder_stack_list = sorted(list(global_stack.extruders.items()), key = lambda item: int(item[0])) + for _, extruder_stack in extruder_stack_list: self._buildExtruderMessage(extruder_stack) for group in filtered_object_groups: