mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 22:47:29 -06:00
Place objects that we couldn't fit next to the buildplate
CURA-7440
This commit is contained in:
parent
b0a8a5ccab
commit
73289b2a77
1 changed files with 11 additions and 6 deletions
|
@ -59,15 +59,20 @@ class ArrangeObjectsJob(Job):
|
|||
config.accuracy = 1.0
|
||||
num_bins = nest(node_items, build_plate_bounding_box, 1, config)
|
||||
found_solution_for_all = num_bins == 1
|
||||
|
||||
not_fit_count = 0
|
||||
grouped_operation = GroupedOperation()
|
||||
for node, node_item in zip(self._nodes, node_items):
|
||||
if node_item.binId() == 0:
|
||||
# We found a spot for it
|
||||
rotation_matrix = Matrix()
|
||||
rotation_matrix.setByRotationAxis(node_item.rotation(),Vector(0, -1, 0))
|
||||
|
||||
grouped_operation.addOperation(RotateOperation(node, Quaternion.fromMatrix(rotation_matrix)))
|
||||
grouped_operation.addOperation(TranslateOperation(node, Vector(node_item.translation().x() / factor, 0, node_item.translation().y() / factor)))
|
||||
|
||||
else:
|
||||
# We didn't find a spot
|
||||
grouped_operation.addOperation(TranslateOperation(node, Vector(200, 0, -not_fit_count * 20), set_position=True))
|
||||
not_fit_count += 1
|
||||
grouped_operation.push()
|
||||
|
||||
status_message.hide()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue