Alternative to Collision Many|Many?

Hi,

i am trying to find out if my 2D surfaces touch (within tolerance), partially overlap or fully overlap. Unfortunately the Collision Many|Many component detects collisions when the surface edges touch.

I tried shrinking the input surfaces by 1% around its centroids, but that causes other problems - because some shapes that only touch then outright overlap.

Background: i imported some building data from OpenStreetMap using Elk, took the points from the buildings data, made closed polylines out of them and then generated the building footprint using Boundary Surface. Now i need to subtract the surfaces that represent the inner courtyards from the building footprint surfaces.

I have attached a GH file with some sample input and my solution that has problems with the shrinked buildings and a picture of what i’m trying to do.

Any hints welcome.

Map-Test.gh (152.6 KB)

Flip Curve was used just for unifying surface normal directions…


Map-Test_re.gh (298.2 KB)

3 Likes

Oh wow thanks, its so simple if you just know how!