Different first floor from rest of building

Hi @chris,
Not in the US anymore … :slight_smile:
Wanted to get your advice regarding the best approach in [+] for the following situation/case. In Legacy i solved it but it can’t be applied in [+]:
I want the first floor of the building to be different of the rest of the floors as for its use and window ratios. Maybe the case can be that the first few floors are different than the rest of the building. Think like the first floor has a commercial use and the rest is residential. All have the same footprint.
Can’t find in the DF samples something similar.

Hope what i’m asking is clear enough.


1 Like

Hey @AbrahamYezioro ,

This is very easy to do when just working with Honeybee Rooms. There’s a “HB Rooms by Floor Height” component that will group your honeybee rooms into a data tree by floor height:

You can use this to get all of the rooms of the first floor and then just assign a glazing ratio to theseRooms as you would in legacy and a program type using the “HB Apply Program Type” component:

However, it sounds like you want to do all of this assignment at a higher level of abstraction without leaving Dragonfly to go to Honeybee world. In Dragonfly, you can make use of the fact that there are Story objects to assign a set of properties to a whole Story instead of assigning them to individual rooms. This sample file on the dragonfly-grasshopper repo actually does the assignment of a different (retail) program type to the ground floor of the commercial buildings and it also sets a different glazing ratio for these ground floors. You can see that it starts by making the Dragonfly Building objects from solids and then deconstructs the building into its constituent stories.
Then it edits the individual stories and combines them back into a new Building. You won’t need to do the initial deconstruction of Buildings if you use the Rooms-to-Stories-to-Building workflow and you can just edit the properties of the Stories before you combine them into buildings.

1 Like

Hi @chris and thanks,
Unfortunately i’m not getting this.
I have the footprint of a building, including it’s internal partitions (apartments, cores, and retail for the first floor). it means that i’m not working with solids as staring point. I also followed the recommendations of this discussion.
If you don’t mind checking the attached example maybe it will be clear what i’m trying to do.
From there you can see that i’m separating the first floor from the rest. For each of them i have rooms that one of them is a core.
My questions now are:
Is this separation fine to get the “final” building?
How can i set windows for some of the rooms (apartments and retail) and not having windows on the cores? Tried to do something at the top of the file, but it is not working when i tried to join the rooms.
Hope it is clear enough …
MyMixedBuilding.gh (143.2 KB)

Hey @AbrahamYezioro ,

Your file looks good and you are setting up the Dragonfly Building the way that it is intended. The only change I would suggest is to give a different name to your Ground Floor Story from the top floors just to make it easier to identify everything (I saw that you named both Stories “Apt Complex”). And I think you already know that assigning a different program type for the ground vs other stories is as simple as plugging in the Program Type when you create the Room2Ds.

Only adding windows to the perimeter apartments is as simple as only passing the perimeter Room2Ds through the “DF Apply Facade Parameters” before you create the Story but after you have solved adjacencies like so:

You’ll see after the translation to Honeybee that this gives the desired result:

MyMixedBuilding_CWM.gh (143.0 KB)

Great @chris,
Now it is clear. I was confused but now i see that you can manage the lists as normal. I was relating to them as a black box that i need to wait until after translating to HB.