Brick design

I think @DanielPiker posted an example with colliding rectangles which should solve this problem but I cannot find it.

I’ve put up a script that iteratively place a square (rounded, if needed) on your curve, and check for next intersection, and go on.
It is probably easy to edit the code to make it work with a rectangle…
Made multithreaded, because why not.
Works only with planar XY curves. It doesn’t consider curve self-intersections.


bricks.gh (34.8 KB)

… sorry I didn’t even download it … I did just go by looking at the pictures… :rofl:

PS it doesn’t seems a really stable “wall” to me :sweat_smile:

I remember it too, but couldn’t find either…

1 Like

1 Like

Two rows - top view with preview disabled in purple group:

Perspective view with purple group enabled:


bricks_two_rows_2023Sep19a.gh (25.1 KB)

Some previous related discussions:

Yes Daniel this was it:

thank you for your time and consideration. but It doesn’t seem follow my concept. I want just one brick in any column. in your script in some columns we have two or three bricks face to face each other.

thank you so much Daniel. but how can I control the space between bricks in your script and also how to define the start point. for example I want the start point of every other rows are placed just half of brick width forward.

thank you. can you help me with the questions which I asked already from Daniel.

To change the start point, extend or trim the curves by half of the brick and the gap.

You can add a gap between the bricks without changing Daniel’s script. You can array an offset outline of the brick with half of the gap added to it then use the flow command to place the original brick in the arrayed outline.

arrayAlongCurve_offset_flow.gh (9.3 KB)

1 Like

Thank you so much martin. that was awesome suggestion. it works for gap. but how can I control the start point? I mean in parametric way

As mentioned above, this is how you can change the start point. Use the Extend Curve component.

yeah I get your point. I meant in parametric way. not by setting a manual curve in rhino.

The Extend Curve component is a Grasshopper component.

thank you for your time. I really appreciate it :handshake:

1 Like

Very nice @martinsiegrist and @DanielPiker. A C# black box wins, I knew it wasn’t simple. :wink:
Not sure how practical it would be to build such a brick wall but that’s another matter, eh.

I applied your code to my test curve from yesterday:


bricks_two_rows_2023Sep20a.gh (22.2 KB)

1 Like

It’s just a loop. Below is a simplified example done with Anemone:

arrayAlongCurve_anemone.gh (29.4 KB)

Looks like R8 planned obsolescence is beginning to take its toll.

missing

Thanks anyway. I can wade through the C# if I really have to - which I don’t. Looks like some of the complexity is to handle lists of curves.

1 Like

I was tired of working with a plugin and when the Grasshopper Rhino components were released I slowly transitioned into Rhino 8…