Hello
there was a discussion on this subject here

[image]
Instead of splitting the mesh, I think I would rather use Mesh Difference and subtract very thin boxes and at least one cylinder per plane. The cylinder is later used to reinforce the joint with a threaded rod.
[image]
SplitMeshFor3DPrint.gh (894.6 KB)
PS: Your quad remesh had two internal voids. I deleted them.
Here I have tried another solution, it has some plugin, some of them could be skipped and other changed.
But the logic is
1)Generate a solid brep/mesh of the object, I use here Dendro to close the mesh, it is not 100 % perfect but seems to work here.
2)Generate points inside the volume

3)Cluster these points with K-Mean clustering for example

Hi all,
I am wondering if anyone is familiar with the K-Means clustering component in the Ivy Plugin?
I am interested in implementing the algorithm through either C# or python in GH in general (and ideally with no plugins) for panelization of surfaces with limited number of unit types similar to this:
I’ve come across two threads on the old forum but haven’t been able to see much of the codes
1.https://www.grasshopper3d.com/forum/topics/kmeans-1?id=2985220%3ATopic%3A215631&page=1#comme…
Here an idea like I used for mosaic using K-Mean Clustering, has color are transformed to points (in [-1, 1] space).
I then use mesh IsoSplitting but you could use Mesh Contour, Mesh Plane Intersection …
K-Mean Clustering is very sensitive to initial condition, so change seed value. There is surely a better approach but I don’t know it.
I also did it a bit fast, so there could be some glitches
[image]
split image.gh (24.1 KB)
Bird
[image]
And smoothing the contours, filtering by area ……
…
4)Calculate the center of the Cluster
5)Make a 3D Voronoi (intersection with object will be a plane or planar surfaces.

Make solid intersection
12 pieces here

5 pieces

40 pieces

Bison is not exactly what wanted @martynjhogg has it is volume
Volume from 1.8138e+6 To 3.2192e+6

And if you want the most stable positions, use stable positions From Nautilus plugin

Branch to split LD.gh (5.1 MB)

5 Likes