Kangaroo with fixed surfaces

Hi there,

I am quite new to the software of Rhino and Grasshopper.

Background info about context/project
I am working on inflatable object. But I am currently really struggling with creating certain spots on a surface that stay fixed when pressure is applied. I am aware of anchor points, but I want create for example a rectangular with a circle drawn on top of it, and when applying pressure, everything surrounded by the the circle will rise and the circle itself will remain flat.

I downloaded a plugin for Kangaroo Physics, and I have Kangaroo 2.
Anyway, could somebody people help me out with how to create those fixed surfaces in an inflatable?


Hi @cayakors

To fix a region of a mesh you can anchor all the points in that region

inflate_anchor.gh (17.9 KB)

Thank you so much!! I am going to check it out

Hey, I am still stuck. I analysed the insights of yesterday and tried to make my own version out of it, since in the end I want to change the shape of the circle and size.

I don’t know what I did wrong but my mesh only contains a few points and solver gives an error.

I feel such a noob… but can someone please give me some tips?

test inflate_anchor.gh (13.5 KB)

@cayakors, you need to internalize your geometry! Your current document is empty.

Test inflate anchor.3dm (3.5 MB)

I guess like this…

The main problem is the mesh that you use for the simulation!

It features only 4 faces, which is not enough resolution. You can fix that by defining a smaller (Target Edge) Length for the TriRemesher. In general, the higher the mesh resolution, the more accurate the result of resolution that you get, but also the longer the computation time.

Another issue is how you define the anchor points. For the inclusion check of the vertices in the middle region, it is best to use the closed, planar curve, called Pattern1 instead of the individual line segments that the C (Creases) output of the TriRemesher spits out. Individual lines do not define a closed region.

You do also need to define the naked boundary vertices as anchors. Generally speaking you always define nodes, corresponding to mesh vertices as anchors, not any other random point that has nothing to do with the mesh that you want to define the anchors for. More simply put, the anchors are mesh vertices!

And last but not least, you absolutely need a force that drives the simulation. The anchors define what vertices get fixed in place, the edge length define the plasticity of the mesh edges - meaning how they stretch or contract -, and all of these parameters interact with a certain force or multitude of forces, and produce the simulation!

2021-04-13 10-18-51.2021-04-13 10_19_57

test inflate_anchor_v2.gh (15.9 KB)


Thank you sooo soo much for the entire explanation!

1 Like

You’re welcome!

Sorry to bother… once more

One thing that I was wondering, what kind of force did you add in your last image video, since that is indeed what I am aiming for.

And currently the object moves to the positive Z direction, is it also possible to move in both directions, so positive and negative? Is it then correct to make like a mesh consisting of two layers?

Thank you once more!

Yes, if you want the top mesh to be different from the bottom one or vis versa, you need to do two simulations, and then for instance join the two resulting meshes to form a single, closed one.

There’s a cheaper, quicker solution though if both meshes are meant to be identical. You can simply mirror the simulated mesh and join it with the base mesh! :slight_smile:

I think mirroring will do, since it is suppose to be an inflatable and they do behave identical in both directions!

And I think mirroring will already be challenging enough for me… :sweat_smile:

Don’t worry! Mirroring is quite simple in this case.

2021-04-13 20-44-57.2021-04-13 20_46_34

test inflate_anchor_v3.gh (15.5 KB)