How to recreate this mesostructure pattern with Grasshopper

@jeremy5 I just realized that you uploaded a picture, would you mind to share your gh-file of your snake solution?

Okay, I give up for today: I am stuck with my definition producing too many eliments and my computer keeps crushing :frowning:
this is what my definition looks like:
2021_10_28_mesostructuredPatternAKTUELL.gh (13.7 KB)

thanks to everyone who helps and thinks along with my topic

Hi there, the gh file is at the link in blue under the picture.

1 Like

You didnā€™t internalize your geometry.

1 Like

The Cell input to the Rectangular Array takes a rectangle that defines the unit cell (x and y spacing) distance of the array.

You are inputting a grid, so itā€™s multiplying your array elements. If youā€™re creating a 6 X 2 array, instead of producing 12 objects youā€™re producing 144.

You need to replace your Square component (SqGrid) with a Rectangle component.

Edited your file & internalized geometry:
2021_10_28_mesostructuredPatternAKTUELL_re.gh (15.7 KB)

-Kevin

1 Like

Iā€™ve added an array feature to my grasshopper definition. Rather than using a polar array, Iā€™m using a linear array to create a row, rotating every other snake, then arraying the row to get the rectangular form, and rotating all the snakes in every other row to get the correct pattern (the trick being that a rotated snake rotated a second time reverts to its original look).

snake4.gh (36.2 KB)

HTH
Jeremy

3 Likes

Update:
This version with grid, you can use hatch than bake it to Rhino and explode it to surface

Or use Multipipe, faster than surfaces

mesostructure.gh (22.0 KB)

4 Likes

thank you. now i see it :slight_smile:

beautiful solution :slight_smile:

1 Like

oh my god!!! I canā€™t believe this is the solution to my problem from yesterday. thank you sooo much!!! when you know it, it is such a simple little change to the definition!!! but I really couldnā€™t figure it out myself. Thank you.

hey, thank you for posting your solution. I am amazed at just how many solution there are to my ā€œsnakeā€ problem. yours looks really beautiful. I would not even have thought of the pipe-solution. thank you. I am learning so much from all of you more experienced grasshopper users.

1 Like

I love your solution. I will take the time to intensively study it. You used quite a few components I wasnā€™t aware of. This is super interesting for me to see and learn.

1 Like

Hi @user296,

Iā€™ve revisited my solution as there were a few things that werenā€™t quite right.

I had put in code to keep the two ends of each snake within its bounding square, but @anon39580149ā€™s great solution caused me to look more carefully at your original image and I realised this was unnecessary, so Iā€™ve taken it out. Iā€™d also restricted the number of laterals to even numbers to avoid the hassle of ā€œif even do this else do thatā€ elements. I bit the bullet, but rather than using even/odd flags I found an elegant solution. Then there was a problem with the strategy of shortening the lateral lines to bring the offsets within the square: this resulted in poor curves at the first and last bends (and at some thicknesses this pushed the ends just outside the square: I reworked this to move the first and last lateral lines towards the centre of the square instead of shortening them, so that they just allowed two full radius curves, before spreading the internal laterals evenly between them and shortening just enough to bring the offsets inward as before. These adjustments all react to changes in the offset distance (fatness). I added a brep union and a surface merge at the end of the process, but they are behind a data dam to avoid choking the adjustment of the parameters. I considered using multipipe as Seghier suggested, but I felt that the original image shows rectangular sections so I stuck with the breps. Lastly I tidied up the whole model and improved the grouping.

This, then, is a better model to study than the last one. snake6.gh (40.3 KB)

image

Regards
Jeremy

1 Like

Hi @jeremy5
The result of multipipe is Subd , after baking i think we can add edges and make it looks like rectangular shape.
I donā€™t know how to use this in subd but in Blender it is possible and easy.
Also i hope that @DanielPiker add option to output flat subd surface from multipipe, than we can add thickness in Rhino if that available.

2 Likes

Hi @anon39580149,

Unfortunately I donā€™t see any practical way to square the subd at present, particularly as the edge loops that run along the length of the snake are in a diamond formation rather than a square one:

Itā€™s a shame because as you pointed out multipipe is a very efficient solution.

Regards
Jeremy

2 Likes

You can get the base quad mesh from MultiPipe by connecting a Mesh parameter to the output.
For planar curves the sections from MultiPipe are oriented on the diagonal.
Iā€™ll look at adding an option to change this in the component itself, but for now hereā€™s a way you can change the orientation of the section by taking the dual:
squarepipe.gh (8.3 KB)

6 Likes

Check this with flat subd from multipipe

mesostructure_V2.gh (27.2 KB)

3 Likes

Is there a better way to flat multipipe?

2 Likes