Help: streamline brick wall creation

For a project, I need to make this architectural precedent in Grasshopper. I have made progress in correctly orienting the rectangular bricks along the curve in the proper pattern. However, the number of bricks decreases on each corner as it goes up. I have really struggled with this. I’ve tried obtaining the centroids of each brick and setting up a greater-than evaluation with a graph mapper curve that determines whether the centroid is above the curve, in which case it should be removed, or below, in which case it should be kept. However, this approach isn’t working as expected. Any help would be greatly appreciated, particularly with the last part of this process, but also if there are any ways to streamline the creation of the brick wall, that would be great too. I am very new to Grasshopper, so this has been quite the challenge.

Please Help Me.gh (16.5 KB)

Internalise your data

Please Help Me a.gh (23.3 KB)

muro.gh (60.3 KB)

this is a bit simplified, many things could be improved… for instance the top right part of the definition where it uses Curve Closest Point to retrieve again the very same tangent vectors we already got at the beginning… meh, just a sketch to be “solidified” :slight_smile: (for instance the Overlapping value is sort of measured on brick lengths along their center line… so it’s not going to be the real overlapping amount unless they are on a stright line)

Checkboard_straight_brick_wall.gh (21.3 KB)

[edit] as stupid and phylosophic as it might sound, I like this version much more :slight_smile:

Checkboard_straight_brick_wall_2.gh (19.4 KB)

1 Like

I implemented a very similar method in Dynamo a few years ago. The trouble with orienting at brick centres is that tight curves can cause the overlaps to come undone:

To fix this, we need to treat the bricks like train cars, fixed to the track at (or near) their ends. I’ve edited your definition here to make planes from pairs of points, and shifted the brick generation to be centred on one end.

Checkboard_straight_brick_wall_train.gh (15.0 KB)

2 Likes

Actually, this is a better way. Only generates the planes we need and doesn’t break if the tree depth changes.

(It would be nice if we could use an index-only offset for Relative Item, or just put {*} at the front)

Checkboard_straight_brick_wall_train2.gh (17.3 KB)

2 Likes