How do I map a hexagonal grid onto a surface

hi, im working on a project and i need help.
the design that i am working on is an auxetic shoe sole. i have already made my sole and my auxetic structure separately as the structure was complex, now i need to map or morph that onto the sole and i am unable to figure it out.

Help me out guys.

Main Structure.3dm (4.1 MB)
Main (17.4 KB)

The Rhino file you posted is useless. The mesh is in the Grasshopper file which is ok.

However, the surface of your shoe is missing. Can you post a Rhino file with your shoe / sole shape?

Attached is a general approach for surface morphing. All inputs are internalised.

Main (45.8 KB)

sketch 3.3dm (3.6 MB)
sole 1.3dm (390.0 KB)
these are the sole files hope it helps

Your main challenge is to create a more or less regular hexagonal mesh and I don’t think surface morphing is the way to go here.

I created a regular hexagonal mesh in the XY plane and selected 64 outlines in 5 columns. These cells are subdivided into your complex mesh and into a simple triangular mesh.

Instead of remapping fold angles I think I would rather transform one or a few anchor points.

Kangaroo can be used to drape the triangular mesh representation of your more complex mesh from flat to shoe shape and then use these two meshes to mesh cage morph the more complex mesh from flat to shoe shape. I eliminated some of the vertices along the top rand of the sole. There are 6 ‘corners’ where the result looks a bit weird and the initial selection of hexagons might have to be adjusted. (350.3 KB)

Inputs and results are internalised.


Hi @martinsiegrist , I tried your own algorithm, but I removed the first part. Doing the pattern structure inside rhino, otherwise it should be similar.
Why does it give me error in the end?

Kangaroo_Applicazione struttura su una suola(srf).3dm (9.0 MB)
Kangaroo_Applicazione struttura su una suola(srf).gh (453.0 KB)

Use a Tree Branch component on the Kangaroo Solver Output to extract just the branch 0;5

I generally plug the Show component into 0;0 on the Entwine component. Like this I can add or remove goals and don’t need to change the P input on the Tree Branch component after the solver.

1 Like

@martinsiegrist thanks for solving the first part of my problem.
the last part of the algorithm creates this error in the mesh; that?
Kangaroo_Applicazione struttura su una suola(srf) (452.0 KB)

Could that be the problem? If you! How to solve it

In this case the Mesh Cage morph works if you provide closed meshes for both reference and target mesh. I’m not sure if for some situations a planar or open mesh can be used. We’d need @DanielPiker to clarify this…

Kangaroo_Applicazione struttura su una suola(srf) (493.2 KB)

1 Like

Okay, now I understand why there was the thickness… waiting to receive a reply from Daniel, I try to solve.

I tried with the thickness but by mistake, I probably miss some step or is not the right way to solve the problem

  1. problem: perhaps the error is due to some points that once projected are canceled in the list

I’m using a Button for the Calculate Weightings input.

I think it needs to be clicked after topological changes to the mesh which is morphed.

hey i looked in your file but cant make out of anything as the curve that you defined isnt available at my end
could you attach the .3dm file as well
also need to ask if i wanted to extrude the inner triangular cones how could i do that and the mesh that you redesigned is filled within i want to remove that as well

Which file are you talking about? (333.7 KB)
this one

im done with the curve there was a plugin error

you used the merge cage morph to apply the mesh onto the surface but it just flatlined the mesh
the mesh in the picture below i want to apply it onto the midsole or rather start from scratch working my way up but i want to use these blocks with spaces in them on the surface to give it a finish as i have to 3d print the sole later on for my research

This file has all inputs internalised.

My mesh is less deep than yours, that’s correct.

Mesh Cage Morph…

You’d need do change the slider input from 2 to let’s say 5 to get a more three dimensional mesh.



now the thing is when stress is applied to this pattern the triangles open up and i want to study the stresses on it for that purpose i want the mesh to be deep and opening from the front and spikey and lifted from the back

what should i do??

File removed, use the one in the post below.

1 Like

thanks man
also if i wanto to increase the mesh height which slider should i change and the bump that you showed me in the picture if i want to place it else where or remove it than what parameters should i change??

To change the location of the bump, select the point component in the green group with its preview on and drag one of the gumball arrows in the Rhino viewport.

To change the radius and height of the bump, adjust the two sliders in the green group. (413.2 KB)