From b2183352b8b508470482efb829370bec8dc8b8c0 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Fri, 7 Apr 2017 15:19:30 +0200 Subject: [PATCH] Added message if arrange all could not find location for all objects CURA-3239 --- cura/Arrange.py | 2 +- cura/ArrangeObjectsJob.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cura/Arrange.py b/cura/Arrange.py index 2ce9cfe344..5cbd2b25ad 100755 --- a/cura/Arrange.py +++ b/cura/Arrange.py @@ -53,7 +53,7 @@ class Arrange: points = copy.deepcopy(vertices._points) shape_arr = ShapeArray.fromPolygon(points, scale = scale) arranger.place(0, 0, shape_arr) - + # If a build volume was set, add the disallowed areas if Arrange.build_volume: disallowed_areas = Arrange.build_volume.getDisallowedAreas() diff --git a/cura/ArrangeObjectsJob.py b/cura/ArrangeObjectsJob.py index 17bc9b0333..3158fcc887 100755 --- a/cura/ArrangeObjectsJob.py +++ b/cura/ArrangeObjectsJob.py @@ -46,6 +46,7 @@ class ArrangeObjectsJob(Job): last_priority = start_priority last_size = None grouped_operation = GroupedOperation() + found_solution_for_all = True for idx, (size, node, offset_shape_arr, hull_shape_arr) in enumerate(nodes_arr): # For performance reasons, we assume that when a location does not fit, # it will also not fit for the next object (while what can be untrue). @@ -70,6 +71,7 @@ class ArrangeObjectsJob(Job): grouped_operation.addOperation(TranslateOperation(node, Vector(x, center_y, y), set_position = True)) else: Logger.log("d", "Arrange all: could not find spot!") + found_solution_for_all = False grouped_operation.addOperation(TranslateOperation(node, Vector(200, center_y, - idx * 20), set_position = True)) status_message.setProgress((idx + 1) / len(nodes_arr) * 100) @@ -78,3 +80,7 @@ class ArrangeObjectsJob(Job): grouped_operation.push() status_message.hide() + + if not found_solution_for_all: + no_full_solution_message = Message(i18n_catalog.i18nc("@info:status", "Unable to find a location within the build volume for all objects")) + no_full_solution_message.show()