Meshing editor for textile simulation


I am working on fabric/textil relaxation similation with Kangaroo

I am struggling to generate an hybrid mesh (quad inside and triangle on boundaries) from a 3Dsurface.
The idea is to simulate the fabric’s warp&weft. See image bellow.

Thank’s for your help.

That’s a difficult shape for a mesh. Why don’t you prefer using triangles, instead of four sided shapes? I think you could get that approach easier with surfaces.

Hi Alfredo

For tensile fabric application, the direction of the mesh curves seems to be important to get a accurate simulation of relaxation because quads are providing a good representation of the fabric weaving.

relaxation schema

Hi @valpy , you could try with relaxing only lines representing the underlying net structure, and eventually constructing a mesh over this after or parallel to the calculation ?

But, as far as I know, to work with Kangaroo you need surfaces, not meshes. Moreover, mesh faces must be planar, so it wouldn’t be a solution.

It’s the opposite…

Is the triangle size always more or less the same or are you dealing with more complex and asymmetrical shapes too?

Are you working on clothing?

Hi Martin,

Working on Outdoor tent simulation to get accurate fabric pattern

In fact, my drawing is about symmetrical triangle (as a first simple request). Each edge of the triangle should be devided by the same number of segment (to match to the next fabric piece for the simulation).

My goal is to try to get the inside mesh edge as close as possible to the fabric weaving directions => to get an accurate relaxing simulation.

Wrong meshing gives inaccurate results during prototyping

Interesting. And you’d want the vertices of the triangular part to match the vertices of the adjacent parts?


This work with vertical triangles but you could easily adapt it, not very proud of the logic but works with even and odd divisions. (17.8 KB)

Hi @valpy, as I said, you could very well work only with curves align with warp/weft textile direction, and then have Kangaroo apply the simulation to the “ugly” splitted mesh :

meshing editor textile (21.5 KB)

In tent fabrication, the fabric placement in super.

if we want the fabric to strech along the curved frame as bellow

or if we want the fabric not to stretch along the “free edge” (bellow and as on the tent picture)

In fact, my global need would be to be able to dissociate an “orthogonal square edge network” from the outside limit edges of the mesh.

My explainations may be not be clear, but the relaxation simulation is very similar to the fabric stretch when mounting the tent.

1 Like

Thanks Thomas,

I have try your solution but I realize that in fact my need is a little bit complicated …

solution 1 : I am struggling to define the surface (non planar) because the 2 lateral edges (tent frame) are 3D curved…

solution 2 : uvmesh => doesnt work with relaxion process because it keeps the all plan without the split.

Sorry to have given you uncompleted data.

Hi Felix,

I have try to implement your method in my model, and the UV mesh start result that the vertices doesn 't match with the other fabric piece.

Sorry, my starting data was not correct =>side edge should have same number of segment.

Also I am using “edgelenghts” on meshes and it doesn’t seem to work combined with “lengthline” ! maybe it 's me?

Well first of all, to help us help you the best we can we would need a starting geometry.

Then it’s important to understand that Kangaroo only works points and lines. It sometimes presents itself in a fancier way, as meshes for example, but the underlying concept is still points and lines. ´EdgeLength´ is one container for extracting mesh edges as lines and applying them a length constraint, like the component I used would do, but all in one step. What I did in my example was only to dissociate simulation, with only simple lines easy to manipulate, and the « display » mesh that sits on top of those.

I have one more concern with what you’re trying to achieve globally : with this simulation, you’ll end up with a doubly-curved geometry which you cannot unroll to 2D space without deformations. I don’t really think you’ll end up with more precise cutting pattern.

If we go further, your case is even more complex because the tensioning rods are elastically bent and may very well change their shape when a differently shaped tent is stretched over it. To be the most precise in the form finding process, you would need to integrate those in Kangaroo as well (and that would still not answer the unrolling doublycurved meshes question)…

You are right. To be more efficient, please find the rhino file with the bended frame.
meshing.3dm (48.4 KB)

The goal for the simulation is to be able to use “EdgeLengths” module on the specific mesh. (21.6 KB)

Hi Thomas,

The result of the relaxation looks great and realistic.

Thanks a lot :pray:, it will help me a lot to integrate the relaxation into fabric pattern.

If I may ask just a final detail, it would be great to fine tune the .gh file using all the vertical egdes in order to get a better connection to the edge fabric pieces (10 segments on " frame" edges & 20 segments on the "free"edge) see bellow. Because I am struggling to understand your data tree sorting


Hi @valpy, I think there must be another simpler way…
I would like to see the whole mesh tent. (17.7 KB)

Hi Thomas,
When I open your new version => I get a uncompleted mesh