Delete Surface Intersections

Hey guys,

I am trying to delete the intersection part of the walls with the window in order to get a clean visual. I need to be able to do this in grasshopper based on layer inputs, as the buildings can get quite big.
Anyone any ideas how to do that?

DeleteIntersection.3dm (4.1 MB)

I would apprectiate it alot!

Looking forward to hearing from you guys.

Best Max

The general case of this is to Containment Cluster Surfaces/BrepFaces Outer Loop Curves against other Curves (say: windows or other) . If the collections are not planar then there’s other ways to do it.

In plain Engish and assuming that we have planar collections: get a DataTree (of Type Curve) where, say, the “top” items are the Inner/Outer Loops of the Surface (or BrepFace) in question and the rest items are the Boundary Curves (*) contained in the Outer Loop. Then either use the BoundarySurfaces native GH thing or the Brep.CreatePlanarBreps(curves)[0]; RC Method;

(*) i.e. without the mullions.

I have tons of Clustering stuff … but they are done solely via C# code. Notify if you want an entry level take on that matter.

1 Like

wow thank you so much. The “Boundary Surface” already did it. I could just insert all faces I have and it works. Way easier than I thought it would be.

That does indeed the BrepFace(s) but DOESN’T provide the paramount connectivity data: Given randomly sampled Faces and Curves … how to correlate this with that? (i.e. what contains what? > see the conn Tree below).

Depending on your point of view this is elementary via code … or 100000% Chinese.

Anyway … if you are not an Enginear (meaning that connectivity means little things) just use the Boundary Surface.

I see your point, however, at this point in time I only need it for visualising purposes to make it look nice for screenshots. But thank you:) Should I need to do a more proper set up and be stuck in developing, I would like to reach out to you again.

The most basic way to achieve this is with the Geometry Pipeline: (8.9 KB)

If you need a more sophisticated solution, I’d suggest using EleFront. You can reference layers with data driven inputs and bake with attributes: (15.6 KB)