Divide mesh along contour line

I’m trying to make a mold to cast this figure.

Now I need to find a contour/silhouette to divide the mesh into an upper and a lower part.
Using the WarpWeft component from Kangaroo gives me two of the three curves needed. The third curve seen in red is only partial.

Ideally the curves would follow the outer contourline seen from the Top view. That way there will not be any undercuts in the mold. But I imagine it would work good enough to follow edgeloops in the mesh.

Two questions: is there some other way to select such an edgeloop?
How can I separate all vertices and faces above the edgeloops from those below?

contour_question.gh (66.6 KB)

Ok now that’s fun.

As it is a mesh, it almost already have the solution by itself.

Deconstruct the mesh, and you get vertexes (points) and normals (vectors).
For each vector, compute the angle to another given vector, in your case Z+ (or Z- ) as you want to project from top view.

Then move each vertex by the found angle -0.5*Pi and rebuild the mesh.

The intersection between the starting mesh and the reconstructed mesh will be your “seam” , where to cut the model.

We are actually making the derivative graph of the shape and making an intersection with a constant (angle=0).

contour_question_re.gh (70.2 KB)

By using a point instead, you can make a vector to every vertexes and compare it to the normal, obtaining the effect of a point light making a shadow on the mesh:


Here another way to cut the mesh you can use Mesh Iso Splitting (not standard component but my script at the moment !! I hope a Rhino implementation)
So it is a bit the same, put a value at each vertex, here the angle between Z (from 0 to Pi)
Cut at Pi/2 => 90°

contour_questionLD.gh (67.3 KB)


Thank you so much Riccardo!

That was brilliant!

The mesh is divided in exactly the right spot.

But I still need to learn how to find an edgeloop.
The next step is to take those new … (and this is where I stop typing because I just realized the answer) … naked edges and extrude them to make the mold.

But then I remembered that Mesh Edges gives you the naked edges.

naked edges

this is another possible method
draft angle.gh (102.4 KB)


Thank you so much Laurent!

That was very kind of you to share your C#-script!

I like the way you assign colors to the parts by the way.

Well I think this is my lucky day!
Thank you so much Vikthor!
Interesting that the three different solutions are so similar in the original idea (the one that never struck me).

Mine and @vikthor’s are similar indeed.
But @laurent_delrieu’s is hands down the best one here.
Deforming/moving the mesh and doing an intersection means more computation time and can lead to false-positive intersections and so errors, while iso splitting works on the mesh itself alone.
You can mark that as solution for whoever will fall on this thread…

1 Like

Very nice script @laurent_delrieu!
All sorts of possibilities with this


it had been in the “Nature” since some times but evolved a bit.


I’ll be glad if it becomes Legacy as it allows many uses.