From 516d7015e499f277ee34497669d48afc87fdc84e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 5 Feb 2018 11:37:36 +0100 Subject: [PATCH] Fixed some issues caused by the multi buildplate system --- cura/ObjectsModel.py | 8 +++++++- cura/Scene/CuraSceneController.py | 2 ++ plugins/CuraEngineBackend/CuraEngineBackend.py | 6 ++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cura/ObjectsModel.py b/cura/ObjectsModel.py index 1516b3ee33..f02e8b4db5 100644 --- a/cura/ObjectsModel.py +++ b/cura/ObjectsModel.py @@ -8,6 +8,7 @@ from UM.i18n import i18nCatalog catalog = i18nCatalog("cura") + ## Keep track of all objects in the project class ObjectsModel(ListModel): def __init__(self): @@ -46,10 +47,15 @@ class ObjectsModel(ListModel): name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr)) group_nr += 1 + if hasattr(node, "isOutsideBuildArea"): + is_outside_build_area = node.isOutsideBuildArea() + else: + is_outside_build_area = False + nodes.append({ "name": name, "isSelected": Selection.isSelected(node), - "isOutsideBuildArea": node.isOutsideBuildArea(), + "isOutsideBuildArea": is_outside_build_area, "buildPlateNumber": node_build_plate_number, "node": node }) diff --git a/cura/Scene/CuraSceneController.py b/cura/Scene/CuraSceneController.py index a93a8769d0..1c008d1893 100644 --- a/cura/Scene/CuraSceneController.py +++ b/cura/Scene/CuraSceneController.py @@ -59,6 +59,8 @@ class CuraSceneController(QObject): for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()): if node.callDecoration("isSliceable"): build_plate_number = node.callDecoration("getBuildPlateNumber") + if build_plate_number is None: + build_plate_number = 0 max_build_plate = max(build_plate_number, max_build_plate) return max_build_plate diff --git a/plugins/CuraEngineBackend/CuraEngineBackend.py b/plugins/CuraEngineBackend/CuraEngineBackend.py index 8d3b223c2c..86744ac21d 100755 --- a/plugins/CuraEngineBackend/CuraEngineBackend.py +++ b/plugins/CuraEngineBackend/CuraEngineBackend.py @@ -187,10 +187,8 @@ class CuraEngineBackend(QObject, Backend): ## Manually triggers a reslice @pyqtSlot() def forceSlice(self): - if self._use_timer: - self._change_timer.start() - else: - self.slice() + self.markSliceAll() + self.slice() ## Perform a slice of the scene. def slice(self):