Runtime Error with Interior Modifier and Construction in HB Solve Adjacency

Hello Ladybug Tools,

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>"

Here is the grasshopper file reference.
20220902_ParametricShapeEnergyDaylight_forLadybugDiscourse.gh (182.1 KB)

Is this a bug? If not, please let me know if I’m doing something wrong on my end.

Thank you!

Hi @Justin_Shultz ,

The second issue is a bug that has already been fixed in the latest development version of the plugin:

The first issue is a new bug. Thanks for finding and reporting it! I just pushed a fix:

You can get the new fix by running the LB Versioner in an hour or so and here is your updated file:
20220902_ParametricShapeEnergyDaylight_forLadybugDiscourse_CWM.gh (180.5 KB)

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:

1 Like

@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.

Hey @Justin_Shultz ,

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)
1 Like