Assigning Aperture ratios to particular faces NOT just by Compass Direction?

Kia ora

I think this is a problem of my lack of python and list processing options.

I have a class exercise where we have a plan of a building (new and proposed) and a 2D downloadable context. We can approximate the height of the context via extruding function in Rhino.

But we want to build a flexible model of the 8 room H-shaped plan where the % glass on`eãch facade can be manipulated.

We are using the LBT sample files to test the legimacy of what we are modelling, hence the attached script contains the geometry process we are assessing attached to the daylight into energy sample file.

Starting with this geometry (baked into the attached file)

We use dragonfly to create a base model from the Sketched plan on the original 2D outline.

This is then exported to Honeybee.

And then we assign Apertures by ratio.

However, this has problems. Two are illustrated above:

  1. in pink - the tiny walls facing essentially East and West should have no glazing
  2. the West facing walls highlighted in black have very different glazing ratios in the existing building.

Entering a list for Window %, Sill Height and Window Height, just works for the "Cardianl Directions’ What we would like to be able to do is break up the rooms into wall faces (easy) and assign a 16 ratio long list to each of the external walls. The goal is to make a parametric window size and thermal and glazing property study that can be parametricly varied. My preference is therefore to do it in GH, but I fear my GH and list processing is not up to it.

Even breaking the rooms back to faces and obtaining a list of external walls and using the %aperture component on the faces with a list of face-by-face % values does not work. First because the faces appear to end up in a very random order out of this process; neither room by room, nor facade by facade, nor in order around the facade. Second, and more significantly, even though I match the order of the faces to a list of face-by-face ratios, the Cardinal Direction override operates, so only 4 of the 16 values I enter are actually used.

There is a very kludgy way of achieving this - which is to separate out the outer walls by room, to assign the % glazing for each room, then to recombine these outer walls with the inner walls, roof and floor. A tangle of logic, but it works.

It does work - but is not adaptable to other numbers of zones…


Suggestions for a more elegant solution welcomed.

dragonfly_example_test.gh (96.8 KB)