generative modeling for Rhino
i'm trying to simulate the inflation of any mesh using kangaroo (as daniel did here in the pic with a cushion)
the goal is, starting from a defined surface (planar or double curved), to simulate its behaviour under pressure and than under external loading.
this implies that the whole surface area(s) can not change during the form finding process (or the deformation should be really minimal). as a result, sometimes, we will have wrinkles. to understand where and why wrinkles appear would be an useful tool for architects of lightweight constructions.
in attach the definition developed by Daniel.
Daniel, i don't understand why, but if i run the simulation, my cushion appear really really symmetrical (no wrinkles at all!)
Moreover, how can i define the length of the inner string? that length can not change during the form finding process.
When I run the definition above gives exactly the same result as in the image - is this not the case for you ?
Making the springs stiffer will mean the area is preserved more accurately, and more wrinkles will result. Using a finer mesh will also give more realistic wrinkling.
The slider connected to the bottom springs component in that definition controls the length of the inner string
sorry, it was my fault i played with the definition and it didn't work. now i solved the problem and it works again.
I have 2 questions for you:
1) how did you draw the input mesh? i see it if i bake it but i don't understand how you generated it.
2) how can i substitute that mesh with an other one? when i plug a new mesh, the definition doesn't work! (with all shapes i've tried like boxes, cylinders, cones the last "ITEM" component became orange)
The input mesh is drawn in Rhino - just type 'show' to see it.
It's drawn using the mesh primitives>Plane tool.
I then switched on the control points and slightly vertically displaced the exterior vertices before mirroring the mesh, so that it is like a thin envelope.
That definition is automatically triangulating the mesh, so it only works if you start with a quad mesh. If your mesh is already triangulated then you can just use the 3 vertices of each triangle directly into the inflation component.
Also - you might find the definition posted in this discussion useful:
It does the mesh generation automatically for any boundary curve.
thanks for your answer! unfortunately i can not came out with a solution, even with a simple shape like a box mesh. If you have time, can you have a look in my definition? there are two options: one is done with box mesh in gh, the other one derives from a mesh generated from lofts connected together with weaverbirds.
I've changed your definition for the simple box mesh so that it works like it should. (since there are no anchor points, you'll get a perfect sphere)
I couldn't understand what you where trying to achieve with your definition.
If you don't use anchor points in kangaroo, you must allows be carefull. It's very difficult to find the right balance (between pressureLevel and cable stiffnes), so your model won't explode or shrink!
thanks for your help with the definition! actually, what i want to do is literary to "inflate a box"! or any other shape and see how the structure deforms.
in real life, if you try to inflate a box you will not obtain a sphere but something that looks like it, full of wrinkles or complex deformations.
as it was done here by Daniel Piker, if you inflate a flat cushion, it became shorter (as far as it became taller). anyway, the total surface are of the element should remain the same as the initial cushion (because we are not considering elastic material)
the process i would like to reproduce is a kind of combination btw the definition done with kangaroo by daniel and the one it was done here by Jon Mirtschin:
but in this case, as you see, the surface are of each face of the box became larger and the edges of the box stay fix (but actually they should bend).
for me, it is crucial the total surface area of the mesh doesn't change during the deformation.
another test can be done with a cylinder like here:
but also in this case, the total surface are is continuing growing according to the pressure. In real life, of course, if you inflate a closed cylinder:
1) the radius of the cylinder get bigger
2) total length get a little bit shorter
3) after a certain level of pressure the structure doesn't deform anymore (simply the pressure grows and the stresses in the membrane grows too)
do you see any possibilities like this in gh? I'm sure would be a great fun (and interest for designers)
I've changed the definition to meet your needs!
Be sure to triangulate your mesh in rhino and if you join meshes, check the direction of the mesh normals!
If you keep the inflation pressure low and the mesh resolution high the mesh area won't change much. It does change however. But in real life, your textile fabric might also stretch a bit due to the inflation pressure.
your definition works great and it is really simple! thanks a lot! sometimes, if i join meshes, they open (it is the case of the cylinder attached) is there any tool for joining the meshes better? i tried with wb "joinmeshes and weld" but sometimes it doesn't work...
i have 2 extra doubts:
1) what's the reason why it elongates? i mean, in kangaroo we fixed the length of the elements, isn't it? so there should't be any possibility to elongate.... or i do miss some step of kangaroo?
2) do you think it would be possible to give a certain stiffness to the mesh as a whole, in a way that the mesh tries to come back to its original shape (for the example of the cushion you've done, for example, it tries to come back to a flat rectangle) as soon as you decrease the inner pressure? this would simulate how the cushion deform if you deflate it a little bit....
(i know a complete the deflation simulation is much more complex to simulate than the inflation and it should be influenced by gravity too)
Is there an up-to-date version of this now as when trying to use it an error comes up with regards to the 'vertices' component.
Hi Natalie, I ran into this problem too, you need to have UTO's mesh analysis component installed, which you can get here http://utos.blogspot.com/p/downloads.html. Seems to work fine with Grasshopper 0.9...
WOULD YOU BE SO KIND TO POST A DEFINITION OF"CUSHION TIE" THAT IS ACTUALLY WORKING.
I CANNOT FIGURE OUT HOW TO GET THE ONE ABOVE (FROM MAY 12) TO RUN.
EXCEPT KANGAROO AND WB, DO I NEED TO INSTALL OTHER COMPONENTS TO RUN THIS?
here is the last definition i have.
In my case it works fine! let me know if you have any problems!