mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 19:28:07 -06:00
Make sure we do not have a crash when model is very small - CURA-4431
This commit is contained in:
parent
c7ccc3c1b8
commit
216dcd33e0
2 changed files with 8 additions and 0 deletions
|
@ -1359,6 +1359,10 @@ class CuraApplication(QtApplication):
|
|||
# Find node location
|
||||
offset_shape_arr, hull_shape_arr = ShapeArray.fromNode(node, min_offset = min_offset)
|
||||
|
||||
# If a model is to small then it will not contain any points
|
||||
if offset_shape_arr is None and hull_shape_arr is None:
|
||||
return
|
||||
|
||||
# Step is for skipping tests to make it a lot faster. it also makes the outcome somewhat rougher
|
||||
node, _ = arranger.findNodePlacement(node, offset_shape_arr, hull_shape_arr, step = 10)
|
||||
|
||||
|
|
|
@ -46,6 +46,10 @@ class ShapeArray:
|
|||
# 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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue