Trying to drape an offset mesh over the original

Hey everyone,

I haven’t used grasshopper/kangaroo in a while so I’m pretty rusty with these things, but I was wondering if anyone knows how I could create a script that does this/could point me in the direction of a similar thread?

I’m trying to offset the models mesh (which I’ve been able to do so far) but I want to then drape this over the original mesh as if it were a piece of clothing (shown in my terrible drawing below) I assume this is where kangaroo comes in handy but I’m not familiar with the collisions side of the plugin so I’m pretty lost. I had a go with the 3dsmax cloth simulator but the collision between the original mesh and the offset mesh was really choppy.

I’ve attached the mesh in a grasshopper script below if anyone knows a quick way to do this.

Any help would be much appreciated.

drapery (1.2 MB)

Here’s a go at this: (20.4 KB)

What’s the aim here?
If it’s for something like a protective overall including sleeves, it would be better to start with a model where the hands are not in contact with the body.
If you just want a sort of sleeping bag type thing without sleeves, then it might work better to start from a bounding box or convex hull (or perhaps an isosurface with a threshold high enough to remove the topological handles like the hand in the pocket) and relax that.


Wow that looks really good! I’m getting an error when opening the script for not having the ‘FloorFriction’ object, do you know where i can install this?

Its a bit of a weird aim but im trying to create a semi translucent veil/bodysuit that will distort the models of people i use in my renders, trying to obscure them enough so that they don’t have that uncanny valley look.

Thanks for all the tips!

FloorFriction is in the Kangaroo in the latest Service Release Candidate, so if you update it should work, but the friction part isn’t really needed here, so you could instead replace it with the regular Floor goal.

Also, if the aim is just to make the figure more abstract, rather than simulating draping specifically, a simpler way could be to just reduce/smooth the mesh a bit like this: (6.2 KB)


Thanks, got the script working!

Yeah that does look nice, the only thing is my project revolves around textiles so i kind of want to go with the veil approach. Do you know what I should change in that first script to get it more saggy/baggier?

To make it baggier you could increase the LengthFactor of the EdgeLengths goal from 1.1 to 1.2
To make it stretchier, you could reduce its Strength.

Perfect! thanks so much for the help


Hi Daniel,

I just revisited the script with some new models and I’m having some difficulties, instead of giving the baggy cloth like effect of the first mesh they end up going a bit crazy…

Do you know what I should alter to get the same effect with the new meshes?

EDIT: sorry! Some of my script settings were messy, got it working!

New mesh cloth simulate.3dm (9.5 MB)