From 76b58134aefd411e00145b75089e7f6928fc15b2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 19 Aug 2019 11:07:35 +0200 Subject: [PATCH] Fix getRootMaterialIdForDiameter CURA-6600 --- cura/Machines/MaterialManager.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 973b47fce8..09416d1704 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -87,7 +87,15 @@ class MaterialManager(QObject): return self._material_group_map.get(root_material_id) def getRootMaterialIDForDiameter(self, root_material_id: str, approximate_diameter: str) -> str: - return self._material_diameter_map.get(root_material_id, {}).get(approximate_diameter, root_material_id) + original_material = CuraContainerRegistry.getInstance().findInstanceContainersMetadata(id=root_material_id)[0] + if original_material["approximate_diameter"] == approximate_diameter: + return root_material_id + + matching_materials = CuraContainerRegistry.getInstance().findInstanceContainersMetadata(type = "material", brand = original_material["brand"], definition = original_material["definition"], material = original_material["material"], color_name = original_material["color_name"]) + for material in matching_materials: + if material["approximate_diameter"] == approximate_diameter: + return material["id"] + return root_material_id def getRootMaterialIDWithoutDiameter(self, root_material_id: str) -> str: return self._diameter_material_map.get(root_material_id, "")