From 24d9930ce0f4409109a1d98518544a5d8f6d63fa Mon Sep 17 00:00:00 2001 From: Arrel Date: Fri, 4 Jul 2025 22:03:02 +0100 Subject: [PATCH] Enhance repeat_grid function: add spacing parameters for customizable grid spacing --- examples/Repeat Grid.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/examples/Repeat Grid.py b/examples/Repeat Grid.py index f0cb403..3d993f7 100644 --- a/examples/Repeat Grid.py +++ b/examples/Repeat Grid.py @@ -1,20 +1,26 @@ from geometry_script import * @tree("Repeat Grid") -def repeat_grid(geometry: Geometry, columns: Int, rows: Int): +def repeat_grid( + geometry: Geometry, + columns: Int, + rows: Int, + spacing_x: Float = 0.0, + spacing_y: Float = 0.0 +): # measure your geometry’s bounds bbox = geometry.bounding_box() span_x = bbox.max.x - bbox.min.x span_y = bbox.max.y - bbox.min.y # total grid size = N * object size - total_x = columns * span_x - total_y = rows * span_y + total_x = columns * span_x + (columns - 1) * spacing_x + total_y = rows * span_y + (rows - 1) * spacing_y # one extra vertex gives N cells g = grid( size_x=total_x, size_y=total_y, - vertices_x=columns+1, vertices_y=rows+1 + vertices_x=columns + 1, vertices_y=rows + 1 ).mesh.mesh_to_points() return g.instance_on_points(instance=geometry) \ No newline at end of file