Extract outermost meshes from a group of meshes (Building Volume)

Hi everyone!

I would like your help extracting the outermost surfaces (facades) of a mesh which is essentially a building volume. I have tried using Bounding Box, however, it does not work. I want to discard all the interior walls or surfaces and keep the exterior walls with window openings.

If you could have a look at the mesh and suggest some ways, it would be really great.

Thank you so much!


Problem1.gh (12.2 KB)

Can anyone please have a look at it?

Yep, there’s no simple way to do this because you have to tell the machine somehow what is the ‘outside’ of the mesh and that isn’t straightforward in this case, bounding box won’t work because the plan footprint is concave. So this is an idea that might apply (I assume you have many of these, otherwise just do it manually in Rhino):

  1. Take the initial mesh and find the mesh faces that are on the ‘ground’ which is the minimum z-coordinate of all the vertices.
  2. Get the mesh edges of this ‘plan’, join, extrude to the high z-coordinate, and cap to make a Brep.
  3. Then take all the mesh faces, get the centroid and see if it lies on the Brep (i.e. the closest point on the Brep has zero distance). Then use that pattern to cull faces from the original mesh.

You are left with the outer shell of the building. There are some overlapping meshes at the floors, but that’s just a consequence of how the original was made and shouldn’t be the case anyway.

Hope this helps.


Problem1_edite.gh (19.2 KB)

1 Like

How can I like this response 100 times?

Thank you so much John for your time and for providing me with something to further predicate my script on.


1 Like