mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Use GlobalStack.extrudersList instead of GlobalStack.extruders to iterate
Otherwise the iteration can happen in any arbitrary order (due to the dict) and this can cause the result to not match to the desired combination of configurations per extruder. Contributes to issue CURA-6600.
This commit is contained in:
parent
4bdc819f12
commit
8bcd9b339a
3 changed files with 12 additions and 12 deletions
|
@ -69,9 +69,9 @@ class ContainerTree:
|
|||
global_stack = cura.CuraApplication.CuraApplication.getInstance().getGlobalContainerStack()
|
||||
if global_stack is None:
|
||||
return []
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()]
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extrudersList]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extrudersList]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extrudersList]
|
||||
return self.machines[global_stack.definition.getId()].getQualityChangesGroups(variant_names, material_bases, extruder_enabled)
|
||||
|
||||
## Builds the initial container tree.
|
||||
|
|
|
@ -77,9 +77,9 @@ class QualityManager(QObject):
|
|||
|
||||
# Returns a dict of "custom profile name" -> QualityChangesGroup
|
||||
def getQualityChangesGroups(self, machine: "GlobalStack") -> List[QualityChangesGroup]:
|
||||
variant_names = [extruder.variant.getName() for extruder in machine.extruders.values()]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in machine.extruders.values()]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in machine.extruders.values()]
|
||||
variant_names = [extruder.variant.getName() for extruder in machine.extrudersList]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in machine.extrudersList]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in machine.extrudersList]
|
||||
machine_node = ContainerTree.getInstance().machines[machine.definition.getId()]
|
||||
return machine_node.getQualityChangesGroups(variant_names, material_bases, extruder_enabled)
|
||||
|
||||
|
@ -92,9 +92,9 @@ class QualityManager(QObject):
|
|||
# for those types as values.
|
||||
def getQualityGroups(self, global_stack: "GlobalStack") -> Dict[str, QualityGroup]:
|
||||
# Gather up the variant names and material base files for each extruder.
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()]
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extrudersList]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extrudersList]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extrudersList]
|
||||
definition_id = global_stack.definition.getId()
|
||||
return ContainerTree.getInstance().machines[definition_id].getQualityGroups(variant_names, material_bases, extruder_enabled)
|
||||
|
||||
|
|
|
@ -368,9 +368,9 @@ class Toolbox(QObject, Extension):
|
|||
default_material_node = material_manager.getDefaultMaterial(global_stack, extruder_nr, global_stack.extruders[extruder_nr].variant.getName())
|
||||
machine_manager.setMaterial(extruder_nr, default_material_node, global_stack = global_stack)
|
||||
for global_stack, extruder_nr, container_id in self._package_used_qualities:
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extruders.values()]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extruders.values()]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extruders.values()]
|
||||
variant_names = [extruder.variant.getName() for extruder in global_stack.extrudersList]
|
||||
material_bases = [extruder.material.getMetaDataEntry("base_file") for extruder in global_stack.extrudersList]
|
||||
extruder_enabled = [extruder.isEnabled for extruder in global_stack.extrudersList]
|
||||
definition_id = global_stack.definition.getId()
|
||||
machine_node = container_tree.machines[definition_id]
|
||||
default_quality_group = machine_node.getQualityGroups(variant_names, material_bases, extruder_enabled)[machine_node.preferred_quality_type]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue