From 5ba60de20939754241edcd04903038ade60e7ca8 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 8 Oct 2018 15:59:46 +0200 Subject: [PATCH 1/2] 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: From 18821b6527c918f622fd57caa0d5cfb711e15644 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Tue, 9 Oct 2018 11:43:40 +0200 Subject: [PATCH 2/2] Add missing extruder def for Creality Ender 3 CURA-5806 --- resources/definitions/creality_ender3.def.json | 6 +++++- .../creality_ender3_extruder_0.def.json | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 resources/extruders/creality_ender3_extruder_0.def.json diff --git a/resources/definitions/creality_ender3.def.json b/resources/definitions/creality_ender3.def.json index 4ae4d4ad93..9745f28a93 100755 --- a/resources/definitions/creality_ender3.def.json +++ b/resources/definitions/creality_ender3.def.json @@ -8,7 +8,11 @@ "manufacturer": "Creality3D", "file_formats": "text/x-gcode", "platform": "creality_ender3_platform.stl", - "preferred_quality_type": "draft" + "preferred_quality_type": "draft", + "machine_extruder_trains": + { + "0": "creality_ender3_extruder_0" + } }, "overrides": { "machine_name": { diff --git a/resources/extruders/creality_ender3_extruder_0.def.json b/resources/extruders/creality_ender3_extruder_0.def.json new file mode 100644 index 0000000000..431366c777 --- /dev/null +++ b/resources/extruders/creality_ender3_extruder_0.def.json @@ -0,0 +1,16 @@ +{ + "id": "creality_ender3_extruder_0", + "version": 2, + "name": "Extruder 1", + "inherits": "fdmextruder", + "metadata": { + "machine": "creality_ender3", + "position": "0" + }, + + "overrides": { + "extruder_nr": { "default_value": 0 }, + "machine_nozzle_size": { "default_value": 0.4 }, + "material_diameter": { "default_value": 1.75 } + } +}