How to make a mesh sit on a structure without intersections in Kangaroo


I’m just wondering if there is a more streamlined way for a mesh to lay on top of a solid element without the need to be a very high poly? At the moment this surface is set to U400 x V600 which means the simulation runs very slowly. There is also some intersection issues between the brep and mesh it’s laying on.

Intersection problems:

Also just a side note, why does the mesh break when its baked?
Grasshopper preview:

Rhino preview:

Script: (5.8 MB)


One trick is to offset the rigid body geometry ever so slightly and/or to increase its subdivisions and the subdivisions of the cloth geometry to have more resolution to work with.


I had a feeling this was the only solution, thanks confirming. Do you also know why the mesh breaks when in break the final result to? Rhino is aware it’s still there but the preview doesn’t want to show the result.

When you know in advance where the contact will be, it is better to use anchors instead of collisions.

Collisions between a mesh and very thin or sharp objects is often tricky, because unless the mesh is very fine, the vertices can pass either side of the sharp feature.
There’s a slightly different approach shown here, which also considers collisions between the edges and the solid

Hi Daniel,

Thanks, I’ve taken a look but unfortunately the C sharp component within the script seems to be broken in my grasshopper. I also don’t really know C sharp so what exactly is that component doing?

I’ve also notice with this script and the other Joseph tagged me in both scripts have a triangulated mesh, is this preferred over quads?

Hi Adam,

You don’t need to know any C# for this, but you do need to tell Grasshopper where on your computer the Kangaroo library is located.
You need to right click the C# component, choose Manage Assemblies>Add, then locate the KangarooSolver.dll file on your machine.
If you’re using Rhino 7 for Windows this will usually be
C:\Program Files\Rhino 7\Plug-ins\Grasshopper\Components

As for triangles vs quads - it depends. In the case of your structure quads is probably good.
The reply from HS_Kim in that other thread is a good example of using a triangulated mesh to meet specific diagonal lines for the ridges.

Hey Daniel,

It looks like the script is working now, thanks! However, I am running into another issue where this script will be used on different, yet similar market variations. However, when testing the script on the different markets it’s producing a invalid mesh within the Kangaroo Solver component, which seems to instantly cap my CPU and crashes the file whenever I try to run the component.

Here is the working script on the first variation: (130.6 KB)

Here is the second script which produces a invalid mesh within the solver: (100.9 KB)