Trouble Applying Construction Set to Apertures?

Hi all,

I am having a peculiar issue that I wonder if anyone might know the solution for?

Scenario: I am building my own Apertures based on pre-existing Apertures and then applying my own constructions (as part of a larger process/script). Thats all fine and I can use the honeybee.aperture.Aperture() constructor for that without issue. I can then do what I need to do (edit the Aperture geometry) and apply my custom construction to the new Aperture as well - that also works fine.

code snippet looks like:

from honeybee.aperture import Aperture
from honeybee.typing import clean_and_id_string

def do_something_to_geometry(_geom):
    # Do some stuff to the aperture geometry
    return _geom

new_apertures_ = []
for ap in _apertures:
    # Create the new Aperture values
    new_ap_name = clean_and_id_string('Aperture')
    original_ap_geom = ap.geometry
    op = ap.is_operable
    # Edit the Aperture Geometry
    new_ap_geom = do_something_to_geometry(original_ap_geom)
    # Build a new Aperture using the new, edited geometry
    new_ap = Aperture(new_ap_name, new_ap_geom, is_operable=op)
    new_ap.display_name = "My Edited Aperture" = _construction

But then, once all that is complete, if I later try and re-set the constructions to the room using the ‘HB Apply Construction Set’ component: my aperture materials no not get updated for some reason?

If I try the same process (‘HB Apply Construction Set’) on the original apertures, that works fine. And if I use the direct ‘HB Apply Window Construction’ that also seems to work fine (fine=the aperture construction updates based on the Construction-set)

I wonder if someone might see where I’m going wrong here? I tried to mimic the HB Aperture component method for assigning constructions:

but for some reason I am getting these funny results here when I try and use the Construction Set? If anyone has a suggestion or an idea of where I’m going wrong, I’d very much appreciate it! ( example file attached)

@edpmay (68.1 KB)

I’m having the same issue as @edpmay but with the LBT components.
I believe this is a critical one since you expect that these definitions are passed along. If you don’t check you assume they are. In this case they don’t.
The issue is weird since it works fine with the predefined constructions sets (ASHRAE). For instance:

But if i plug my own defined set, the window construction is not taken and instead the generic one is applied, like so:

We can see that the DecnstrConstrSet component shows it right.
Beyond that, if i connect the output window of the DecnstrConstrSet to the appertures component, then it is ok (meaning that the definitions are fine):

So the question is what i’m doing wrong and i don’t see?
Will appreciate your help.

Hi @chris,
Any views on this one?
Sorry for pushing here, but this one seems to be critical.

I’ve found the reason the window set was not applied to the windows.
There are 2 types of sets to be defined for the windows: windows and operable. I defined only the windows but not the operable, while in the model the windows were set to operable.
Small detail but crucial.
Maybe this can be useful for others later on.

1 Like