Floor plan area of irregular building

Hi everyone,

I have been trying to find the floor plan area of the following building and have had no luck. The issue I have is that I do not have one continuous closed curve because of the openings in the walls.

So I am trying to find the area of the bounded area in yellow in the bottom picture:

Is there any component similar to the convex hull which finds the boundary of the outer objects or does someone have an idea how I can solve this issue? I have been trying for some time and would like to find a way to do it without input in Rhino, just using the surfaces which I input in gh as surfaces.

Convex hull output:

Thanks for the help!

Please post a file, and if the above is just a vanilla example, then post something you generally encounter. Once you start dealing with a lot of of convex and concave corners, there are many possible interpretations.

1 Like

despite not having doors/windows drawn as 3D objects, in your drawings they are represented by lines
and that might help a lot :slight_smile:

if you reference all the geometries from the Rhino Top view to GH (I mean literally dragging a selection window that will include both walls and all the lines representing apertures) you should then be able to dispatch them in two separate lists: breps and lines (in the example I did it the fast dirty wrong way by just casting them to a different type)

about the breps, you are only interested on the contour of the bottom face that lies on the XY plane, they are all rectangles

about the lines, if you give them thickness, they will also become rectangles, and “close the gaps”

at that point, by using Region Union you will get (most of the cases) two regions: inside region and outside one
the shorter of the two is in most most most cases the outer one (because it does not account for the length of the inner walls)

it might not work in 100% of the cases, but I think it should work in 95% of them :slight_smile:

Floor_Area_Re.gh (42.5 KB)


Thank you both for the response.

Inno, thanks alot for the solution! It helped alot :smiley: