I am attempting to setup a script that will automatically create perimeter zones for daylight and energy studies. Everything is working until I try to apply a Radiance modifier subset to the HB Solve Adjacency component.
Using the HB Interior Modifier Subset component, I am applying a very transparent glazing between the perimeter zones during the HB Solve Adjacency step at the rad_int_mod_ input. However, I receive the following error:
Runtime error (MissingMemberException): 'FaceEnergyProperties' object has no attribute 'modifier'
Traceback:
line 216, in script
line 155, in apply_mod_to_face, "<string>"
line 175, in apply_rad_int_mod, "<string>"
Responding to the error, I applied the HB Interior Construction Subset to the ep_int_constr_ input and then receive this error:
Runtime error (UnboundNameException): global name 'ep_constr_' is not defined
Traceback:
line 212, in script
line 96, in reversed_opaque_constr, "<string>"
line 110, in apply_constr_to_face, "<string>"
line 137, in apply_ep_int_constr, "<string>"
FYI, if you are hoping to model those interior Faces as 100% transparent, I would recommend using the air_boundary modifier that comes with honeybee since Radiance Glass modifiers can never be 100% invisible but the native honeybee air_boundary modifier is a Trans modifier that is truly invisible:
@chris thank you for the quick turnaround and fixes!
We ended up trying air_boundary when the modifier set wasn’t working and found it produced the results we wanted. Thank you for building that into honeybee!
Quick follow up, is there a component that will take a modifier and return the radiance material? I thought air_boundary might have been truly transparent but wasn’t sure how to confirm without running a simulation.
Glad that you were able to get the results you desired.
There isn’t really a single component that does this dedicated task since there are several components that do this under the hood. For example, the values output of the HB Color Face Attributes component gives you modifier objects.
However, there is a single SDK method for this so, if you wanted to make a dedicated component for doing this, you just need to paste this inside a native GHPython component:
from honeybee_radiance.lib.modifiers import modifier_by_identifier
a = modifier_by_identifier(x)