diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index e90dfd70d3..1dce1039db 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -1387,7 +1387,7 @@ class CuraApplication(QtApplication): if node.callDecoration("isSliceable"): # Only check position if it's not already blatantly obvious that it won't fit. - if node.getBoundingBox().width < self._volume.getBoundingBox().width or node.getBoundingBox().depth < self._volume.getBoundingBox().depth: + if node.getBoundingBox() is None or self._volume.getBoundingBox() is None or node.getBoundingBox().width < self._volume.getBoundingBox().width or node.getBoundingBox().depth < self._volume.getBoundingBox().depth: # Find node location offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(node, min_offset = min_offset) diff --git a/cura/ShapeArray.py b/cura/ShapeArray.py index 73fc2023e3..9232c9f22f 100755 --- a/cura/ShapeArray.py +++ b/cura/ShapeArray.py @@ -43,13 +43,12 @@ class ShapeArray: transform_x = transform._data[0][3] transform_y = transform._data[2][3] hull_verts = node.callDecoration("getConvexHull") + # If a model is too small then it will not contain any points + if hull_verts is None or not hull_verts.getPoints().any(): + return None, None # For one_at_a_time printing you need the convex hull head. hull_head_verts = node.callDecoration("getConvexHullHead") or hull_verts - # If a model is to small then it will not contain any points - if not hull_verts.getPoints().any(): - return None, None - offset_verts = hull_head_verts.getMinkowskiHull(Polygon.approximatedCircle(min_offset)) offset_points = copy.deepcopy(offset_verts._points) # x, y offset_points[:, 0] = numpy.add(offset_points[:, 0], -transform_x)