3D print nesting

I’m trying to pack as many strange shaped nodes into a resin 3d printer like this.

The print time is dictated only by the Z height, so my idea is to use gravity and collisions to shake simple parts into a box, then orient more detailed components with the same transformation. This works quite well, but it is a bit unreliable. As you can see parts intersect and exit the volume, and i’m not sure if it ever converges

nesting animation 3_small

I’m using @DanielPiker example here as a starting point

I find it works ok with a small number of mesh nodes (created using multipipe - thanks Daniel!), however it very quickly slows down with more nodes. I’ve tried tweaking goal strengths, but it easily becomes unstable, with parts settling, then suddenly jumping around again

I’d love suggestions on how i could optimize this!

My key requirements are:

  1. Faster than current attempt
  2. meshes cannot overlap (must have min. gap between)
  3. meshes cannot protrude from the print volume box (yes it can be offset inward for a margin)
  4. maximum number of parts in given z height

I’ve tried by using spheres located along the part centerlines, and this yields a similar result. I could not get the collider component to work

Only related thread i’ve found is this, but there was no attempt to solve the problem in GH

My script uses elefront to reference ordered parts from rhino, and weaverbird. I’ve tried to keep the file size small, and internalising this geometry made GH too slow


rigid_mesh_collision.gh (37.2 KB)
node_nesting.3dm (7.0 MB)

I set the Threshold to 0.01 and Tolerance to 0.001.

I would start the solver with low strength (5) on both collisions.

Using a Grab component, you can drag a part if it causes too much problem.

Once the parts have settled, increase the strength values to 1000.

rigid_mesh_collision.gh (201.7 KB)

3 Likes

Thanks martin, adjusting the strength after the parts have settled really does help avoid the collisions. thanks for that tip! and using grab is useful - sometimes they get stuck in strange arrangements with large gaps.

1 Like

i’ve revisited the collider method using the part centrelines. this is much faster and works for more parts than the rigidbody method. with the zombie solver i’m getting a valid solution for 100 parts in under 30 seconds. It’s not always meeting all the goals. i’ll keep tweaking

here are 70 nodes almost fitting in the Anycubic photon mono x

I’ve found that adjusting vertical load strength in relation to the other goals has a large impact on stability. lower gravity is usually better. the actual magnitude of the strengths is irrelevant.

This requires the same rhino file above and

  • EleFront, Version=0.4.1.0

These are used for non-essential previews

rigid_mesh_collision-collider.ghx (1.2 MB)

5 Likes

Marking my own post as solution but it’s really the proper use of collider that solved the performance problem for me as shown in the GitHub kangaroo examples

And a cycles rendering for good measure
Support exported from lychees slicer.

I’d definitely bump up the mesh subdivisions, before exporting, unless you want to see the tessellation on the printed parts.

I’ve printed similar knots with FDM printing in the past and it worked better than expected. You have to mind the orientation of the individual objects on the print bed though and you can’t stack them like this, but you also need way less supports.

I know that some very though engineering resins exists nowadays, but are you worried about brittleness at all? Your knots look like they are meant to mate with maybe some kind of tube or something.

How long does it take you to print such a volume and which printer are you using?

Looks rad! Could be an art piece just like that. :wink:

Thanks for sharing the final definition!
I’d love to see more of this project (–> gallery?). :slight_smile:

Thanks @diff-arch , yes I do increase the subdivisions before printing. I lowered it for this example to reduce file size. I’ve printed them with fdm, but it was a bit disappointing. Support material was hard to remove, especially from holes, and I don’t think it’s possible to stack them easily.

Heres a comparison of ultimaker 3 print, and resin print. Resin prints come up pretty well after cleaning up. We remove the support after washing before curing. This makes it easier, but messy. You need to be very careful of the uncured resin. This one has been lightly sanded with a foam pad, and coated with a clear acrylic spray.

I great idea I’ll make a gallery to show off more.

I’m not worried about the strength of the nodes, since the members are themselves quite delicate. I’m using 10mm paper drinking straws, with 0.4mm wall thickness.

A full bed (z height only) takes about 9 hours on a anycubic photon mono x

The constraint I’ve not taken into account here’s is the wash and cure station. They are both smaller than the printer, so in reality I need to print three columns 60x120x235mm, rather than a single big tangle.

3 Likes