Kangaroo 2: Deflate and re-inflate a fabric membrane

Hello everyone!
I am new to grasshopper and more so to kangaroo 2. I am exploring modular inflatable structures for facade use. By looking across forum I have learnt to inflate and deflate volumes and applying gravity load. (Please see the attached files) I started with a single volume (ellipsoid) deflated or shrunk it and then tried to inflate the shrunk volume back again to its original form. The start and end geometry do not come out the same. I think the I intend and/or need to restrict the pressure parameter to achieve the result may be. Any help in this regard, other improvements or suggestion would be really appreciated.
@DanielPiker if you can please.
Thanks and Regards!

Start Ellipsoid Volume
Start ellipsoid volume|308x469

Deflated Volume under gravity load
Deflated hanging

Re-Inflated Volume from shrunk volume
Inflated tilt

Rhino and Grasshopper files
Deflate Inflate.3dm (173.7 KB) Deflate Inflate.gh (19.5 KB)

@xeson_saqib Welcome
You are running an illegal version,
Rhinoceros 6.3 - Undefined
Download a (Legal) Free for 90 days Evaluation Here

Apologies and Thank you, I will see with my school about it and get this version for now.

1 Like


Did you ever get a response?
why is the shape after inflation is larger then the original shape?

Hi Shoval,

I’m not sure I understand the question being asked in the original post at the start of this thread.
Is the aim to create a non inflated shape that takes on a specific pre-determined form when inflated?

This is actually a rather complex and non-linear problem.
First of all, many shapes are impossible to form as inflatables (for instance a bowl, or anything with parts which are concave but with positive Gaussian curvature), unless you add some other internal connections. So taking a shape and deflating it will not generally give you something that inflates to the original shape.

Also you need to consider the elasticity of the material. If you start with your target shape as the rest state of the membrane, when you apply the pressure it will expand until the tension balances the pressure, enlarging and changing the shape in the process. Therefore the challenge can be seen as finding the right levels of pre-tension across the mesh so that the pressure is already exactly balanced by the membrane tension when in the target shape.

There’s a nice paper on this problem of inverse design of inflatables here:

For smoothly curved shapes with everywhere inwards pointing mean curvature vectors and fairly non-stretchy material though, simpler approaches might work. Even just setting a constant pre-tension across the whole mesh, and adjusting it until the shape stays approximately the same when pressurized might get you close enough for practical purposes.
I think this is what Pneuhaus did for these projects, and I believe they used Kangaroo for some of the design process.

Thank you @DanielPiker for your rapid and detailed response.
I’ll have a look into what you wrote and the paper is also a good direction.

I’m in the beginning of a project that will be dealing with inflatable objects.
The aim is to simulate an inflated pillow like object Inflate it and then deflate it and vice versa. We try to get the best cutouts in order to control the inflation and shape of the object. We are in a preliminary state of the project so we are testing tools and looking on how to approach the problem.

As the project progress I’ll probably post some more unclear questions… :slight_smile:

1 Like

Happy to help - it’s an interesting challenge.
If you do find you want to get into this more complex inverse design problem, I think something like the looping approach with Kangaroo and Octopus I posted here might work:

Let me know if you need help setting this up.
Probably best to start with a bit of trial and error using the simpler constant prestress version first though.

There’s also a more recent paper here from Disney research that might be relevant:

1 Like

Hi again @DanielPiker,

So, I’m trying to get into the project with a very simple K2 solver use.
I’m having a hard time getting things started as I probably miss some key knowledge in Kangaroo.
I’ve made a test cube which inflated nicely with Pressure and Length.
When I try and test it on a different Brep (that is part of the project) I can’t seem to get it right.

Please see attached files, Any help or advice would be appreciated.


InflateTest.3dm (202.4 KB) Mesh_Triangulation_Simple K2 Inflate.gh (15.2 KB)

Hi Shoval,

The issue here is that the default ‘tolerance’ setting of Kangaroo (the distance below which nearby points get combined into a single particle) is larger than some of the short edges in the mesh.
Changing this to 0.00001 fixes the problem.
Mesh_Triangulation_Simple K2 Inflate_2.gh (18.5 KB)

1 Like

Thank you!