diff --git a/plugins/3MFReader/ThreeMFReader.py b/plugins/3MFReader/ThreeMFReader.py index a19005057c..93a8dc1c65 100755 --- a/plugins/3MFReader/ThreeMFReader.py +++ b/plugins/3MFReader/ThreeMFReader.py @@ -12,7 +12,6 @@ from UM.Mesh.MeshBuilder import MeshBuilder from UM.Mesh.MeshReader import MeshReader from UM.Scene.GroupDecorator import GroupDecorator from cura.Settings.SettingOverrideDecorator import SettingOverrideDecorator -from cura.ZOffsetDecorator import ZOffsetDecorator from UM.Application import Application from cura.Settings.ExtruderManager import ExtruderManager from cura.QualityManager import QualityManager @@ -47,7 +46,7 @@ class ThreeMFReader(MeshReader): def _createMatrixFromTransformationString(self, transformation): if transformation == "": return Matrix() - + splitted_transformation = transformation.split() ## Transformation is saved as: ## M00 M01 M02 0.0 @@ -105,8 +104,8 @@ class ThreeMFReader(MeshReader): # Add the setting override decorator, so we can add settings to this node. if settings: um_node.addDecorator(SettingOverrideDecorator()) - global_container_stack = Application.getInstance().getGlobalContainerStack() + global_container_stack = Application.getInstance().getGlobalContainerStack() # Ensure the correct next container for the SettingOverride decorator is set. if global_container_stack: multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1 @@ -144,15 +143,12 @@ class ThreeMFReader(MeshReader): if len(um_node.getChildren()) > 0: group_decorator = GroupDecorator() um_node.addDecorator(group_decorator) - um_node.setSelectable(True) - if um_node.getMeshData(): # Assuming that all nodes with mesh data are printable objects # affects (auto) slicing sliceable_decorator = SliceableObjectDecorator() um_node.addDecorator(sliceable_decorator) - return um_node def read(self, file_name): @@ -172,18 +168,10 @@ class ThreeMFReader(MeshReader): transform_matrix = Matrix() mesh_data = um_node.getMeshData() - if mesh_data is not None: extents = mesh_data.getExtents() center_vector = Vector(extents.center.x, extents.center.y, extents.center.z) - - # If the object in a saved project is below the bed, keep it that way - if extents.minimum.z < 0.0: - um_node.addDecorator(ZOffsetDecorator()) - um_node.callDecoration("setZOffset", extents.minimum.z) - transform_matrix.setByTranslation(center_vector) - transform_matrix.multiply(um_node.getLocalTransformation()) um_node.setTransformation(transform_matrix) @@ -207,7 +195,7 @@ class ThreeMFReader(MeshReader): translation_matrix.setByTranslation(translation_vector) transformation_matrix.multiply(translation_matrix) - # Third step: 3MF also defines a unit, whereas Cura always assumes mm. + # Third step: 3MF also defines a unit, wheras Cura always assumes mm. scale_matrix = Matrix() scale_matrix.setByScaleVector(self._getScaleFromUnit(self._unit)) transformation_matrix.multiply(scale_matrix) diff --git a/resources/qml/SidebarSimple.qml b/resources/qml/SidebarSimple.qml index 9bd5c7590a..f3202d0e63 100644 --- a/resources/qml/SidebarSimple.qml +++ b/resources/qml/SidebarSimple.qml @@ -509,21 +509,23 @@ Item } } - Item + Rectangle { id: infillIcon - width: (infillCellRight.width / 5) - (UM.Theme.getSize("sidebar_margin").width) + width: (parent.width / 5) - (UM.Theme.getSize("sidebar_margin").width) height: width - anchors.right: infillCellRight.right - anchors.top: infillSlider.top + anchors.right: parent.right + anchors.top: parent.top + anchors.topMargin: UM.Theme.getSize("sidebar_margin").height / 2 // we loop over all density icons and only show the one that has the current density and steps Repeater { id: infillIconList model: infillModel + anchors.fill: parent property int activeIndex: { for (var i = 0; i < infillModel.count; i++) { @@ -541,20 +543,21 @@ Item return -1 } - Item { + Rectangle + { anchors.fill: parent + visible: infillIconList.activeIndex == index - Rectangle { + border.width: UM.Theme.getSize("default_lining").width + border.color: UM.Theme.getColor("quality_slider_available") + + UM.RecolorImage { anchors.fill: parent - visible: infillIconList.activeIndex == index - - UM.RecolorImage { - anchors.fill: parent - sourceSize.width: width - sourceSize.height: width - source: UM.Theme.getIcon(model.icon) - color: UM.Theme.getColor("quality_slider_available") - } + anchors.margins: 2 + sourceSize.width: width + sourceSize.height: width + source: UM.Theme.getIcon(model.icon) + color: UM.Theme.getColor("quality_slider_unavailable") } } }