algorithmic modeling for Rhino


I am a second year MA architecture student at the RCA in London.

I was wondering if there is a way to extract the medial axis 'skeleton' of a given 3D mesh (extracted by Real Flow). I cant think of any possible way to do it. I have also got the point cloud if it makes any difference.

This is a link with the medial axis of a curve in Space Symmetry, however I am after the 3d version of it from a given mesh.

Thank you very much in advance.


Views: 3638


Reply to This

Replies to This Discussion

I doubt it that you're getting any help with such an ambiguous question. what is "middle lines" in that respect? You can make a sketch or post some files.



Dear Marios,

What I am after is the Medial Axis lines of an imported mesh.

Similar to this, but in a 3d version. Still looking into it. There seems to be potential from Space Symmetry.



Well, if you look at how the 2d version works:

  1. First, the boundary curve is subdivided into many points 
  2. Then the 2d Voronoi is calculated for these points (because every Voronoi edge is equidistant to 2 or more points (which is the definition of the Medial Axis)
  3. Finally, Voronoi edges which intersect the boundary curve are removed as are edges outside the boundary curve.

This should generalize pretty well for a 3d mesh, using the vertices as the generating points, your mesh in place of the boundary curve, and 3d Voronoi faces instead of 2d Voronoi edges. Not sure what the results will look like (depends a lot on how densely spaced your points are: from that image it looks like you have plenty), but that's your roadmap.

Hello Trevor,

Thank you very much.

Are you suggesting to apply the same definition changed for the mesh?

Or apply a similar logic to a 3d Voronoi component?

I do have quite a few points (150000) and it does not let Grasshopper compute the Voronoi.

I am still trying and I realise there is a lot on the web regarding Curve Skeleton and medial axes on 3d meshes but hardly anything from Grasshopper.




were you able to find a solution for this at all?

I'm trying to get a medial axis line between surfaces of this object so that I can use the lines to generate a new solid.







  • Add Photos
  • View All

© 2020   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service