Skeleton from Mesh/PointCloud

Hello Forum!

I have a case, where I want to extract skeleton/guidelines from a pointcloud/mesh and it bothering me, that I don’t have any idea how to do it nicely :frowning:

The main idea of the definition is to generate different topological optimised designs.

The points are created wth the nice plugin tOpos ( ).
The solver of the plugin optimizes the distribution of material/points in a boundary/box ( if I understand it correctly) After that I get a pointset, which I can use to create isosurfaces/voxels.
But I don’t get the main axis, that I can use to design framworks or similar.

There are some threads about medial axis etc. But most of them are for 2D-cases.

I also tried the skeletonizer of capybara ( ), but without success ( works in some cases, and in others not), maybe I don’t use it correctly.
I tried different approaches to extract these lines, for example I used Shortest Walk, but still no success.
So the main question would be, how to extract medial axis from arbitrary 3d-points-set/meshes.
I think one answer could be to construct a graph, and using skinning algortihms or something like that.

Check the images for further understanding:

There is a nice paper about this topic :

I would love to hear some ideas!

Skeleton_PointsandMesh_Forum.3dm (792.1 KB)