Intersect when creating Zones from individual surfaces


I have a model where I need to add custom glazing and properties to some zones.

Current process: I take BREPs that I turn into HB Surfaces, then I add the glazing BREP to get HB Surfaces with Glazing, and ultimately I get HB Zones.

Problem: I’d like to solve adjacencies between these zones.

But the Honeybee_IntersectMasses component, as stated in the code: “only works with raw Rhino brep geometry and not HBZones. Use this component before you turn your breps into HBZones”.

So considering I have already turned my raw Rhino geometry to HBZones, is it possible to intersect them then?

Or should I do the intersection using all my initial surface BREPs, and explode that, select to find the relevant surfaces and start the “Current process” stated above again?

If so, is there an easy way to select the relevant surfaces after the intersection process?

I would like to avoid running the intersection tool, baking the geometry in Rhino and start the process, and this is not my final design and therefore I’d like it to stay linked to Rhino if possible.

Thanks for any help you can provide,


Have you tried the SolveAdjacencies component?

As far as I can tell, the SolveAdjacencies component doesn’t intersect. It requires pre-intersected geometry to match between zones, doesn’t it?

Hmmm … You are right.


If you bake your HBZone breps and bring the geometry back into Grasshopper, they will be raw geometry and not have their HBZone properties anymore such that you can pass them through the intersect masses component. You can then use this intersected geometry to make correct HBSurfaces and build up your zones from this correct geometry.

If that is not clear, this video might help:


Hi Julien, I’m not sure if I fully understand your question but here is an example file based on my understanding. (426 KB)

That is what I meant yes. I had too many surface to do this, it requires adding way too much modules and it’s hard to find the correct item (is there an actual way aside from trial and error?).

So I did like Chris said, I intersected, baked, and did the whole process after that. Hopefully I won’t regret it too much once I had to change something :slight_smile:

Thanks to you both.


I just re-read your original comment and my response and realize that I was not so helpful. I am sorry about that.

I am afraid that you are going to have to use trial and error to find the surface that you want glazing on if your glazing surfaces are custom with the AddHBGlz component. If you can get the window geometry that you want with the Glazing Based On Ratio component, this component will only create windows on surfaces that are exterior so you could build up your zones, solve adjacencies on them, and then run them through the glazing based on ratio component to ensure that only the non-intersected surfaces get glazing.

I hope that this helps,