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:
geometry_pipeline.gh (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:
wall_element_elefront.gh (15.6 KB)