Zones from Syrfaces and Solve Adjacencies


I’m having the following issue: I’m defining various zones based only on surfaces. There are 4 floors with about 3 zones per floor.

When i create each floor and apply SolveAdjacencies it went OK.

But when i apply it for all floors together some of them doesn’t show.

I need to say that for the zones definition the ceiling surface of one zone is the floor for the other in the floor above it.

I believe, and hope, the attached file is clear enough to see the problem (The rightmost adjacency is the whole building).

What i’m missing?


-A. (647 KB)

Hi Abraham,

First of all this file is beautiful! You are pushing Honeybee hard.

I know that you opened this discussion for solveAdj but I noticed that zones are not closed Breps. Looks to be a tolerance issue with Rhino and shouldn’t make an issue with EnergyPlus but just to have cleaner geometries, I untrimmed base surfaces so zones are closed brep now.

I also noticed that when you are adding multiple openings to a surface, the surface doesn’t show-up in the output of createHBZoneFromHBSurfaces. The surfaces are there though and show up once you explode the zone! Again should be a tolerance issue for join. I need to take a closer look to both of these.

Also, in a number of the zones you had wall surfaces connected to createZoneFromHBSurfaces both before and after adding glazing. I removed parent surfaces so you don’t end up having duplicate surfaces.

Back to adjacency which was your question, the issue happens since you have couple of zones with the same name so component was assuming them to be the same zone so it wouldn’t solve the adjacency (Yes! it shouldn’t. That was a bug which is fixed now). I changed the names and now it should find the surfaces that you are looking for.

Moreover, once you solve the adjacency, next solveAdjacency won’t overwrite the BC unless you set remCurrentAdj to True.

Mostapha (648 KB)

Thanks Mostapha!! You are the best.

A question though. I took my original file, fixed the names and then i get all the zones all right. Should i expect problems further on if i don’t make the breps closed?

BTW, changing the tolerance didn’t closed the breps (from 0.01 to 0.001).


My pleasure… In theory, it shouldn’t cause any issues in your energy model. I will take a closer look to this component later and see if there is a simple way to get it fixed. In case of multiple openings for a single surface it can be really confusing for new users… Mostapha