[solved] Unable to get the volume of object composed of open breps

[What I want to do]
I have two urban blocks, containing 12 and 13 fully enclosed objects composed of closed or open breps, respectively.

I want to get the total volumes of the objects within each cluster, separately.

[issue encountered:]
no result when the geometries are plugged to the volume component directly:

So, I tried “decomposing brep”, “boundary surface” and “brep join”, and i can get two total volume values, although the volumes for some of the open breps are not calculated:

It seems that the step above could turn an closed brep into an open brep:


May I as:
1. how to get the volume for a fully enclosed object composed of open brep?
2. how to convert an open brep to closed brep?

GH file attached for your reference:
open brep issue.gh (89.1 KB)

Try capping it… use cap hole or holes!

1 Like

hi thanks. But adding the cap component still doesn’t convert open brep to closed brep"


open brep issue _v02.gh (88.0 KB)

Have a look at the attachment.


open brep issue _v02_re.gh (89.2 KB)

2 Likes

Thank you very much, @HS_Kim, for your advice. I learnt a lot from the solution you suggested.

You solution is to find those object containing “open brep” and then filter out the surfaces in them that are facing upward and downward, and then use the caps component to reconstruct each fully enclosed object which is composed of closed breps only.

So, following your method, I provided an alternative approach which just removes the first surface within each fully enclosed object containing “open brep”, which in this case it happens to be the bottom surface (and it could be any other surface). This creates a “hole” on the object, literally, which can then be patched up by the caps component in the same way as yours.

The revised GH file including your solution is attached here.

Much obliged.


open brep issue _v03_KIM_Ji.gh (94.5 KB)