How to get curvature extremes (as edges) from a mesh?

I want to make an efficient slip casting mould from a complex 3d form, like this:

I want to make the mould in as few components as possible, Ideally 6 or even less, as I’m casting a chair in one piece:

So how can I extract the edges between the faces with the most opposed face normals?

Thanks in advance.

Evaluate surface> get the normal vector> measure it’s XYZ components> then dispatch into lists of certain tolerances?

I had a go manually, its too manual. As I have around 10 different chair moulds to make. Also not possible in anything but lots of components because of the drafting angles.

Maybe a 3d voronoi with cells concentrically aligned with the mesh > mesh ray intersection etc…

First unweld with the angle tolerance set to whatever your normal difference is, then split into disjoint meshes. Both these methods are implemented in the standard mesh components if I recall. If not, they can be implemented very easily through GHPython/C#.

Thanks Anders, that’s a nice solution, will post my progress.

2 Likes


Thanks again! elegant solution. Now to subtract from some sort of bounding volumes to generate the negatives.

1 Like

@peregrine, where does the second component come from?

@diff-arch https://rhino.github.io/components/meshplus/unweldExplode.html

1 Like