From 23544ad1fefca82aee203acc9c84a2c6fec38fde Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Wed, 30 Aug 2017 14:59:09 +0200 Subject: [PATCH] Only fall back to use fdmprinter when the quality profiles for the current machine cannot be found CURA-4139 UM2 family don't have machine material, but they do have their dedicated profiles. When Cura searches for quality profiles, it should only fall back to use "fdmprinter" as the definition if no quality profile can be found for the current machine. --- cura/QualityManager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura/QualityManager.py b/cura/QualityManager.py index d75d821b46..e92829e546 100644 --- a/cura/QualityManager.py +++ b/cura/QualityManager.py @@ -233,13 +233,16 @@ class QualityManager: filter_by_material = False machine_definition = self.getParentMachineDefinition(machine_definition) + criteria["definition"] = machine_definition.getId() + found_containers_with_machine_definition = ContainerRegistry.getInstance().findInstanceContainers(**criteria) whole_machine_definition = self.getWholeMachineDefinition(machine_definition) if whole_machine_definition.getMetaDataEntry("has_machine_quality"): definition_id = machine_definition.getMetaDataEntry("quality_definition", whole_machine_definition.getId()) criteria["definition"] = definition_id filter_by_material = whole_machine_definition.getMetaDataEntry("has_materials") - else: + # only fall back to "fdmprinter" when there is no container for this machine + elif not found_containers_with_machine_definition: criteria["definition"] = "fdmprinter" # Stick the material IDs in a set