From 75519d754bdb2f0b68eca6efcfed681d68c2c510 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Wed, 17 May 2017 11:49:13 +0200 Subject: [PATCH] Fix creating materials for 1.75mm machines --- cura/Settings/ContainerManager.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cura/Settings/ContainerManager.py b/cura/Settings/ContainerManager.py index b5c76f1f17..f253b18444 100644 --- a/cura/Settings/ContainerManager.py +++ b/cura/Settings/ContainerManager.py @@ -708,6 +708,10 @@ class ContainerManager(QObject): # Ensure all settings are saved. Application.getInstance().saveSettings() + global_stack = Application.getInstance().getGlobalContainerStack() + if not global_stack: + return "" + containers = self._container_registry.findInstanceContainers(id="generic_pla") if not containers: Logger.log("d", "Unable to create a new material by cloning generic_pla, because it doesn't exist.") @@ -729,6 +733,13 @@ class ContainerManager(QObject): duplicated_container.setMetaDataEntry("material", catalog.i18nc("@label", "Custom")) duplicated_container.setName(catalog.i18nc("@label", "Custom Material")) + # Set new material diameter to match the current machine, or it will not be listed + material_diameter = global_stack.getProperty("material_diameter", "value") + properties = duplicated_container.getMetaDataEntry("properties", {}) + properties["diameter"] = str(material_diameter) + duplicated_container.setMetaDataEntry("properties", properties) + duplicated_container.setMetaDataEntry("approximate_diameter", round(material_diameter)) + self._container_registry.addContainer(duplicated_container) return self._getMaterialContainerIdForActiveMachine(new_id)