Organic 3D printing support SLA/DLP

Hello All

Was looking for a quick fix (code or plugin) for generating organic support structures for meshes in GH.

Wondering if anyone has an idea on how to do this.

In essence i think there are these elements to the script:

  • Overhangs based on angle
  • Avoidance or growing around the mesh
  • Fractal branching like a L-system
  • Structures (like the rabbit ear) that grow to a supported part on the mesh not to the build plate

Any hints at automating this would be great!

1 Like

@DanielPiker @laurent_delrieu @Joseph_Oster

you guys are usually the neo’s on this forum… any ideas ?

1 Like

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 :slight_smile:

3 Likes




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.

Have you seen this topic? Might help you

Organic trees - Gallery / Grasshopper - McNeel Forum

-Kevin

3 Likes

yeah seen this one, helpful and this is why i added in Laurent. Thanks for the comment


got here now.
Ticks most of the boxes.

4 Likes

Impressive!
Please post actual prints if you can!

1 Like

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.

2 Likes

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.

Hey Laurent

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)

any ideas from your experienced brain ?
Noticed this is the code that all the slicers use:

some great visuals showing how he does it.

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)


Just some rough thinking.

1 Like

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.

Pete

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

4 Likes