Enhance repeat_grid function: add spacing parameters for customizable grid spacing

main
Arrel 2025-07-04 22:03:02 +01:00 zatwierdzone przez Carson Katri
rodzic 08c3cd5d67
commit 24d9930ce0
1 zmienionych plików z 10 dodań i 4 usunięć

Wyświetl plik

@ -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 geometrys 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)