Triangular and hexagonal grids

Hi all, I want to make a hexagonal panels as a kinetic facade on a curve surface, in such a way that half hexagonal panels would rotate on the triangular axis (I add photos for better understanding). I can do it for just one triangular panel, could you please help me?


Mybe you must (graft + PartitionList Input) for each item to rotate (betters to people help you if send *.gh )

Thanks for replying but that doesn’t works :frowning:

As @Rh-3d-p said. Sharing your grasshopper definition can help us helping you (15.5 KB)


Hi everyone,

Is there a way of doing the inverse process, convert a mesh made by hexagons and triangles (picture shown by @Mahdiyar) into a mesh made only by triangles?

Sometimes I received and input like this and I was struggiling how to do that!


Thanks a lot dear Mahdiyar, I’ve tried this one with Weaverbird’s component, just unfortunately it divides the hexagon into 6 parts, what I want is dividing the hexagon into 2 parts (one part in one triangle and the other in next triangle), is there a way to do such model?

I’m not sure if I understand what you are trying to do. I try to mimic what you were showing in this screenshot: (12.1 KB)

I want this one, but in here I’ve just copied the first triangle, I could not manage it in a triangular grids

As the pattern is the same in alternating triangles, you could use Checkerboard to assign them like this: (17.0 KB)

1 Like

You can use half hexagon and transformations. (16.2 KB)


thanks a lot Daniel, it seems it works on a curved surface, just when I rotate them the whole hexagon rotates, I tried dispatch but in that case they don’t rotate on the triangle axis’s

thanks a lottt

The direction of rotation depends on the direction of the edge.
Because that definition generates the 2 types of panel by reversing the direction of the triangle, the panel opening angle for these also needs to be reversed.
The definition I posted above already takes that into account though.

Does the input mesh you are using have consistent normals?
You may just need to pass your mesh through UnifyNormals first. (17.0 KB)


Dear Daniel could you please check my file? I can’t unify the normal vectors of panels and because of that the rotation part is not true
hexagonal (24.8 KB)

I can’t unify mesh normals in just one direction, I want to use an attractor