mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 09:59:00 +08:00
Get material IDs from correct definition id if quality_definition
For printers with a quality_definition, such as UM2E+, the material ID needs to be taken for the definition ID specified in the quality_definition metadata field. The self.activeQualityDefinitionId takes care of that, even though it is named wrong (as it applies to materials as well as quality profiles). Contributes to issue CURA-2600.
This commit is contained in:
parent
7914e90702
commit
d9b428e6c8
@ -134,7 +134,7 @@ class MachineManager(QObject):
|
|||||||
|
|
||||||
definition_id = "fdmprinter"
|
definition_id = "fdmprinter"
|
||||||
if self._global_container_stack.getMetaDataEntry("has_machine_materials", False):
|
if self._global_container_stack.getMetaDataEntry("has_machine_materials", False):
|
||||||
definition_id = self._global_container_stack.getBottom().getId()
|
definition_id = self.activeQualityDefinitionId
|
||||||
extruder_manager = ExtruderManager.getInstance()
|
extruder_manager = ExtruderManager.getInstance()
|
||||||
containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(type = "material", definition = definition_id, GUID = material_id)
|
containers = UM.Settings.ContainerRegistry.getInstance().findInstanceContainers(type = "material", definition = definition_id, GUID = material_id)
|
||||||
if containers: # New material ID is known
|
if containers: # New material ID is known
|
||||||
@ -145,7 +145,7 @@ class MachineManager(QObject):
|
|||||||
matching_extruder = extruder
|
matching_extruder = extruder
|
||||||
break
|
break
|
||||||
|
|
||||||
if matching_extruder and matching_extruder.findContainer({"type":"material"}).getMetaDataEntry("GUID") != material_id:
|
if matching_extruder and matching_extruder.findContainer({"type": "material"}).getMetaDataEntry("GUID") != material_id:
|
||||||
# Save the material that needs to be changed. Multiple changes will be handled by the callback.
|
# Save the material that needs to be changed. Multiple changes will be handled by the callback.
|
||||||
self._auto_materials_changed[str(index)] = containers[0].getId()
|
self._auto_materials_changed[str(index)] = containers[0].getId()
|
||||||
self._printer_output_devices[0].materialHotendChangedMessage(self._materialHotendChangedCallback)
|
self._printer_output_devices[0].materialHotendChangedMessage(self._materialHotendChangedCallback)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user