Geometry/mesh into one continuous surface to populate bubbled hexagons along the surface

I tried weaverbird, but it requires all hexagons along the surface needs to have their own surface so that the bubbled can be created . Also the polylines of hexagon need to be all connected so that I can use Weaverbird picture frame command to offset for the hexagon polylines for thickness. how do I achieve that in GH? (169.9 KB)

geometry.3dm (1.1 MB)

All polygon bubbles need to be hexagon and be the same size along the geometry file I attached here. hexagon.

LATEST (13.3 KB)

The bubbled polygons (not all hexagon) are populated thanks to Daniel. The geometry is converted into surface /polyline with even hexagon pattern, but I still need to populate it with bubbled hexagon thanks to _corellaman


The similar topic was posted here but I want to go further on the one discussed

my old post

This was my old post

Trying to convert this geometry into one continuous surface so that I can create equal shapes of hexagon along the surface using LunchBox or Weaverbird.

The surfaces I created from Geo in GH are all segmented into pieces. how can i make them into continuous surface

Hexagon bubble along (14.8 KB)

geometry.3dm (369.4 KB)

The goal also is to have a continuous surface of this geo/mesh so that the bubbled hexagon pattern (like the one on Beijing Water Cube, but equal size hexagons) can be populated along the surface

If you have a triangulated mesh better use a dual graph for the hexagon creation. N-gon has a nice one

1 Like

Probably Baris refering to:

After you create dual, I suggest to explode mesh, Stellate mesh faces, then smooth/subdivide the pyramids using weaverbird. Should work.

2 Likes (155.3 KB)

If you are using the latest Rhino8 WIP you can try a brand new feature. First it improves the regularity of your mesh to give more even sizes, and all pentagons/hexagons/heptagons, then in this last release there’s a new component ‘MorphToMesh’ which lets you define any geometry for each polygon type, and maps this to each corresponding cell in the mesh.

So here it does an inflation simulation for each of the 3 reference polygons, then maps these to the whole mesh (much faster than having to simulate for all the cells uniquely).


I know you know this isn’t the question anymore

however, here’s a way to do that only because you asked and today I am the no-response patrol (10.3 KB)


1 Like

This is AWESOME!!! a dream come. thank you

Nevermind I am reading and learning . I understood how to just pick one cell type (hexagon)

1 Like

They can’t all be exactly the same shape - the differences in size are necessary for it to follow the curvature of the surface.
What’s more, if you want the cells to also follow the boundary, they cannot all be hexagons.

Alternatively you could take a completely regular hexagonal grid, then project and trim it. That way you’ll get all hexagons apart from where they are cut at the boundary, and they’ll be regularly sized in plan (though still with a little variation in 3d because the surface is not flat).

1 Like

That is awesome!

I’ve just bought 7 and i have already 1 reason to need 8 :joy: .
I have the … impudence to ask: will this function come also to 7 or … ?


Nice! If someone doesn’t have R8 I believe Mesh+ (and maybe NGon also) has some Barycentric morphing component for this situation also.

If you have 7, you have access to the v8 WIP all the way up until an official v8 release (which is obviously a way off, since we’ve only just released 7!).
8 is where any new features will be appearing :slight_smile:

I know that…
It’s just that… i have reasons to have 5 installed, 6, 7 because is latest, and now 8 … :upside_down_face:
I already try to use few plugins (i love yak) to leave every workstation directly compatible with the others… using also 8 will mean having four rhino installed on every machine.
Anyway, it’s OT.
I’m happy anyway!


Hi Daniel. I just wanted to better understand the grafted curve command you created in the beginning of the GH.

How did you set up the cells under Crv command… Can I only include hexagon form. (I tried to create new crv command to including hexagon shape only, but the only way i know is to draw the hexagon in Rhnio and assign “set one curve” option under Crv in GH ) Also It would be ok for the cell shape to change at the edges of the roof but not in the middle… so I may need to look into projecting it like you mentioned above. or try running GH with only the same size hexagons for construction purpose

First to explain a bit how this new MorphToMesh component works-

When you first place it on the canvas, it creates reference polygons, from triangle to octagon.
These show you where to place your geometry.

You place any geometric objects you want to morph (curves, surfaces, breps, meshes etc) inside these.
These geometry objects go into the G input of the component (it does not need to be in any particular order or data structure - the component figures out which geometry belongs to which polygon).

M is the mesh you want to morph the geometry onto. It can be a triangular, quad or ngon mesh.
Any geometry inside the reference triangle gets morphed to every triangle in the mesh.
Any geometry inside the reference square gets morphed to every quad in the mesh,
…and so on for the other polygons.

If you know your mesh consists only of triangles, you only need place geometry inside the reference triangle. For the dual output of TriRemesh, we know it should usually consist only of 5/6/7gons, so we only need to create geometry for these 3 shapes.

The ‘O’ input is for the offset distance (or distances) to morph to - i.e. how thick the morphed objects will be. You can input a single value here, or if you want variable thickness, you can give it one value for each vertex of the mesh in M. For instance, here giving the thickness as a function of vertex X coordinate:



It sounds like maybe this isn’t what you are after at all, but are actually looking for a much simpler vertical projection and trimming of a regular hexagonal grid.
(Still, it was a good opportunity to explain a bit about this new feature, and hopefully useful for some others)

If you want strictly all hexagons, then remeshing is not what you want.


Hi Daniel

thank you so much. Yes definitely not remeshing it for this prohect. We just want hexagon shape projected onto the geometry/mesh that bulges out like a bubble. Do you have a reference that I can follow in that field that projects only hexagon bubble onto mesh (maybe allow to change one hexagon size on surface uniformly as well in GH)?

Lunchbox is for surfaces, and the one we are working on is mesh/geometry

while the true grasshopper/kangaroo polymaths return: (185.3 KB)

good luck with that!

1 Like

you’ll find many references

I guess this didn’t happen :frowning:

oh well,

Excuse the messy help,
this might help you get dominant over the subject- uses kangaroo inflation, which can get faulty and cranky (175.7 KB)


1 Like

THIS IS IT! this is dream come true!!!
While putting a hold on Kangaroo command I had to change the size of the hexagon to 2 and the extend X Y to 70

My new computer is thinking for 20 minutes and JUST COMPUTED IT so turning on kangaroo now. Hope it boinks up. once again thank you this is amazing. Can’t wait to bake it

I am really hoping kangaroo computes it… all fingers and toes crossed.

That seems odd - I just opened @corellaman’s file and the simulation was done in a couple of seconds.

It would also be possible to use the same mapping technique shown earlier with these regular projected hexagons.
Either way, I think it would be helpful to clean up the ones around the boundary - trimming surfaces like this gives some messy small panels.

If you change the hexagon parameter (I reduced the size (30%) using the slider from 7.5 to 2, and extend xy: from 25 to 70) , it takes forever to compute Kangaroo. It’s been 30 minutes and it doesn’t look like its gonna happen (too many bubble)

Also, I tried your GH file with just hexagons… and the surfaces are not bubbling up. I just made all three polygons hexagon… I may not did it right

Oh all fun of grasshoppering