Do not add extruder stacks for single-extrusion machines

CURA-4167

In the current architecture, single-extrusion machines don't have
extruder stacks.
This commit is contained in:
Lipu Fei 2017-08-15 14:13:59 +02:00
parent 3110349f5e
commit e67286c0d8

View file

@ -61,6 +61,12 @@ class GlobalStack(CuraContainerStack):
# already have the maximum number of extruders. # already have the maximum number of extruders.
def addExtruder(self, extruder: ContainerStack) -> None: def addExtruder(self, extruder: ContainerStack) -> None:
extruder_count = self.getProperty("machine_extruder_count", "value") extruder_count = self.getProperty("machine_extruder_count", "value")
if extruder_count <= 1:
Logger.log("i", "Not adding extruder[%s] to [%s] because it is a single-extrusion machine.",
extruder.id, self.id)
return
if extruder_count and len(self._extruders) + 1 > extruder_count: if extruder_count and len(self._extruders) + 1 > extruder_count:
Logger.log("w", "Adding extruder {meta} to {id} but its extruder count is {count}".format(id = self.id, count = extruder_count, meta = str(extruder.getMetaData()))) Logger.log("w", "Adding extruder {meta} to {id} but its extruder count is {count}".format(id = self.id, count = extruder_count, meta = str(extruder.getMetaData())))
return return
@ -73,7 +79,9 @@ class GlobalStack(CuraContainerStack):
if any(item.getId() == extruder.id for item in self._extruders.values()): if any(item.getId() == extruder.id for item in self._extruders.values()):
Logger.log("w", "Extruder [%s] has already been added to this stack [%s]", extruder.id, self._id) Logger.log("w", "Extruder [%s] has already been added to this stack [%s]", extruder.id, self._id)
return return
self._extruders[position] = extruder self._extruders[position] = extruder
Logger.log("i", "Extruder[%s] added to [%s] at position [%s]", extruder.id, self.id, position)
## Overridden from ContainerStack ## Overridden from ContainerStack
# #