From ba1f915633a0ac455cd36981d9f710d3966ee9fa Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 16 Jan 2018 16:30:10 +0100 Subject: [PATCH 1/4] Fix for CURA-4789 `deleteAll()` within `CuraApplication.py` now resets the print information by calling its `setToZeroPrintInformation()` method, rather than by reinstatiating the `PrintInformation` class. --- cura/CuraApplication.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 37952a42ac..3c5eca2f21 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1061,6 +1061,9 @@ class CuraApplication(QtApplication): op.push() Selection.clear() + # Reset the print information: + self._print_information.setToZeroPrintInformation(self.getBuildPlateModel().activeBuildPlate) + # stay on the same build plate #self.getCuraSceneController().setActiveBuildPlate(0) # Select first build plate From fad43be23b80aa82628722a9ad1e2dbecb4e132a Mon Sep 17 00:00:00 2001 From: Ian Paschal Date: Tue, 16 Jan 2018 17:03:52 +0100 Subject: [PATCH 2/4] Fixes CURA-4789 Emits `sceneChanged` which `PrintInformation` listens for and then resets with. Same result re: print time, but also will update anythign else which is listening for `sceneChanged`. --- cura/CuraApplication.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index 3c5eca2f21..0ac50c9e5e 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1062,7 +1062,8 @@ class CuraApplication(QtApplication): Selection.clear() # Reset the print information: - self._print_information.setToZeroPrintInformation(self.getBuildPlateModel().activeBuildPlate) + self.getController().getScene().sceneChanged.emit(node) + # self._print_information.setToZeroPrintInformation(self.getBuildPlateModel().activeBuildPlate) # stay on the same build plate #self.getCuraSceneController().setActiveBuildPlate(0) # Select first build plate From 26371c9c3a58578c7f1b5bf4ac91a5311812d1b8 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 17 Jan 2018 10:57:11 +0100 Subject: [PATCH 3/4] CURA-4815 When creating the unique name for a machine, don't look at the definition instance container for the id, just look at the container stack ids. --- cura/Settings/CuraContainerRegistry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura/Settings/CuraContainerRegistry.py b/cura/Settings/CuraContainerRegistry.py index 9202e57285..b945ec0609 100644 --- a/cura/Settings/CuraContainerRegistry.py +++ b/cura/Settings/CuraContainerRegistry.py @@ -94,7 +94,7 @@ class CuraContainerRegistry(ContainerRegistry): def _containerExists(self, container_type, container_name): container_class = ContainerStack if container_type == "machine" else InstanceContainer - return self.findContainersMetadata(id = container_name, type = container_type, ignore_case = True) or \ + return self.findContainersMetadata(container_type = container_class, id = container_name, type = container_type, ignore_case = True) or \ self.findContainersMetadata(container_type = container_class, name = container_name, type = container_type) ## Exports an profile to a file From 8dd21892d33277bec88895393f992b612b7af526 Mon Sep 17 00:00:00 2001 From: Diego Prado Gesto Date: Wed, 17 Jan 2018 11:34:25 +0100 Subject: [PATCH 4/4] Avoid zero thickness to be shown in layer view. Also fix some typos. --- plugins/SimulationView/SimulationView.py | 4 ++-- plugins/SimulationView/SimulationViewProxy.py | 4 ++-- plugins/SimulationView/__init__.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/SimulationView/SimulationView.py b/plugins/SimulationView/SimulationView.py index f667aff998..9249cd4a54 100644 --- a/plugins/SimulationView/SimulationView.py +++ b/plugins/SimulationView/SimulationView.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import sys @@ -344,7 +344,7 @@ class SimulationView(View): self._max_feedrate = max(float(p.lineFeedrates.max()), self._max_feedrate) self._min_feedrate = min(float(p.lineFeedrates.min()), self._min_feedrate) self._max_thickness = max(float(p.lineThicknesses.max()), self._max_thickness) - self._min_thickness = min(float(p.lineThicknesses.min()), self._min_thickness) + self._min_thickness = min(float(p.lineThicknesses[numpy.nonzero(p.lineThicknesses)].min()), self._min_thickness) if max_layer_number < layer_id: max_layer_number = layer_id if min_layer_number > layer_id: diff --git a/plugins/SimulationView/SimulationViewProxy.py b/plugins/SimulationView/SimulationViewProxy.py index e144b841e6..a84b151983 100644 --- a/plugins/SimulationView/SimulationViewProxy.py +++ b/plugins/SimulationView/SimulationViewProxy.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtCore import QObject, pyqtSignal, pyqtProperty @@ -117,7 +117,7 @@ class SimulationViewProxy(QObject): def setSimulationViewType(self, layer_view_type): active_view = self._controller.getActiveView() if isinstance(active_view, SimulationView.SimulationView.SimulationView): - active_view.setSimulationViewisinstance(layer_view_type) + active_view.setSimulationViewType(layer_view_type) @pyqtSlot(result=int) def getSimulationViewType(self): diff --git a/plugins/SimulationView/__init__.py b/plugins/SimulationView/__init__.py index 15e113bd8e..360fdc1de9 100644 --- a/plugins/SimulationView/__init__.py +++ b/plugins/SimulationView/__init__.py @@ -1,4 +1,4 @@ -# Copyright (c) 2017 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. from PyQt5.QtQml import qmlRegisterSingletonType @@ -18,7 +18,7 @@ def getMetaData(): } def createSimulationViewProxy(engine, script_engine): - return SimulationViewProxy.SimulatorViewProxy() + return SimulationViewProxy.SimulationViewProxy() def register(app): simulation_view = SimulationView.SimulationView()