Fixed some issues caused by the multi buildplate system

This commit is contained in:
Jaime van Kessel 2018-02-05 11:37:36 +01:00
parent f627c97a92
commit 516d7015e4
3 changed files with 11 additions and 5 deletions

View file

@ -8,6 +8,7 @@ from UM.i18n import i18nCatalog
catalog = i18nCatalog("cura") catalog = i18nCatalog("cura")
## Keep track of all objects in the project ## Keep track of all objects in the project
class ObjectsModel(ListModel): class ObjectsModel(ListModel):
def __init__(self): def __init__(self):
@ -46,10 +47,15 @@ class ObjectsModel(ListModel):
name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr)) name = catalog.i18nc("@label", "Group #{group_nr}").format(group_nr = str(group_nr))
group_nr += 1 group_nr += 1
if hasattr(node, "isOutsideBuildArea"):
is_outside_build_area = node.isOutsideBuildArea()
else:
is_outside_build_area = False
nodes.append({ nodes.append({
"name": name, "name": name,
"isSelected": Selection.isSelected(node), "isSelected": Selection.isSelected(node),
"isOutsideBuildArea": node.isOutsideBuildArea(), "isOutsideBuildArea": is_outside_build_area,
"buildPlateNumber": node_build_plate_number, "buildPlateNumber": node_build_plate_number,
"node": node "node": node
}) })

View file

@ -59,6 +59,8 @@ class CuraSceneController(QObject):
for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()): for node in DepthFirstIterator(Application.getInstance().getController().getScene().getRoot()):
if node.callDecoration("isSliceable"): if node.callDecoration("isSliceable"):
build_plate_number = node.callDecoration("getBuildPlateNumber") 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) max_build_plate = max(build_plate_number, max_build_plate)
return max_build_plate return max_build_plate

View file

@ -187,9 +187,7 @@ class CuraEngineBackend(QObject, Backend):
## Manually triggers a reslice ## Manually triggers a reslice
@pyqtSlot() @pyqtSlot()
def forceSlice(self): def forceSlice(self):
if self._use_timer: self.markSliceAll()
self._change_timer.start()
else:
self.slice() self.slice()
## Perform a slice of the scene. ## Perform a slice of the scene.