mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-19 12:47:49 -06:00
Let getDefaultQualityType use the container tree structure
Contributes to issue CURA-6600.
This commit is contained in:
parent
bee5491879
commit
370d7adcd5
2 changed files with 15 additions and 5 deletions
|
@ -37,6 +37,7 @@ class MachineNode(ContainerNode):
|
||||||
self.quality_definition = my_metadata.get("quality_definition", container_id)
|
self.quality_definition = my_metadata.get("quality_definition", container_id)
|
||||||
self.exclude_materials = my_metadata.get("exclude_materials", [])
|
self.exclude_materials = my_metadata.get("exclude_materials", [])
|
||||||
self.preferred_variant_name = my_metadata.get("preferred_variant_name", "")
|
self.preferred_variant_name = my_metadata.get("preferred_variant_name", "")
|
||||||
|
self.preferred_quality_type = my_metadata.get("preferred_quality_type", "")
|
||||||
|
|
||||||
container_registry.containerAdded.connect(self._variantAdded)
|
container_registry.containerAdded.connect(self._variantAdded)
|
||||||
self._loadAll()
|
self._loadAll()
|
||||||
|
|
|
@ -140,11 +140,20 @@ class QualityManager(QObject):
|
||||||
|
|
||||||
return quality_group_dict
|
return quality_group_dict
|
||||||
|
|
||||||
def getDefaultQualityType(self, machine: "GlobalStack") -> Optional[QualityGroup]:
|
def getDefaultQualityType(self, machine: "GlobalStack") -> QualityGroup:
|
||||||
preferred_quality_type = machine.definition.getMetaDataEntry("preferred_quality_type")
|
machine_node = ContainerTree.getInstance().machines[machine.definition.getId()]
|
||||||
quality_group_dict = self.getQualityGroups(machine)
|
variant_names = []
|
||||||
quality_group = quality_group_dict.get(preferred_quality_type)
|
material_bases = []
|
||||||
return quality_group
|
extruder_enabled = []
|
||||||
|
for extruder in machine.extruders.values():
|
||||||
|
variant_names.append(extruder.variant.getName())
|
||||||
|
material_bases.append(extruder.material.getMetaDataEntry("base_file"))
|
||||||
|
extruder_enabled.append(extruder.isEnabled)
|
||||||
|
quality_groups = machine_node.getQualityGroups(variant_names, material_bases, extruder_enabled)
|
||||||
|
result = quality_groups.get(machine_node.preferred_quality_type)
|
||||||
|
if result is not None:
|
||||||
|
return result
|
||||||
|
return next(iter(quality_groups.values())) # If preferred quality type is not available, pick any quality type.
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue