From f30bfafd4d468cb992f19da04fe2a33f870ea3ef Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Fri, 8 Jul 2016 13:58:56 +0200 Subject: [PATCH] Select a material for the extruder that is intended for the correct machine CURA-1878 --- cura/Settings/ExtruderManager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index e937714d85..6c856a4605 100644 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -169,7 +169,16 @@ class ExtruderManager(QObject): material = materials[0] preferred_material_id = machine_definition.getMetaDataEntry("preferred_material") if preferred_material_id: - preferred_materials = container_registry.findInstanceContainers(id = preferred_material_id, type = "material") + search_criteria = { "type": "material", "id": preferred_material_id} + if machine_definition.getMetaDataEntry("has_machine_materials"): + search_criteria["definition"] = machine_definition.id + + if machine_definition.getMetaDataEntry("has_variants") and variant: + search_criteria["variant"] = variant.id + else: + search_criteria["definition"] = "fdmprinter" + + preferred_materials = container_registry.findInstanceContainers(**search_criteria) if len(preferred_materials) >= 1: material = preferred_materials[0] else: