diff --git a/cura/Arranging/Nest2DArrange.py b/cura/Arranging/Nest2DArrange.py index c66883f3a5..1f75adaff0 100644 --- a/cura/Arranging/Nest2DArrange.py +++ b/cura/Arranging/Nest2DArrange.py @@ -68,7 +68,7 @@ def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildV converted_points.append(Point(point[0] * factor, point[1] * factor)) disallowed_area = Item(converted_points) - disallowed_area.markAsFixedInBin(0) + disallowed_area.markAsDisallowedAreaInBin(0) node_items.append(disallowed_area) num_disallowed_areas_added += 1 @@ -88,9 +88,8 @@ def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildV num_bins = nest(node_items, build_plate_bounding_box, 10000, config) - # Strip the disallowed areas from the results again - if num_disallowed_areas_added != 0: - node_items = node_items[:-num_disallowed_areas_added] + # Strip the fixed items (previously placed) and the disallowed areas from the results again. + node_items = list(filter(lambda item: not item.isFixed(), node_items)) found_solution_for_all = num_bins == 1