Solve colliding breps - Wood Joints case study

I recently did a little Grasshopper definition which simulate the piece of wood’s deformation when drying. It give me closed breps as result. These breps are generated by joining trimmed surfaces.
Gaps occur when the two pieces of a wood joint dry. So I am inteterested in finding the liberty of movement between the two breps. I’ve tried to use kangaroo’s components “SolidCollide” and “SolidPointCollide” which seem to be effective considering the two pieces before drying (green wood). The joint is blocked. But when considering the dried pieces it doesn’t work. Solids pierce each other.
Maybe some of you knows where the problem is and I will be gratefull to have a little help.
Also I’m not sure that this is the best way to do and if you think about something else…

Here is the definition :
SolidCollide_Wood (53.4 KB)

I still haven’t solve my problem. I discovered Flexhopper since that time but didn’t achieve what I am trying to do with it as well.
Nobody familiar with those environments ?

Here’s one possibility if you consider the movement in a single plane (15.5 KB)

It still does something strange and becomes unstable when twisted too far though.

This also might be something you could approach geometrically though, rather than through simulation.


I could not solve it completely but there are a few things that could be going on:

  1. The Breps are intersecting at the beginning this may lead to strange behaviour later on when the collisions are calculated:

  2. You are using a Point Anchor as a restriction. This should work but a 6DOF SUPPORT may be better.

  3. The strength for the solid collide was very low. Increasing the strength gives better results but is still not perfect. Maybe the dampening option of the Kangaroo solver will help:

Hope this helps.


Forgot the definition for the above reply:
SolidCollide_Wood (63.0 KB)

1 Like