# Twisted texile

Hi everyone

My aim is to twist them leaving these edges undeformed.

I would like to do considering material’s thickness and stiffness.

Is kangaroo the best option, and does someone have some good reference that i could follow?

Thanks

Post geometry.
What do you mean by “twist them”. You have triangles. If you want to keep the edges lenghts then you will always have the same triangles, just in a different orientation.

Do you want to formfind the textile? Do you want to simulate the mechanical behaviour of the facade?

And yes, Kangaroo is your best option, but you have to explain what exactly do you want to simulate.

I would like to have a façade composed by sort of small sails.

The fabric is relaxed so i have enough material to do a movement similar to the one shown in the pic below.

Initially i was thinking to maintain a fixed edge (those highlighted) (1):

Now i’m thinking to the possibility of adding a spring in order to have a furter closure of the element, and so, a corresponding decrease in sun and light reduction.

I don’t know if the second can be modelled.
In general i need some guidlines, because i don’t know kagaroo and the material that i found online shows only some small parts of its capabilities.

Check this post first

@DanielPiker This could be easily done with Kangaroo, no?

Never say “easily done” unless you can do it!

The Kangaroo result in the thread you referenced doesn’t have the sail shape I would expect. Maybe it can be adjusted, maybe not? But you end up with a mesh instead of a surface.

@kdm.nivek, it looks like you want to model roller furling? That could be tough because the diameter of the furler increases as the sail is rolled up. The idea of modeling sail shape in GH is certainly intriguing to me. I think I would start with edge curves - two as rails for Sweep2 and one or more sections that shape the “belly” of the sail.

1 Like

So the sail rotates around an axis and rolls/unrolls on itself via mechanism? Is this correct?

@Joseph_Oster yes that is what I’m looking for. I’ll try to start doing something with what you suggested.

@davidsmavrov exactly. maybe I’m just pretending too much

This behaviour depends heavily on the self-collision of the fabric.
Without that, it will simply pass straight through itself.
At the moment the best way to simulate this sort of self-collision is with the ‘spherecollide’ goal.
This does an accelerated collision check between many solid spheres of the same size. By putting one of these spheres at each vertex of the fabric mesh, we can give it a thickness so different parts of the cloth don’t pass through each other.
This approach does have limitations, but depending on your application maybe is enough to get the effect you want?
fabrictwist.gh (20.8 KB)

4 Likes

The principle with the self-collision is similar to the curtain simulation you have showed before, no? I’ve tried to modify the def with some success last night but now I see I got a few things wrong.

Yes, very much the same approach as the curtain

1 Like

Cool. What I was also trying to do was to make it rotate around one of the axis defined by two of the corner points in order to simulate the movement of a simple a mechanism. I was sure that the self-colusion thing is what I need. However I can manage to force the textile to roll and unroll itself.

Thanks a lot. It’s what i’m looking for
I’ll try to apply it to my file. It might take a while cause I’ve never used Kangaroo before

I’ve tried to modify the file you gave me to fit my definition, but there is something that I’m doing wrong.

Starting from this

I divided the two sets of rectangles that i have on my facade

in the right part i selected the points that i want to rotate and the ones to remain fixed

I noticed that in the output i get these “invalid lines”

What am I missing?

Then I have another question. Once the file works, I have to perform some Honeybee analysis comparing this facade with others. In order to do that, I have to be able to reparametrize the percentage of opening to 5 values: 20, 40,70,100.

How could I do that ? I know that i should use reparametrize component, but is not straight forward due to the fact that I have this rolling mechanism. Should i compute the time in which elements are completly rolled and then reparametrize the domain {starting time - final rolled time} ?

Thanks
Prototype1_re.gh (45.9 KB)