Courtyards in Split2Floors Component

I have simplified the volume highlighted in the picture into two curves by tracing the footprint in Rhino cutting out reentry bits and ending up with two not quite rectangular closed polylines. When imported into Grasshopper (CRV + EXTrude +CAP) they are identified as having no faulty geometry and no non-convex surfaces. They are imported and processed happily by Split2Floors Component. However, having looked carefully at the Split2Floors component to see that it should identify the inner geometry as a courtyard, what I am observing is that the inner “courtyard” and the outer structure are being filled with floors and zones - the courtyard structure is not recognised. I did try the alternative (and advised against in the component documentation) of cutting a hole in the surface defined by the outer shape using the inner one. This also did not work.

Here is my pared down tutorial file for my students that is at present not functioning…

Any help welcomed.

I have attached a picture of the geometry, the basic geometry and the test / demo file…

test.3dm (35.8 KB) (519.9 KB)

Any and all help welcomed. As usual I strongly suspect the issue is my unfamiliarity with Rhino…



We can solve this problem for the Split2Floors component (you just need to use the SolidDifference tool to get the hole), but will run into issues once you try to run the resulting geometry through Split2Zones, since that component can’t resolve concave or courtyard geometries.

So if you do want to use the Split2Zones tool, I would advise splitting your zones like this, before inserting them into the Split2Floors component:

This cuts your geometry in a way that captures the different thermal relationships experienced at each orientation.

Then you can use the Honeybee SolveAdjacencies component to assign the correct heat transfer relationships at those edges that you have introduced, either ‘Airwall’ if it is effectively a connected, single place, or a construction with some thermal resistance if not.