diff --git a/cura/PlatformPhysics.py b/cura/PlatformPhysics.py index 191f7b0e27..23de74b80e 100644 --- a/cura/PlatformPhysics.py +++ b/cura/PlatformPhysics.py @@ -48,7 +48,13 @@ class PlatformPhysics: bbox = node.getBoundingBox() # Ignore intersections with the bottom - build_volume_bounding_box = self._build_volume.getBoundingBox().set(bottom=-9001) + build_volume_bounding_box = self._build_volume.getBoundingBox() + if build_volume_bounding_box: + build_volume_bounding_box.set(bottom=-9001) + else: + # No bounding box. This is triggered when running Cura from command line with a model for the first time + # In that situation there is a model, but no machine (and therefore no build volume. + return node._outside_buildarea = False # Mark the node as outside the build volume if the bounding box test fails. diff --git a/resources/qml/Cura.qml b/resources/qml/Cura.qml index c449b4c83e..d0870991d2 100644 --- a/resources/qml/Cura.qml +++ b/resources/qml/Cura.qml @@ -321,23 +321,7 @@ UM.MainWindow sourceSize.height: height; } - Button - { - id: viewModeButton - anchors - { - top: toolbar.bottom; - topMargin: UM.Theme.getSize("window_margin").height; - left: parent.left; - } - text: catalog.i18nc("@action:button","View Mode"); - iconSource: UM.Theme.getIcon("viewmode"); - - style: UM.Theme.styles.tool_button; - tooltip: ''; - menu: ViewMenu { } - } Toolbar { @@ -367,6 +351,24 @@ UM.MainWindow width: UM.Theme.getSize("sidebar").width; } + Button + { + id: viewModeButton + + anchors + { + top: toolbar.bottom; + topMargin: UM.Theme.getSize("window_margin").height; + left: parent.left; + } + text: catalog.i18nc("@action:button","View Mode"); + iconSource: UM.Theme.getIcon("viewmode"); + + style: UM.Theme.styles.tool_button; + tooltip: ''; + menu: ViewMenu { } + } + Rectangle { id: viewportOverlay