Convert quad mesh into alternating convex and concave hexagons rows

Hello everyone,

I have a quad mesh through a form finding process in RhinoVault2, which is a freeform shell. So far I have used the quadmesh to create a flat brick pavilion like the Armadillo Vault from Block. I used the following tutorial for this:

Now, for assembly reasons, I want a tessellation of alternating rows of concave and convex hexagons (see picture).

My approach was to subdivide the quad meshes and then move two of the resulting vertices. However, I don’t know how to move the vertices. Also, I’m not sure if I can planarize the hexagons like my quadmeshes. If not, it would also be possible to divide them into triangles, like the white lines in the picture if there is a need to do so. (245.1 KB)


If anyone knows a solution, I would appreciate help.


Whoa! Too bad, especially since I can find my way though to see geometry. Always confusing to find “Don’t draw any preview geometry”… And Data Dams set to “Never”.

Hey Joseph,

sorry this is the first time I’ve posted something here. I thought about removing the data dams, but without them the file is a bit heavy, at least for my computer.

I need the plugins for my script, should I have linked them?

The concave and convex hexagons, do both of them need to be planar?

Not mandatory at first, in my script the quad faces are not planar at first either, but then become planar through the “Projects Pairs” component of the Ngon plugin. I assume it should work similarly with hexagons.

It is often better to set Data Dams to 10 seconds instead of “Never” but there is no rule.

Part of your script is creating an offset (thickened) mesh. I would save that part until after you solve the alternating concave and convex hexagonal faces.

This is a failed effort, I should be embarrassed and not post it but oh well…

Interesting that looking at only half the branches shows the pattern you want, sort of. (249.8 KB)

Before I added the purple group to separate vertical and horizontal segments (which only partially worked), I had this: (238.2 KB)

As I said, oh well. I didn’t bother trying to reconstruct the mesh because it’s so obviously flawed.

1 Like

Many thanks for your efforts and tips, Joseph! I’ll have a look at your definitions and try to find a solution.

Two “tricks” to it that I could see:

  1. Selecting alternate faces to become either convex or concave hexagons.

  2. Selecting side (“vertical”) segments vs. top / bottom (“horizontal”) segments.

Good luck.

1 Like

Hello everyone again,

I have managed to reorganize the structure of my mesh by using a different approach in RhinoVault2 and by projecting the mesh onto the XY plane.

Now I’m almost there, but I’m having a problem creating the convex hexagons. To create the polylines of the convex hexagons I want to access the shifted midpoints of the concave ones. However, I have problems with the last row of the convex hexagons (see picture). Is there a better way to connect the data structures than renaming the branches?

If anyone has a solution for this, I would be grateful… (946.6 KB)

1 Like

Cairo Tiling (942.7 KB)

1 Like

Hey Quan Li,

thanks for your help. Even though I like the simplicity, too many details of the original geometry are lost in the script.

Just bump up, if you want to preserve more details, there are other methods that can be added.

1 Like