Partitioning list with a specific pattern

Hi! I am rather inexperienced with GH, nevertheless, I am working on a parametric facade with a sort of fish scale pattern. I believe I am on the right track with the script and now I think I need to partition my list of points following a specific pattern so that I can interpolate the vertices and this is where I am stuck. I would like to achieve the following:

So basically the 1st item from the 0 sublist + 1st item of the 1 sublist + 2nd item of the 0 sublist, then 2nd item from the 0 sublist + 2nd item of the 1 sublist + 3rd item of the 0 sublist and so on.

Any suggestions?

Many thanks in advance!

fishscale (28.1 KB)

fishscale pattern (41.1 KB)
Hi Krisztian,
Try out this solution, it may do what you need.

1 Like

Thanks! However, this does not seem to be what I need. If I interpolate the list of vertices as per your solution, it would result as per the below image. Maybe it’s just the matter of some list operations, from your solution, but I couldn’t figure it out. The way I would need my list to look like so that I can interpolate is as per the red markups in the image.

Any idea?

Much appreciated!

I do not have the addons you are using, so probably it is affecting my results versus yours. Are you able to internalise your data at the component circled in red, at a point after all the custom addon components? And then please upload that gh file.

This is what i am getting on the drawing I used.
Screenshot 2024-01-28 143910

Screenshot 2024-01-28 143931

1 Like

I doubt that it is about the addons, I have only the basic ones (binoculars, lunchbox, pufferfish, kangaroo, etc) and I was not using them on this script. It is rather that I am not explaining very well what I am trying to achieve :sweat_smile:

So, I need to reorganize the list to look as per this sketch. If the points are listed in such a matrix, then I would be able to do the interpolation to achieve the fish-scale pattern.

fishscale pattern (45.5 KB)

Many thanks for your time and patience!

I edited the code to bypass the components you used from plugins.
Also, consider Sunglasses | Food4Rhino instead of bifocals. Much better, and it doesn’t fill your gh file with invisible groups…

fishscale (33.8 KB)


It doesn’t matter how basic you think they are, we don’t all have them. You did use Rich Graph Mapper on this code, probably to get the increased radius on the middle circles. @maje90 replaced that with the standard Graph Mapper but don’t expect everyone to go to that much trouble.

Way down on the canvas you used plugins that trigger warning messages when the file is opened.

Oh, you are right, I forgot about that one! Thanks for the observation!

Internalizing the circles after Move, as @daniMunthali asked, would be the way to post a simplified file that doesn’t need plugins. Believe me, it’s a better way than expecting everyone to have the plugins you use.

1 Like

I am with you - I didn’t quite understand what he meant by ‘internalizing the circles’. Now I get it, next time I will make sure to simplify the script. Thanks for each of you @daniMunthali @maje90 @Joseph_Oster!

1 Like

fishscale pattern (35.6 KB)

I see that the overall cylinder shape is split into segments/arcs, I hope that is on purpose because I integrated that, but anyway the segments can be removed with the slider you placed. @maje90 has a very elegant solution if you do not need the segments.

Screenshot 2024-01-28 183645

1 Like

I’m late to the party, but here’s an alternate solution: (16.3 KB)



Not too late, it helped me a lot in the next step! Much appreciated!

I assume some sort of Surfaces. If so … see attached (Use it just for fun: not suitable for you since it’s pure code … but was an already existed thing anyway).

That said avoid the BrepFace offset (i.e. Thicken if T != 0) option: very slow and rather faulty. (133.5 KB)

I made in Nautilus a tool to make arcs using a polyline as departure. It will not be too useful here for you as the logic is quite different. But I also made 2 little tools to transform these arcs to surface.

Tools are in Nautilus plugin and examples are named

1 Like

Yes indeed! I am trying to build the parametric model of an image I generated in Midjourney.

The way I broke it down, was that first I create the pattern that resembles the fishscales. Once I have the grid, I create the ‘balcony voids’ by scaling down the individual curve loops then loft them together.

I got stuck again, my idea was to create the origin (midpoint) and associated planes for the Scale node, but I am unable to join the curves, create a surface from the loop and then the scaling.

Anybody has suggestions?

I hope this one is free from custom nodes:
pineapple (30.1 KB)

For that kind of thing (and speaking having some rational AEC approach in mind) you’ll need “sheet metal” (or plastic) pieces/stuff “like”:

Yes, and these pieces are nicely modular (same pieces by row/floor level). However, at this point I am not looking into that level of detail, rather translating the concept into a parametric model. Also rationalizing, besides the inaccuracies of the AI image, the building volume itself would be round, not rectangle like in the image.

A piece of advise:

In AEC there’s 2 ways to cut the mustard: the old one (in fact neolithic) is top to bottom. Meaning: I have an idea, I do some concept … and then I cross fingers (for the obvious). The other is bottom to top. Meaning that before designing the engine I fully control the pistons/rods, the cams/timing chains, the valves … blah, blah.

Be very carefull what path to choose : when you’ll become a pro (at some point in the future) you may (or may not) pay a very heavy price.

Wow, not quite sure what you mean :sweat_smile: