mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-12 02:19:04 +08:00
Take in account extruders that haven't been loaded yet
CURA-5751
This commit is contained in:
parent
8837ffc06d
commit
91bcfb9445
@ -357,8 +357,19 @@ class ExtruderManager(QObject):
|
|||||||
# After 3.4, all single-extrusion machines have their own extruder definition files instead of reusing
|
# After 3.4, all single-extrusion machines have their own extruder definition files instead of reusing
|
||||||
# "fdmextruder". We need to check a machine here so its extruder definition is correct according to this.
|
# "fdmextruder". We need to check a machine here so its extruder definition is correct according to this.
|
||||||
def _fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None:
|
def _fixSingleExtrusionMachineExtruderDefinition(self, global_stack: "GlobalStack") -> None:
|
||||||
|
container_registry = ContainerRegistry.getInstance()
|
||||||
expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"]
|
expected_extruder_definition_0_id = global_stack.getMetaDataEntry("machine_extruder_trains")["0"]
|
||||||
extruder_stack_0 = global_stack.extruders.get("0")
|
extruder_stack_0 = global_stack.extruders.get("0")
|
||||||
|
# At this point, extruder stacks for this machine may not have been loaded yet. In this case, need to look in
|
||||||
|
# the container registry as well.
|
||||||
|
if not global_stack.extruders:
|
||||||
|
extruder_trains = container_registry.findContainerStacks(type = "extruder_train",
|
||||||
|
machine = global_stack.getId())
|
||||||
|
if extruder_trains:
|
||||||
|
for extruder in extruder_trains:
|
||||||
|
if extruder.getMetaDataEntry("position") == "0":
|
||||||
|
extruder_stack_0 = extruder
|
||||||
|
break
|
||||||
|
|
||||||
if extruder_stack_0 is None:
|
if extruder_stack_0 is None:
|
||||||
Logger.log("i", "No extruder stack for global stack [%s], create one", global_stack.getId())
|
Logger.log("i", "No extruder stack for global stack [%s], create one", global_stack.getId())
|
||||||
@ -369,7 +380,6 @@ class ExtruderManager(QObject):
|
|||||||
elif extruder_stack_0.definition.getId() != expected_extruder_definition_0_id:
|
elif extruder_stack_0.definition.getId() != expected_extruder_definition_0_id:
|
||||||
Logger.log("e", "Single extruder printer [{printer}] expected extruder [{expected}], but got [{got}]. I'm making it [{expected}].".format(
|
Logger.log("e", "Single extruder printer [{printer}] expected extruder [{expected}], but got [{got}]. I'm making it [{expected}].".format(
|
||||||
printer = global_stack.getId(), expected = expected_extruder_definition_0_id, got = extruder_stack_0.definition.getId()))
|
printer = global_stack.getId(), expected = expected_extruder_definition_0_id, got = extruder_stack_0.definition.getId()))
|
||||||
container_registry = ContainerRegistry.getInstance()
|
|
||||||
extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0]
|
extruder_definition = container_registry.findDefinitionContainers(id = expected_extruder_definition_0_id)[0]
|
||||||
extruder_stack_0.definition = extruder_definition
|
extruder_stack_0.definition = extruder_definition
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user