Decompose hbzone example

I’m trying to develop a workflow to quickly assign a “base” construction to all walls and windows in a zone and then decompose the zone to assign windows and unique constructions on discrete surfaces.

I had thought that the new “decompose hbzone” component would help but it seems as if surface attributes (other than geometry) are not passed along as the zone is decomposed. I would really appreciate anyone’s help in trying to solve this.

I’m attaching a gh file that sets an EP zone construction and then decomposes the hbzone. When I query the zone attributes, the EP constructions all show “none” except for the one that I customized at the surface level.

Thanks!

Decompose_HBZone.gh (467 KB)

Hi Burin, Decompose HBZOnes is exactly designed for what you are using it for. There were couple of issues here and there though.

  1. To make zone attributes component work faster the component creates a copy of the initial zone and then uses that for next iteration. In cases like your example you need to set recallHBHive_ to True so it updates every time. I think we will change the default to True to avoid confusion (https://github.com/mostaphaRoudsari/Honeybee/issues/282).

  2. Once you are creating zone from surfaces you need to flatten the list so all the surfaces go in the same branch.

  3. You don’t need to recreate HBSurfaces. When you do that you overwrite the construction that you’ver assigned. They are already HBSurfaces so just change what you need to change and put them back together. It is as easy as this.

Decompose_HBZone_msr.gh (455 KB)

Thanks for the quick and clear reply. I get it now. This is exactly what I needed (and it’s a fantastic feature!).

One small note: in the version I’m using (v. 0.0.56), the recallHBHive node on the Zone Attributes component is already set to “True” by default.

One small note: in the version I’m using (v. 0.0.56), the recallHBHive node on the Zone Attributes component is already set to “True” by default.

oops! Thanks. I closed the issue.

Just one more thing i would add: HB_solveAdjc at the end of the line.