Is there a reason why you are trying to do this in GH instead of just using a 3d print slicer like Bambu Studio?
They are called tree supports and I’ve often wondered how they generate them, but then Bambu Studio does such a good job and my prints almost always print flawlessly that I only ever get as far as wondering!
I think the hardest part is growing them around the mesh. Probably have to create a network of lines from overhang down to the XY plane, then test them for collision with the mesh and move them iteratively until they are outside of the mesh.
If you search this forum, there has been some examples of highlighting mesh faces based on overhang angle I think.
There is L-System, fractal branching stuff and Shortest path could be useful too.
On a difficulty scale of 0 - 10 I’d rate this as 11
thanks for the reply. interesting this hasnt really been tackled in grasshopper before cant find anything on the matter.
This is as far as ive got from yesterday.
In reply, i want to create this in the script as every part im making is custom (to each foot) and automation is key.
Anything that is created on the browser by the customer is sent in native code (image stack in this case for DLP printers) to the printer across our data centres. So the support structures along with the product can be changed with the openVDB libaries i have into machine code directly.
In short cut out the slicing step and human interaction. Customer + product creation = machine code.
Not far off but would be interested in other approches.
Overhangs and Kmeans clustering im using, plus some varible voxel offsets to get the branches larger down the bottom compared to the top. Shortest path scripts have been good here but think it can be better.
Hello
I have already been questioned on this but without going any further. I understand some parts but I have one main interrogation are the support just based on angle or does material strength/mass is taken into account. If yes it is far more complex.
People do sometimes add supports to stabilise tall, thin prints as well as supporting overhangs.
In this case, the slicers allow the user to “paint” the areas of the print that require support to avoid having to calculate what areas might need support.
I think this is a sensible way to do this.
This problem can be summarised as…
“Create organic tree supports for a list of mesh faces on a given mesh that grow around the mesh from the XY plane.”
Determining the “list of mesh faces” can be done by overhang angle, manually selecting or otherwise.
For my use case it would just be based on angle.
Im making all of the supports with polylines then give them thicknesses (volume/strength, can optimize on my end here)
I have some simple idea, but this problem seems complex with surely many solution depending on the printer …
Perhaps you could populate hanging part with lines that are one a cone (red lines)
then going to the bottom
then make shortest path from the best part on the bottom to the hanging part (green curves)
Hi Laurent ive been out for a while but back on form now.
This is great!
Ive tried this technique also. come up short in some places, from monday ill be attacking it again.
Keep you informed. Again thanks for passing your comp brain over it.
Forgive the low poly tabbi sandal, I wanted to work quickly on a referenced mesh.
So after this weeks adventures think ive got it.
implemented:
Overhangs based on angle
Avoidance by growing around the meshes
Fields and vector pulling
hollowing
all takes 1.3sec to compute
next i want to lattice elements and create sub branches that add structural support