# Air boundary adjacency by surface type

Hi All,

I am working on a multi-story building with a simple core and perimeter zoning and I want to set the interior walls as air boundaries but keep the floors as interior floors.

The “HB Solve Adjacency” component currently sets all of my interior surfaces to air boundaries and I was wondering if there is a simple way to just have the walls be air boundaries without me individually setting up each floor’s adjacency.

Thanks

Try using the Solve Adjacency in tandem: First time for just the zones in each floor and second time using the previous results among all floors.
-A.

The issue is, I need to do this for 20 floors so I wanted to avoid setting up a bunch of adjacencies in tandem.

Are all floors equal? If so, you can solve one and then copy it 20 times with the HB_Move component
If they are not equal you can try separating the list of zones into the ones of each floor (GH native Partition component) and graft this list. Then you can solve the adjacencies of each branch (floor). At the end flatten it and do the second pass.
Hopefully this can work.
-A.

Oh interesting. I will try this out and let you know.
Thank you @AbrahamYezioro

I actually found a simple way to do exactly what I want. I just added an if statement in the code where the air boundaries are assigned to see if the surface pair is a Wall or not. This way I was able to solve all adjacencies in one component.

``````# try to assign the air boundary face type
if air_boundary_:
if face_pair[0].type.ToString() == 'Wall':
face_pair[0].type = face_types.air_boundary
face_pair[1].type = face_types.air_boundary
``````

Good. Just take into account that if you update your file with the SyncGHFile component, you’ll need to fix the code again.
-A.

Hi @kentakahas . You can also use one more component which is super cool, “HB Properties by guide surface”. Once you have solved the adjacencies, you can create guide surfaces coplanar to adjacent surfaces that you want from top to bottom. You can immediately convert the coplanar surface with that to air boundary.

2 Likes

Thank you for the heads up!

Hi @Asisnath,
I was still using 1.2.0 so I didn’t notice that component existed! This sounds like a better long term solution compared to our current method of putting a bunch of solve adjacency components in tandem.
Thank you!

1 Like

Hi @Asisnath ,

This would help me out also… curious how does one get the 1.2.1 components? i don’t seem to have this component. Thanks!

You can update to version 1.2.1 by using the LB Versioner component.

Credit goes to @AntonelloDiNunzio for proposing the “HB Properties by Guide Surface” component. That should be the final answer to how to edit an individual surface of a Room solid from Grasshopper. If anyone doesn’t want to use the latest development version of the plugin, the component will be available when we release LBT 1.3 (hopefully within a month or so).

An alterative solution that I like to use for this situation just involves Grasshopper data trees like so:

air_walls_but_not_floors.gh (25.8 KB)

1 Like

Hi Chris,

I am following this procedure, since I have had the same problem that kentakahas mentioned at the beginning. I have recreated in HB 1.4 the example you uploaded, but I don’t get the same result.

Do you have any idea what can happen? I need only the walls to have Air Boundary status. The floors need to be maintained.

coreZoneAirWalls.gh (32.6 KB)