Hi everyone,
I’m working on a Grasshopper model using Honeybee to generate HB Shades for surrounding buildings, and I’ve run into a problem I haven’t been able to solve.
Context
I’m separating the energy simulation target building and its surrounding buildings. To do this, I used a Cull Index
component to exclude the main building from the full set of base surfaces. Then I grouped the remaining surfaces into categories (Group A, B, C) using multiple List Item
components, each connected to index sliders.
Each group is assigned a different height and extruded accordingly to generate HB Shades.
Issue
When I adjust the Building Location
slider (which determines the position of the main building), the index structure of the culled list changes, and as a result, the List Item
components retrieve the wrong surfaces.
This causes mismatched HB Shade geometries (as shown in the screenshot). I already tried Flatten
, Partition List
, and Explode Tree
, but the issue still occurs.
What I’ve Tried
- Using
Partition List
afterCull Index
to group surfaces - Applying
Flatten
to the output and/or input at different stages - Controlling indexes with
Expression
andStream Filter
components - Keeping data tree structure consistent using
Merge
,Bang!
,Param Viewer
What I’m Looking For
Is there a more reliable way to group the culled surfaces by fixed logic so the structure doesn’t break when the building location changes? Or should I be restructuring the logic flow entirely (e.g., avoid List Item
)? Any advice would be appreciated!
Thanks a lot in advance for your help
20250414.gh (159.1 KB)
250415.3dm (1012.6 KB)