Open/Close Brep and IndoorViewFactor issue


I’ve been struggling with this for a while, so i’m opening this discussion.

I’m trying to get an Indoor map for a single zone in a building. I’m following the updated example (number 15).

Attached a file with the issues i want to ask.

I’m defining a zone from a rhino model. I’ve built. rebuild and rebuild this model since at the end of the line all the time i was getting an open brep as the HB_zone definition. I’m still getting this (See 1 in the file). But the E+ simulation runs. Just for checking i imported the idf file. In this case the zone is Closed (Weird. See 2 in file).

After this simulation the IndoorViewFactor component is failing with either of those two warnings:

  1. When the input to the distFromFloor input is a panel i get this (see 3 in file):

  2. The distFromFloor_ is greater than the height of one or more of the zones.

I remember that there was a problem when the zone was not on the ground, but it was fixed. So i don’t understand the warning.

  1. When the same input is a slider i get this (see 4 in file):

  2. One of your continuous closed air volumes has an overlapping edge that is causing it to not read as a solid.
    Bake the closedAirVolumes output and do a DupBorder command on the polysurface to see the buggy edge.
    Rhino’s solid operations are buggy. Hopefully McNeel fix this one soon.

I cleaned the model from those overlapping edges, but still, is not working.

Any words of wisdom?


-A. (1.3 MB)

Hi Abraham,

Can’t open the file from here but I did run into this error (number 2) recently myself. Hope my response is relevant.

The dupborder command did recognise the problem (highlighted the edges). What I did to fix it was to use the native merge command in Rhino for the two surfaces of the border highlighted. I then refreshed the breps and that closed my volume.

Don’t know if that helps.

P.S.: Are you using a glazing by ratio component? Found that it also breaks volumes sometimes.

Kind regards,


Thanks Theodoros.

Yesterday i tried the dupborder option with no success. But the weird thing happended after your reply.

I baked again and did the dupborder and it showed a very tiny difference between one window and the parent wall (east facade). But, the way i’m creating the windows is this case is that i’m having the whole surface of the wall (no trimmed window) then i add the window surfaces with the HB_addHBGlz. It is supposed to work “clean” since it is geometry independent on my side. But it is the HB_addHBGlz the one that is creating the small hole.

Then i tried to change the model Tolerance to 0.001 (instead the default 0.01). It didn’t solve the issue but instead it created a new one on the Southern facade, where the windows were a (really) bit apart from the parent surface. To make it short, i aligned the southern windows, the east facade still have the small gap, but now i get the ClosedBrep zone and the IndoorViewFactor component is now working … weird (but good).



Instinctively I would say it’s Rhino’s fault. I’ve had a lot of issues with adding glazing to my surfaces. It seems that Rhino (guessing) is bugging out in some surfaces, above certain glazing ratios. In the preview seems like whole parts of the wall disappear while the windows seem like the are pushed outside but still connected at the wall.

Tolerance has never done anything for me. Do you have to update the definition or smth?



No need to update. Once i change the tolerance value i re-executed the HB_Surface components. The whole chains was too after that by itself.

From my case you can see that the tolerance can help and spoil (solved the dupborder and spoiled the glazing surface). On other cases i’ve felt the “impact” of it.


Abraham and Theodore,

Thanks so much for posting this. That warning about overlapping edges and the corresponding closed air volume output was something that I put in really recently to help me debug certain complex geometry cases so it is great to see that you are finding cases where it is relevant.

The distFromFloorOrSrf error that you were getting with a panel input was a bug. I have just fixed it in the attached file.

I tried re-projecting the window geometry onto the wall surface and this seemed to fix everything related to the glazing.

Unfortunately, the geometric freedom of Rhino can sometimes make it easy to have surfaces that appear to be in the same plane but differ by small barely-noticeable amounts. Re-creating the geometry should usually fix these cases.

-Chris (1.28 MB)

Thanks Chris,

Just for you to know. I needed to change the Tolerance so the “status” of the zone changed from open to closed brep. Otherwise the HB_IndoorViewFactor didn’t generate the viewFactorMesh output.