diff --git a/cura/PrintInformation.py b/cura/PrintInformation.py index bbc5cd4329..f2d28c9297 100644 --- a/cura/PrintInformation.py +++ b/cura/PrintInformation.py @@ -169,7 +169,6 @@ class PrintInformation(QObject): return self._print_time_message_values[self._active_build_plate] def _onPrintDurationMessage(self, build_plate_number, print_time, material_amounts): - Logger.log("d", " ### print duration message for build plate %s", build_plate_number) self._updateTotalPrintTimePerFeature(build_plate_number, print_time) self.currentPrintTimeChanged.emit() @@ -276,7 +275,6 @@ class PrintInformation(QObject): def _onActiveBuildPlateChanged(self): new_active_build_plate = Application.getInstance().getBuildPlateModel().activeBuildPlate if new_active_build_plate != self._active_build_plate: - Logger.log("d", " ## active build plate changed: %s", self._active_build_plate) self._active_build_plate = new_active_build_plate self._initVariablesWithBuildPlate(self._active_build_plate) diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index 8c4ef9d1ae..f75cf68312 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -15,8 +15,8 @@ from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator from UM.Application import Application from cura.Settings.ExtruderManager import ExtruderManager from cura.QualityManager import QualityManager -#from UM.Scene.SceneNode import SceneNode -from cura.Scene.CuraSceneNode import CuraSceneNode as SceneNode +from cura.Scene.CuraSceneNode import CuraSceneNode +from cura.Scene.BuildPlateDecorator import BuildPlateDecorator from cura.SliceableObjectDecorator import SliceableObjectDecorator from cura.ZOffsetDecorator import ZOffsetDecorator @@ -44,6 +44,7 @@ class ThreeMFReader(MeshReader): } self._base_name = "" self._unit = None + self._object_count = 0 # Used to name objects as there is no node name yet. def _createMatrixFromTransformationString(self, transformation): if transformation == "": @@ -78,7 +79,12 @@ class ThreeMFReader(MeshReader): ## Convenience function that converts a SceneNode object (as obtained from libSavitar) to a Uranium scene node. # \returns Uranium scene node. def _convertSavitarNodeToUMNode(self, savitar_node): - um_node = SceneNode() + self._object_count += 1 + node_name = "Object %s" % self._object_count + + um_node = CuraSceneNode() + um_node.addDecorator(BuildPlateDecorator(0)) + um_node.setName(node_name) transformation = self._createMatrixFromTransformationString(savitar_node.getTransformation()) um_node.setTransformation(transformation) mesh_builder = MeshBuilder() @@ -155,6 +161,7 @@ class ThreeMFReader(MeshReader): def read(self, file_name): result = [] + self._object_count = 0 # Used to name objects as there is no node name yet. # The base object of 3mf is a zipped archive. try: archive = zipfile.ZipFile(file_name, "r") diff --git a/plugins/3MFWriter/ThreeMFWriter.py b/plugins/3MFWriter/ThreeMFWriter.py index a764d30fac..8e005c47b1 100644 --- a/plugins/3MFWriter/ThreeMFWriter.py +++ b/plugins/3MFWriter/ThreeMFWriter.py @@ -7,6 +7,7 @@ from UM.Logger import Logger from UM.Math.Matrix import Matrix from UM.Application import Application import UM.Scene.SceneNode +from cura.Scene.CuraSceneNode import CuraSceneNode import Savitar @@ -63,7 +64,7 @@ class ThreeMFWriter(MeshWriter): ## Convenience function that converts an Uranium SceneNode object to a SavitarSceneNode # \returns Uranium Scenen node. def _convertUMNodeToSavitarNode(self, um_node, transformation = Matrix()): - if type(um_node) is not UM.Scene.SceneNode.SceneNode: + if type(um_node) not in [UM.Scene.SceneNode.SceneNode, CuraSceneNode]: return None savitar_node = Savitar.SceneNode() diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index 89ec2cf70d..c6b0a443bb 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -304,8 +304,8 @@ Item Action { id: arrangeAllBuildPlatesAction; - text: ""; - iconName: "document-open"; + text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates"); + //iconName: "document-open"; onTriggered: CuraApplication.arrangeObjectsToAllBuildPlates(); }