HB Aperture by ratio

Hi guys

I’m working on a early-stage daylight script, where I’d like to run a series of simulations with various glazing ratios to investigate the optimal window size for each zone.

Currently I’m using the HBAperturesByRatio component to size the windows. However, this component sizes the windows based on the WWR of each external wall. This results in very high glazing ratios in zones with multiple external surfaces. Hence, I would rather like to determine glazing ratios based on the WWR of each zone.

I’ve tried looking into the code of the component, but I can’t seem to find an alternative solution with my limited understanding in programming. Does anyone have a good solution at hand?


It sounds like you want to use Grasshopper Data trees. Just graft the input _rooms going into the “Apertures by Ratio” component and also graft a corresponding list of _ratio values. This list of ratio values should have the same length as your list of rooms and each value in the list should correspond with the ratio that you want to use for that room.

Hi Chris

Thanks for a quick response. I tried grafting as you proposed. My approach was to graft the rooms output from the previous component, get a list length and multiply the grafted length with the desired window ratio. As this list is already grafted, I didn’t “re-graft”.

However, the script still assigns glazing ratios based on each surface area, rather than assigning per zone :confused: So it didn’t do the trick.

As I’m a new user on the forum, it seems like I’m not allowed to share files, so I just dropped my .3dm and .gh files an wetransfer WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free
Figured it might be easier to answer with a script in hand :wink:

Looks like you didn’t set up your data trees correctly. It works fine for me:

data_tree_ap_by_ratio.gh (21.6 KB)

Ahh that makes sense. Thanks Chris