From adc547fa36b3edc288369543d1c97c648f6f22c5 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 21 Jun 2017 19:00:18 +0200 Subject: [PATCH 1/2] Don't send extruder stack settings to CuraEngine when there is just one extruder When there is 1 extruder, the frontend stores all settings in the global stack. Sending an extruder stack confuses CuraEngine into using the values of the extruder stack, which results in defaults being used. --- plugins/CuraEngineBackend/StartSliceJob.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index 8abb72fa92..da60aa39e5 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -149,8 +149,9 @@ class StartSliceJob(Job): self._buildGlobalSettingsMessage(stack) self._buildGlobalInheritsStackMessage(stack) - for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): - self._buildExtruderMessage(extruder_stack) + if stack.getProperty("machine_extruder_count", "value") > 1: + for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): + self._buildExtruderMessage(extruder_stack) for group in object_groups: group_message = self._slice_message.addRepeatedMessage("object_lists") From de01155630666923b79c9cda544c262f103f665b Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 21 Jun 2017 19:15:05 +0200 Subject: [PATCH 2/2] Add documentation --- plugins/CuraEngineBackend/StartSliceJob.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py index da60aa39e5..b262080872 100644 --- a/plugins/CuraEngineBackend/StartSliceJob.py +++ b/plugins/CuraEngineBackend/StartSliceJob.py @@ -149,6 +149,8 @@ class StartSliceJob(Job): self._buildGlobalSettingsMessage(stack) self._buildGlobalInheritsStackMessage(stack) + # Only add extruder stacks if there are multiple extruders + # Single extruder machines only use the global stack to store setting values if stack.getProperty("machine_extruder_count", "value") > 1: for extruder_stack in ExtruderManager.getInstance().getMachineExtruders(stack.getId()): self._buildExtruderMessage(extruder_stack)