Tolerance issues for "HB Room" & "HB Room from Solid"


Thanks for the updated version of LB and HB they look really neat and I already put them to work!

I ve faced 2 issues so far:

  1. I work with mm usually and if I try to feed the 2 components with either HB Faces or a closed Brep I get an error that I dont provide a closed volume. If I feed a mesh generated from the same geometries everything is fine. I went on and multiplied the tolerance within both components with 1000 and it works fine so I guess there is some sort of issue with the “ladybug_rhino.config import tolerance”? Any ideas?

  2. The produced grid from the “HB_Sensorgrid from Rooms” component is meshing in a weird way. In the attached image the lower grid is the results of this and the upper one from the “HB Generate Test Points” from the Legacy. Same grid size surface etc. yet so different results.

Thanks a lot in advance for any input!

Regarding the 2nd point the results were such because I created a Room with a triangulated mesh. When you provide a simpler Quad mesh the problem is solved.

Hi @tasoskok ,

So this warning you get about the Room volume not being closed could be the result of plugging in curved brep geometry directly into the Honeybee components. The honeybee components have some default planarization capabilities built into them but they are optimized for speed over the preservation of the closed volume and they will usually only preserve the closed solidity of the room in cases of single curvature. For the case where you have more complex curved geometry and you want to ensure that the solidity of the room is preserved, you should pass the geometry through the “HB Planarize Brep” component before plugging them I to the Honeybee components. This component is slower but will always preserve solidity in the planarization process. You’ll see that it also allows you to plug in meshing parameters so that you have better control over how things are planarized.

Regarding the generation of test points, yes that’s the expected result when you generate the points on a room-by-room basis any you are expecting all faces of a particular mesh to lie within the room volume. If you want to generate a more regular gid that isn’t interrupted by the walls of the rooms, you can use the “LB Generate Point Grid” component with the “HB Sensor Grid” component like you see in this sample:

Hi @chris,

Thank you for your detailed reply. Indeed using the Planarization component worked well. Just a note though that when I recreated the same model in a Rhino Document with Meters instead of Millimeters the Planarization was not necessary for the model to work properly which might be an indication of tolerance issues. It is clear that when working with mm the document tolerance is way lower so this might be the case. I tested the same geometry in mm with HB Legacy and again had no issues running the model without Planarization!

Thanks for this update. It is really a game changer!


Glad to heat the planarization component is working as expected. I plan to post a tutorial series later this month that will show the recommended ways for dealing with non planar geometry in the new LBT plugin.

And it sounds like the default planarization built into the honeybee components was good enough to make the solid closed to within the tolerance of 0.01 meters but was not good enough to make the solid closed to within a tolerance of 0.01 millimeters. So that’s why you got the warning with mm but not m.