Collision Many/Many with tolerance?

I am trying to find the collisions between objects in a bunch of BREPs and I do found the Collision Many | Many component that can do almost what I want, excepting that it is detecting the geometries that are barely touching between them. It is a way to add somehow a tolerance to this component? i do want to get only the geometries that have intersections between them.

In the image bellow the geometries from the left are barely touching, so i do want to exclude them from the result.

Collision_Many_Many_with_Tolerance.gh (7.4 KB)

Hello,

Not a general solution but since your Breps seem to be boxes, you could deflate them by half your tolerance and check collisions on those.
Of course GH doesn’t have the Brep offset available but it’s possible with RhinoCommon.
Or you can deconstruct the boxes, reduce the domains and rebuild a smaller box…

Thank you for the answer. Unfortunately my geometries are more complex than this example, so just deflating the boxes wont work in real application.

I think the clash component has a tolerance input and there is also a rhino common method

My bad, forgot to mention that I need to use Rhino6, so I can’t use the clash component.

Seems to be in the rhino common since R5

Problem is the Clash component or the RhinoCommon method tolerances are a maximum distance between objects for detection, not a minimum one. Providing zero does not remove tangent-only Breps.

I thought of using Solid Intersect to distinguish real clash and tangency… Not sure this will work on your geometry but worth a try.

Collision_Many_Many_with_Tolerance.gh (7.6 KB)

2 Likes

maybe you could share it?

The following project have three colliding parts that unfortunately I didn’t detected in time and got into fabrication like that. I fixed after when the joiner complained that can’t fit together all the parts. Was a quick fix, but I want to detect this kind of issues before fabrication. I don’t do myself the design.

The magicteddy definition works well, detecting the intersecting parts.

Colission_test_simplified.zip (3.7 MB)

Thank you very much. This definition works well.