From 4940f3b88baa5ec579cccb68d4beb80074b16dc1 Mon Sep 17 00:00:00 2001 From: THeijmans Date: Fri, 16 Mar 2018 14:39:01 +0100 Subject: [PATCH 1/5] Retraction minimum travel update Changed it to 2 or 3 times line width, similar as with the 0.4mm profiles. Was 5mm standard for all profiles with the 0.8mm printcore, except TPU. --- resources/variants/ultimaker3_aa0.8.inst.cfg | 1 + resources/variants/ultimaker3_bb0.8.inst.cfg | 2 +- resources/variants/ultimaker3_extended_aa0.8.inst.cfg | 1 + resources/variants/ultimaker3_extended_bb0.8.inst.cfg | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/variants/ultimaker3_aa0.8.inst.cfg b/resources/variants/ultimaker3_aa0.8.inst.cfg index 0bccf91b7c..97ee3587cf 100644 --- a/resources/variants/ultimaker3_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_aa0.8.inst.cfg @@ -46,6 +46,7 @@ retraction_count_max = 25 retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True +retraction_min_travel = =line_width * 2 skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_bb0.8.inst.cfg b/resources/variants/ultimaker3_bb0.8.inst.cfg index 41c6419ec1..828e3f35fe 100644 --- a/resources/variants/ultimaker3_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_bb0.8.inst.cfg @@ -58,7 +58,7 @@ retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_enabled = True retraction_hop_only_when_collides = True -retraction_min_travel = 5 +retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg index 184416b06e..149b832514 100644 --- a/resources/variants/ultimaker3_extended_aa0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_aa0.8.inst.cfg @@ -46,6 +46,7 @@ retraction_count_max = 25 retraction_extrusion_window = 1 retraction_hop = 2 retraction_hop_only_when_collides = True +retraction_min_travel = =line_width * 2 skin_overlap = 5 speed_equalize_flow_enabled = True speed_layer_0 = 20 diff --git a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg index 8a1a9373f3..541034f119 100644 --- a/resources/variants/ultimaker3_extended_bb0.8.inst.cfg +++ b/resources/variants/ultimaker3_extended_bb0.8.inst.cfg @@ -57,7 +57,7 @@ retraction_count_max = 15 retraction_extrusion_window = =retraction_amount retraction_hop = 2 retraction_hop_only_when_collides = True -retraction_min_travel = 5 +retraction_min_travel = =line_width * 3 retraction_prime_speed = 15 skin_overlap = 5 speed_layer_0 = 20 From 4a0b3ace9efa2a0ccff45801ba7b25a5768e6009 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 19 Mar 2018 12:23:35 +0100 Subject: [PATCH 2/5] Fix missing getExtruderPositionValueWithDefault() error PerObjectContainerStack was not a PerObjectContainerStack so it didn't have getExtruderPositionValueWithDefault(), and this will break SliceInfo. --- cura/Settings/PerObjectContainerStack.py | 11 ++++++----- cura/Settings/SettingOverrideDecorator.py | 7 ++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cura/Settings/PerObjectContainerStack.py b/cura/Settings/PerObjectContainerStack.py index 6c54ed46d5..33111cbed7 100644 --- a/cura/Settings/PerObjectContainerStack.py +++ b/cura/Settings/PerObjectContainerStack.py @@ -3,13 +3,14 @@ from typing import Any, Optional from UM.Application import Application from UM.Decorators import override from UM.Settings.Interfaces import PropertyEvaluationContext -from UM.Settings.ContainerStack import ContainerStack from UM.Settings.SettingInstance import InstanceState +from .CuraContainerStack import CuraContainerStack -class PerObjectContainerStack(ContainerStack): - @override(ContainerStack) +class PerObjectContainerStack(CuraContainerStack): + + @override(CuraContainerStack) def getProperty(self, key: str, property_name: str, context: Optional[PropertyEvaluationContext] = None) -> Any: if context is None: context = PropertyEvaluationContext() @@ -51,8 +52,8 @@ class PerObjectContainerStack(ContainerStack): context.popContainer() return result - @override(ContainerStack) - def setNextStack(self, stack: ContainerStack): + @override(CuraContainerStack) + def setNextStack(self, stack: CuraContainerStack): super().setNextStack(stack) # trigger signal to re-evaluate all default settings diff --git a/cura/Settings/SettingOverrideDecorator.py b/cura/Settings/SettingOverrideDecorator.py index d7ae43f938..e853a3a979 100644 --- a/cura/Settings/SettingOverrideDecorator.py +++ b/cura/Settings/SettingOverrideDecorator.py @@ -3,7 +3,6 @@ import copy -from UM.Scene.Iterator.DepthFirstIterator import DepthFirstIterator from UM.Scene.SceneNodeDecorator import SceneNodeDecorator from UM.Signal import Signal, signalemitter from UM.Settings.InstanceContainer import InstanceContainer @@ -33,9 +32,11 @@ class SettingOverrideDecorator(SceneNodeDecorator): def __init__(self): super().__init__() - self._stack = PerObjectContainerStack(stack_id = "per_object_stack_" + str(id(self))) + self._stack = PerObjectContainerStack(container_id = "per_object_stack_" + str(id(self))) self._stack.setDirty(False) # This stack does not need to be saved. - self._stack.addContainer(InstanceContainer(container_id = "SettingOverrideInstanceContainer")) + user_container = InstanceContainer(container_id = "SettingOverrideInstanceContainer") + user_container.addMetaDataEntry("type", "user") + self._stack.userChanges = user_container self._extruder_stack = ExtruderManager.getInstance().getExtruderStack(0).getId() self._is_non_printing_mesh = False From b13bfaa8e14b690cb036f8af2f5ac22c0f6f9868 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 19 Mar 2018 12:27:12 +0100 Subject: [PATCH 3/5] Rename setVariantGroup() -> setVariant() There is no such thing as VariantGroup. --- cura/Settings/MachineManager.py | 2 +- resources/qml/Menus/NozzleMenu.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura/Settings/MachineManager.py b/cura/Settings/MachineManager.py index 07548e21dd..6debd8d68e 100755 --- a/cura/Settings/MachineManager.py +++ b/cura/Settings/MachineManager.py @@ -1227,7 +1227,7 @@ class MachineManager(QObject): self._updateQualityWithMaterial() @pyqtSlot(str, "QVariant") - def setVariantGroup(self, position, container_node): + def setVariant(self, position, container_node): position = str(position) self.blurSettings.emit() with postponeSignals(*self._getContainerChangedSignals(), compress = CompressTechnique.CompressPerParameterValue): diff --git a/resources/qml/Menus/NozzleMenu.qml b/resources/qml/Menus/NozzleMenu.qml index 43f3b79dd4..886216dab0 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -32,7 +32,7 @@ Menu } exclusiveGroup: group onTriggered: { - Cura.MachineManager.setVariantGroup(menu.extruderIndex, model.container_node); + Cura.MachineManager.setVariant(menu.extruderIndex, model.container_node); } } From 64d72c9d51584d9011497820f23420e620004582 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 19 Mar 2018 13:15:17 +0100 Subject: [PATCH 4/5] Fix where number of queued print jobs would be too big --- plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py index c19c86d6ce..a68eabe305 100644 --- a/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py +++ b/plugins/UM3NetworkPrinting/ClusterUM3OutputDevice.py @@ -216,7 +216,7 @@ class ClusterUM3OutputDevice(NetworkedPrinterOutputDevice): @pyqtProperty("QVariantList", notify=printJobsChanged) def queuedPrintJobs(self) -> List[PrintJobOutputModel]: - return [print_job for print_job in self._print_jobs if print_job.assignedPrinter is None or print_job.state == "queued"] + return [print_job for print_job in self._print_jobs if print_job.state == "queued"] @pyqtProperty("QVariantList", notify=printJobsChanged) def activePrintJobs(self) -> List[PrintJobOutputModel]: From 6620909f3ddd5fd7b78ec4379ceefa7a84ac0521 Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Mon, 19 Mar 2018 13:46:04 +0100 Subject: [PATCH 5/5] Remove non-existing showingAllSettings CURA-5088 --- resources/qml/Menus/SettingVisibilityPresetsMenu.qml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml index 47f8846050..2175cfa402 100644 --- a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml +++ b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml @@ -41,8 +41,7 @@ Menu MenuItem { text: catalog.i18nc("@action:inmenu", "Show All Settings") - checkable: true - checked: showingAllSettings + checkable: false exclusiveGroup: group onTriggered: {