diff --git a/cura/Arrange.py b/cura/Arrange.py index e5cb66ee63..148661c45b 100755 --- a/cura/Arrange.py +++ b/cura/Arrange.py @@ -72,7 +72,7 @@ class Arrange: self.place(x, y, hull_shape_arr) # take place before the next one else: Logger.log("d", "Could not find spot!") - new_node.setPosition(Vector(200, 0, 100 + i * 20)) + new_node.setPosition(Vector(200, 0, 100 - i * 20)) nodes.append(new_node) return nodes diff --git a/cura/ArrangeObjectsJob.py b/cura/ArrangeObjectsJob.py old mode 100644 new mode 100755 index 43f2afa774..746914ea6a --- a/cura/ArrangeObjectsJob.py +++ b/cura/ArrangeObjectsJob.py @@ -6,6 +6,7 @@ from UM.Scene.SceneNode import SceneNode from UM.Math.Vector import Vector from UM.Operations.SetTransformOperation import SetTransformOperation from UM.Operations.GroupedOperation import GroupedOperation +from UM.Logger import Logger from UM.Message import Message from UM.i18n import i18nCatalog i18n_catalog = i18nCatalog("cura") @@ -54,20 +55,25 @@ class ArrangeObjectsJob(Job): start_priority = 0 best_spot = arranger.bestSpot(offset_shape_arr, start_prio=start_priority, step=10) x, y = best_spot.x, best_spot.y - last_size = size - last_priority = best_spot.priority + node.removeDecorator(ZOffsetDecorator) + if node.getBoundingBox(): + center_y = node.getWorldPosition().y - node.getBoundingBox().bottom + else: + center_y = 0 if x is not None: # We could find a place + last_size = size + last_priority = best_spot.priority + arranger.place(x, y, hull_shape_arr) # take place before the next one - node.removeDecorator(ZOffsetDecorator) - if node.getBoundingBox(): - center_y = node.getWorldPosition().y - node.getBoundingBox().bottom - else: - center_y = 0 grouped_operation.addOperation(SetTransformOperation(node, Vector(x, center_y, y))) + else: + Logger.log("d", "Arrange all: could not find spot!") + grouped_operation.addOperation(SetTransformOperation(node, Vector(200, center_y, - idx * 20))) status_message.setProgress((idx + 1) / len(nodes_arr) * 100) Job.yieldThread() grouped_operation.push() - status_message.hide() \ No newline at end of file + + status_message.hide()