diff --git a/cura/Machines/MaterialManager.py b/cura/Machines/MaterialManager.py index 664d55a4c1..54216972a4 100644 --- a/cura/Machines/MaterialManager.py +++ b/cura/Machines/MaterialManager.py @@ -256,8 +256,9 @@ class MaterialManager(QObject): material_id_metadata_dict = dict() for node in nodes_to_check: if node is not None: - material_id_metadata_dict = {mid: node for mid, node in node.material_map.items()} - break + for material_id, node in node.material_map.items(): + if material_id not in material_id_metadata_dict: + material_id_metadata_dict[material_id] = node return material_id_metadata_dict diff --git a/cura/Machines/VariantManager.py b/cura/Machines/VariantManager.py index 05ddfe869c..834b47dd0f 100644 --- a/cura/Machines/VariantManager.py +++ b/cura/Machines/VariantManager.py @@ -83,4 +83,4 @@ class VariantManager: def getVariantNodes(self, machine: "GlobalStack", variant_type: Optional[str] = VariantType.NOZZLE) -> dict: machine_definition_id = machine.definition.getId() - return self._machine_to_variant_dict_map[machine_definition_id].get(variant_type, {}) + return self._machine_to_variant_dict_map.get(machine_definition_id, {}).get(variant_type, {})