Null Output from the Original HB Apply Face Modifier Component (Honeybee 1.10.0)

1. Software Environment

  • Rhino 8

  • Grasshopper

  • Honeybee 1.10.0

2. Model Description

I am developing a 14-story parametric building model with a central atrium using Grasshopper and Honeybee.

There are four rooms surrounding the central atrium on each floor. Each room has six faces, but only one face, which is the interior wall facing the atrium, needs to receive a Radiance Glass Modifier.

For this test, I am working with the 14 North rooms, from Floor 01 to Floor 14.

3. Creating the Geometry and Honeybee Rooms

I first created the room geometries using the Grasshopper Extrude component.

The output of the Extrude component is:

{0;0;0}
0. Closed Brep
1. Closed Brep
2. Closed Brep
3. Closed Brep
4. Closed Brep
5. Closed Brep
6. Closed Brep
7. Closed Brep
8. Closed Brep
9. Closed Brep
10. Closed Brep
11. Closed Brep
12. Closed Brep
13. Closed Brep

This gives me 14 closed Breps in one branch.

I then connected these Breps to the Honeybee HB Room from Solid component.

The output is:

{0;0}
0. Room: F01_North_Room
1. Room: F02_North_Room
2. Room: F03_North_Room
3. Room: F04_North_Room
4. Room: F05_North_Room
5. Room: F06_North_Room
6. Room: F07_North_Room
7. Room: F08_North_Room
8. Room: F09_North_Room
9. Room: F10_North_Room
10. Room: F11_North_Room
11. Room: F12_North_Room
12. Room: F13_North_Room
13. Room: F14_North_Room

Therefore, I have 14 Honeybee Rooms in a single branch with the path {0;0}.

4. Extracting the Room Faces

I used the HB Deconstruct Object component to extract the faces of each Room.

The output contains 14 branches, with six faces in each branch.

For example:

{0;0;0}
0. Face: F01_North_Room_782763b9..Face0
1. Face: F01_North_Room_782763b9..Face1
2. Face: F01_North_Room_782763b9..Face2
3. Face: F01_North_Room_782763b9..Face3
4. Face: F01_North_Room_782763b9..Face4
5. Face: F01_North_Room_782763b9..Face5

{0;0;1}
0. Face: F02_North_Room_01145fa0..Face0
1. Face: F02_North_Room_01145fa0..Face1
2. Face: F02_North_Room_01145fa0..Face2
3. Face: F02_North_Room_01145fa0..Face3
4. Face: F02_North_Room_01145fa0..Face4
5. Face: F02_North_Room_01145fa0..Face5

The same structure continues through Floor 14:

  • {0;0;0} contains the six faces of F01.

  • {0;0;1} contains the six faces of F02.

  • …

  • {0;0;13} contains the six faces of F14.

There are 84 faces in total.

5. Selecting the Atrium-Facing Walls

Each Room has only one wall facing the central atrium.

Based on the geometry and the face orientation I identified, this wall corresponds to Face Index 1 in each Room.

I used the Grasshopper List Item component with the index set to 1 to select this face from each Room.

The output is:

{0;0;0}
0. Face: F01_North_Room_782763b9..Face1

{0;0;1}
0. Face: F02_North_Room_01145fa0..Face1

{0;0;2}
0. Face: F03_North_Room_ed7662a5..Face1

{0;0;3}
0. Face: F04_North_Room_cc3ca01e..Face1

...

{0;0;13}
0. Face: F14_North_Room_69591c33..Face1

This gives me 14 selected faces, with exactly one atrium-facing wall selected from each Room. Each face is in a separate branch.

6. Creating the Glass Modifier

I created a Radiance Glass Modifier using the Honeybee Glass Modifier component with the following settings:

Parameter Value
Name Atrium_Glass
Transmittance 0.6
Refraction 1.52

The Panel output of the Modifier component is:

{0}
0. void glass Atrium_Glass
0
0
4 0.654047488895 0.654047488895 0.654047488895 1.52

The modifier is successfully generated and has the identifier Atrium_Glass.

7. Using the Original HB Apply Face Modifier Component

I am using the original Honeybee HB Apply Face Modifier component.

The connections are:

  • _hb_objs: Connected to the output of List Item, containing the 14 selected Honeybee Faces.

  • _modifier: Connected to the output of the Glass Modifier component, containing Atrium_Glass.

The purpose is to assign the Glass Modifier to the 14 selected atrium-facing faces.

8. The Problem

Despite the inputs being available, the output of the original HB Apply Face Modifier component does not appear to be valid or accessible.

I observe the following behavior:

First: When I connect the _hb_objs output to a Grasshopper Panel, it displays Null.

Second: When I connect the same output to the _hb_obj input of HB Deconstruct Object, I receive the following error:

Input parameter _hb_obj failed to collect data!

As a result, I cannot use the modified Honeybee objects in the subsequent stages of my model and daylight simulation workflow.

I have included the actual outputs and Data Tree structures from each stage above to help clarify the setup.

I would greatly appreciate any help or guidance in identifying the cause of this issue and resolving it.

1 Like