Check multiple models with non_printing settings

CURA-4703
This commit is contained in:
Aleksei S 2017-12-13 16:04:01 +01:00
parent a44cea7ac6
commit 88af41769e

View file

@ -131,19 +131,19 @@ class StartSliceJob(Job):
Logger.log("w", "No objects suitable for one at a time found, or no correct order found")
else:
temp_list = []
is_non_printing_mesh = False
has_printing_mesh = False
for node in DepthFirstIterator(self._scene.getRoot()):
if type(node) is SceneNode and node.getMeshData() and node.getMeshData().getVertices() is not None:
_non_printing_mesh = getattr(node, "_non_printing_mesh", False)
if not getattr(node, "_outside_buildarea", False) or _non_printing_mesh:
temp_list.append(node)
if _non_printing_mesh:
is_non_printing_mesh = True
if not _non_printing_mesh:
has_printing_mesh = True
Job.yieldThread()
#If list has one node and it has non printing settings then remove it from list
#If the list doesn't have any model with suitable settings then clean the list
# otherwise CuraEngine will crash
if len(temp_list) == 1 and is_non_printing_mesh:
if not has_printing_mesh:
temp_list.clear()
if temp_list: