From 6314d872e17ca71e0837421891bfe6dfd56b1f74 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 30 Mar 2017 16:07:26 +0200 Subject: [PATCH] If we find multiple materials for a new extruder, prefer a read only material CURA-3147 --- cura/Settings/ExtruderManager.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cura/Settings/ExtruderManager.py b/cura/Settings/ExtruderManager.py index f6c1759078..746c70099b 100755 --- a/cura/Settings/ExtruderManager.py +++ b/cura/Settings/ExtruderManager.py @@ -255,7 +255,12 @@ class ExtruderManager(QObject): preferred_materials = container_registry.findInstanceContainers(**search_criteria) if len(preferred_materials) >= 1: - material = preferred_materials[0] + # In some cases we get multiple materials. In that case, prefer materials that are marked as read only. + read_only_preferred_materials = [preferred_material for preferred_material in preferred_materials if preferred_material.isReadOnly()] + if len(read_only_preferred_materials) >= 1: + material = read_only_preferred_materials[0] + else: + material = preferred_materials[0] else: Logger.log("w", "The preferred material \"%s\" of machine %s doesn't exist or is not a material profile.", preferred_material_id, machine_id) # And leave it at the default material.