mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Always use extruder stack when updating material diameter - CURA-4482
This commit is contained in:
parent
b8757b46b3
commit
cc6be48a79
1 changed files with 6 additions and 12 deletions
|
@ -284,16 +284,13 @@ class MachineSettingsAction(MachineAction):
|
||||||
if not self._global_container_stack.getMetaDataEntry("has_materials", False):
|
if not self._global_container_stack.getMetaDataEntry("has_materials", False):
|
||||||
return
|
return
|
||||||
|
|
||||||
machine_extruder_count = self._global_container_stack.getProperty("machine_extruder_count", "value")
|
material = ExtruderManager.getInstance().getActiveExtruderStack().material
|
||||||
if machine_extruder_count > 1:
|
|
||||||
material = ExtruderManager.getInstance().getActiveExtruderStack().material
|
|
||||||
else:
|
|
||||||
material = self._global_container_stack.material
|
|
||||||
material_diameter = material.getProperty("material_diameter", "value")
|
material_diameter = material.getProperty("material_diameter", "value")
|
||||||
if not material_diameter: # in case of "empty" material
|
if not material_diameter:
|
||||||
|
# in case of "empty" material
|
||||||
material_diameter = 0
|
material_diameter = 0
|
||||||
material_approximate_diameter = str(round(material_diameter))
|
|
||||||
|
|
||||||
|
material_approximate_diameter = str(round(material_diameter))
|
||||||
definition_changes = self._global_container_stack.definitionChanges
|
definition_changes = self._global_container_stack.definitionChanges
|
||||||
machine_diameter = definition_changes.getProperty("material_diameter", "value")
|
machine_diameter = definition_changes.getProperty("material_diameter", "value")
|
||||||
if not machine_diameter:
|
if not machine_diameter:
|
||||||
|
@ -303,10 +300,7 @@ class MachineSettingsAction(MachineAction):
|
||||||
if material_approximate_diameter != machine_approximate_diameter:
|
if material_approximate_diameter != machine_approximate_diameter:
|
||||||
Logger.log("i", "The the currently active material(s) do not match the diameter set for the printer. Finding alternatives.")
|
Logger.log("i", "The the currently active material(s) do not match the diameter set for the printer. Finding alternatives.")
|
||||||
|
|
||||||
if machine_extruder_count > 1:
|
stacks = ExtruderManager.getInstance().getExtruderStacks()
|
||||||
stacks = ExtruderManager.getInstance().getExtruderStacks()
|
|
||||||
else:
|
|
||||||
stacks = [self._global_container_stack]
|
|
||||||
|
|
||||||
if self._global_container_stack.getMetaDataEntry("has_machine_materials", False):
|
if self._global_container_stack.getMetaDataEntry("has_machine_materials", False):
|
||||||
materials_definition = self._global_container_stack.definition.getId()
|
materials_definition = self._global_container_stack.definition.getId()
|
||||||
|
@ -347,7 +341,7 @@ class MachineSettingsAction(MachineAction):
|
||||||
search_criteria["id"] = stack.getMetaDataEntry("preferred_material")
|
search_criteria["id"] = stack.getMetaDataEntry("preferred_material")
|
||||||
materials = self._container_registry.findInstanceContainers(**search_criteria)
|
materials = self._container_registry.findInstanceContainers(**search_criteria)
|
||||||
if not materials:
|
if not materials:
|
||||||
# Preferrd material with new diameter is not found, search for any material
|
# Preferred material with new diameter is not found, search for any material
|
||||||
search_criteria.pop("id", None)
|
search_criteria.pop("id", None)
|
||||||
materials = self._container_registry.findInstanceContainers(**search_criteria)
|
materials = self._container_registry.findInstanceContainers(**search_criteria)
|
||||||
if not materials:
|
if not materials:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue