How to recreate this mesostructure pattern with Grasshopper

I am trying my hand at creating a definition to create a mesostructure pattern I found online.

I know that the best way will be to start with a basic square grid from the vectors section. I know how to define the size for the grid … and that at the end I will need “polar array” to rotate the basic pattern 4 times around the center to get the full pattern. However the steps in between are too difficult for me to figure out.

Just to be clear: I am only trying to make one of these “snakes”:

Any ideas on how to create this snake like shape with a grasshopper definition? I am happy to try out anything at this point :slight_smile: :sweat_smile: :sweat_smile: :sweat_smile:

thanks in advance

Joined 54 mins ago

Seems to be a rash of newcomers to the forum who ask without trying and without reading this:

no worries, I tried all day to do this myself. Posting my question here is the last idea i had to solve it.

So here are screen shots of what I tried, unfortunately it did not work out. I am sure about the beginning: defining the square grid and that i want to polar array the “snake” at the end…the middle part is an attempt of what I thought might work… but it looks nothing like the pattern I wanted to make.
Would be great if you could help me better based on the screenshots @joseph_oster

No way! If you had posted code, maybe, but recreating code from screenshots is not gonna happen. (21.1 KB)

maybe this helps to help @joseph_oster


May I ask: Do you need to define the “snake” parametrically or could you just draw it in Rhino? The latter seems simpler and quicker, and that is often the sensible way to arrive at a solution. Of course, if you are doing it for the challenge I quite understand and wish you luck. In that case you might like to search the forum for threads by @laurent_delrieu who has done a lot of work that may be related to what you want. Even if you find nothing pertinent, I guarantee that it will be educational.


@jeremy5 thank you for your reply. I was trying to do the snake with grasshopper as a project to better understand grasshopper. I thought it might be a good starter project after watching a few tutorials how othr ppl made designs from scratch… but maybe it is way more difficult than I thought. I might really end up making it in Rhino. Thank you

You might want to consider starting with a “snake” rotated 45 degrees, so the movement is up and down.

1 Like

Hi Jeremy
Thanks for quoting me but I don’t remember doing something like that so I began working on this subject. But I try to be more generic and to apply it to a mesh. So still work to do…
@user290 when advices or link are given try to follow them. Whatever the question is it is always difficult to try to answer to someone who seems to have done no efforts. We now understand you have done work but that wasn’t clear on your first post.


@laurent_delrieu thank you for your reply and for trying to help me on my problem with the snake. I will look into the other topics you posted just as jeremy5 said. Excited to learn from you. Thank you

Are you both user290 and user296?

I knew something was fishy about all these new ‘userNNN’ threads…

good morning @laurent_delrieu
with your experience in grasshopper: do you think the pattern I was trying to rebuild yesterday is a doable project or did I simply pick the wrong pattern due to my lack of experience?
I am wondering if it is maybe a pattern too difficult to make in grasshopper?
Thanks for your input and your help.

@laurent_delrieu I am sorry for now “suddenly” being user 296. but somehow I got locked off last night and was inable to sign in again with my account. still the same person with the same question :slight_smile:

Hi everyone,
thank you all for your advice. I think I made something similar to what I wanted to make yesterday, now and I thought, I’d share it with you: (11.1 KB)
and this is what it looks like in rhino:

2021_10_27_mesostructuredPattern.3dm (2.5 MB)

Following the advice given by @jeremy5 I made the snake in rhino which was super simply there…and…well I guess impossible in grasshopper at least with my knowledge.

Since I want to gain a better understanding of grasshopper, I then put my “snake-curve” into grasshopper and made a scalable pattern with it. As a basis I used the square grid from the vectors section.
I looked at a few different grids from the vectors-section and I wondered: what if you want to make a pattern for an irregular shape? I would love to try it out with a sewing pattern, maybe for a t-shirt. I can see how I make a large sample of the pattern I just created (high x/y-values for the grid structure), then bake it to rhino where I could use the edges of the sewing pattern to trim the large pattern that I baked …but is there a way to design directly into an irregular shape in grasshopper? I imagine it would be nice if this was possible and the pattern could somehow adapt to the irregular edges so that I would not need to worry that edges are open, but that all edges would be the full-patterns edges.

if you have some thoughts on this, I am happy for anyone who wants to think along. best wishes and thanks again for your input.
@laurent_delrieu did you already find a grasshopper solution for creating the snake?

snake_box_2021Oct27a2 (21.9 KB)


@Joseph, woww!!! this is amazing…and WAY more complex than I thought it would be when I started out trying to do my little snake curve. There are several parameters I have never used before. But I will try to understand them as I rebuild your solution. Thank you!!
Was it very difficult for you to make this definition?

Why rebuild it? More efficient to just study it, enabling/disabling previews or using the feature to “Only draw preview geometry for selected objects”. I frequently use temporary text panels to see the data tree structure at every step.


Hi @user296 / @user290

Just to demonstrate that there is more than one way to skin a cat… (41.0 KB)


good idea, I didn’t think about that. I will try this out.

thank you for your solution. I will definitely study it. Especially, since I found out that my solution from yesterday did not work so well…the polar array command somehow creates all the snakes that I need to fill my grid (which is good), but it creates way more snakes than needed (not good). some are lying on top of each other (not good), although none outside of the grid (which is good). somehow my polar array module does not want to take the cell centroids as an input to then do the polar array around each cell centroid. any idea why that might be a problem?

@Joseph_Oster or maybe you know why my solution is not working so well?