Deflating and folding a membrane

I am currently trying to deflate and fold an inflated geometry. Similar to the following nice video - ok maybe not that many folds, but the same principle. (and my current simulation is also lacking this great soundtrack in the background)

relevant scene starts at around 0:50

Currently I am approaching this challenge the following way:

  • set up a Kangaroo simulation with negative pressure applied to the geometry (in order to simulate vacuum)
  • making sure that there are no self-intersections by using the Radii component
  • set up “folding devices”, which are controlled by an incrementally growing number (which is retrieved by attaching the Trigger component to a number and adding it up every time the trigger runs:

My current solution seem to be a bit of a (non-elegant) workaround. Are there any better approaches to tackle this kind of simulation?

p.s.: as a side issue, I do also have the feeling that the Trigger refresh system is interfering with Kangaroo’s own internal Trigger and making everything slower - but I am not clear on that yet…

p.p.s.: I guess the simulation shown in the video are actually several separate simulations stitched into one animation?

p.p.p.s.: a cool video, I just found regarding this topic:

1 Like

I don’t think this should cause problems, but I notice you have the timer delay set to 500ms. Reducing that to the minimum would speed things up.

To avoid needing that extra timer and counter though, you could use the StepSolver with the input to Animate as just a simple boolean toggle.
This updates the simulation only when the inputs change, such as when you move the anchors.
To reset the simulation with this setup you’ll need to switch the Animate toggle off and on again.
stepsolve.gh (12.8 KB)