@Grasshope @devang I tested all the failing breps with the new HB_SplitFloor2ThermalZones component, and they are splitting correctly:
perimeter_zone_error_newcomptest.gh (879.2 KB)
You can find the new component in tab 13 | WIP. We used a more appropriate algorithm for identifying shapes and splitting thermal zones for this one, so it should be a lot more robust. It won’t fail due to unmatched top/bottom vertices because it just takes the vertices from the bottom surface, and cycles through them to identify the angle bisectors that intersect at the shortest distance from a parent edge to generate thermal zones. It will however fail if the vertices in the bottom surface aren’t ordered in sequential, counterclockwise order - as is convention - but I have yet to encounter this problem.
It’s still a WIP, so while it should deal with relatively complex convex shapes:
… I still have to implement (and borrow from Chris’s code) methods to deal with concave and courtyard shapes. So unfortunately, if you do need concave/courtyard geometries split up, you will have to use the old component for now.
ETA: FYI @Grasshope: before the latest HB legacy release, I went through all the various SplitBuildingMass errors you documented in the old grasshopper forum and tested them out. If I recall correctly they all worked with this new component… But I’m sure it’s only a matter of time before you figure out all the ways the new component fails as well