Hey everyone! I’m currently trying to modify the geometry of the external apertures for a model imported as gbXML. To this end, I broke the model into rooms and the rooms into faces (with DeconstructModel and DecnstrObj, respectively). Afterwards, I tried to scale the apertures with the HB Scale component, and subsequently merge them with faces from the DecnstrObj component with HB Add Subface. However, it seems that the old child apertures are kept within the new faces, even after deconstructing the rooms, resulting in what you see bellow.
We don’t have a component to remove Apertures (so that you can re-add the new scaled ones) but it only takes a few lines of code with the Ladybug Tools SDK to do this. Just plug this into a Native Grasshopper GHPython component and connect the rooms to the x input:
a = x.duplicate()
for face in a.faces:
face.remove_apertures()
Then, you can add your new Apertures as you are doing now.
Maybe if this becomes a common problem, we will add a dedicated component for this.
Found this thread after a quick google, though not sure if this has been tackled more recently? - i’d like to add support for a remove aperture function if this is possible!
It’s the first time I have used the HB Move component to readjust glazing after it has been generated by HB Apertures by Width Height or HB Apertures by Guide Surface.
Appreciate that it’s solvable without GH Python by referencing the original room and then assigning the generated & moved subface via the HB Add Subface component.
Though a remove aperture/subface/shade component feels more natural after/or at the point of setting up the adjustments + assist in script readability.
Any thoughts very much welcomed. We will try to create a snippet of the relevant starting by internalising just the geometry and showing the sequence of room creation as far as the error. In the meantime, if you understand the issue, we’d greatly appreciate a response.
The other way to remove all Apertures and Doors from a Room is to just pass it through the HB Apertures by Ratio component with a _ratio of zero. If the room has skylights, you may also need to do the same thing with HB Skylights by Ratio. Because these are robust ways to remove all of the apertures (albeit a little implicit I’ll admit), I don’t plan on adding other components that do this same thing.