Capping Problem

I have this object below and need to cap it. But I only want the top part to be capped - not the bottom part (which it always caps if I use the normal “cap” function.)
Also, before capping I dont have any naked edges and afterwards I have quite many…I dont understand it…

please I need help ! :slight_smile:

Glass_Model_Rounded.3dm (2.8 MB)

Hi Joy - the thing as you sent it is closed and cannot be capped…- I am not sure what you want - is it to get an inside volume?


Hello Pascal,

yes, I need to calculate the volume.

Hi Joy - try this: ExtractSrf the very top face that makes the top of the neck of the bottle. Hide that and the outer surfaces. Cap what’s left, then run Volume. You might want to know the volume not-quite-full, in which case, use CutPlane in a side view - move the resulting plane to the right level, then BooleanSplit the capped inner object with the plane - Run Volume and then undo a few steps to get the un-split object back - or do this to a copy.

Any luck?


Hello Pascal,
when I did the extractsrf + hide and then tried cap it said: “Unable to cap one object. The openings did not have closed, planar loops of edges.”

Note that I don’t understand the initial post in this thread and as such, this might not be what you are trying to do at all… - I am just answering as a follow-up on what @pascal wrote.

Did you perhaps extract a copy? What did the scene like after you hid the top and outside surface - can you post a screen shot?

Here, with a clipping plane showing the insides, the top surface that you need to extract is in blue, the outer surface that you don’t need is in green.

After hiding those, you are left with the inner surface that you can cap.

… This won’t give you a volume, though. This model is a bit messy and, apparently, Rhino doesn’t like it much. (@pascal, the WIP also doesn’t give a volume on this one - YT issue?).

I extracted the render mesh (after setting it to Smooth and slower) and ran Volume on the resulting mesh. This told me that the object is not closed but offered to provide a volume anyway [Volume = 782777.975 (+/- 0.0001) cubic millimeters].

DupBorder on the mesh shows where it leaks and you can then make a new neck on the original NURBS object by extruding the top surface edges [Red curve in the picture below] a way past the top of the bottle and then trim it with a surface that has an elevation at the same height of the top of the bottle [Blue surface in the picture below]. I then closed the bottle’s inner surface but Rhino still wouldn’t give a volume on that result. Another render mesh extraction gives a closed mesh with a volume of [Volume = 782774.663 (+/- 0.0001) cubic millimeters].

Hey Wim,
thank yu for your answer, I did indeed extract the wrong surface.
Since the file I hand in needs to be without flaws, I am rebuiling it again from the beginning.
When building it, what is the safest way I wont have any naked edges ?
I am very new to Rhino and only self-taught…
I built this version mainly with curves, which I sweeped2 and lofted. My main problem came up, when I shelled my object and it broke open inside…
Should I rather build a “big block” and then cut things out ?

This project is really important for me and I am its driving me to despair…so thank you so much for taking your time to help me! I really appreciate it!


Ok, not rebuilding…I dont know how to…
I managed to cap it, when I removed that very top surface.
But I can not get a volume the normal way…
The thing is, that I need to adjust the Volume later to a certain number.

Hi Joy,

By the looks of it, this bottle would consist of basically flat parts which blend into each other. I would therefore try to make this from very simple surfaces only.

Also, it is regular in shape, so you could just model a segment of it and then rotate / polar array to get the completed shape.

As for the inside, shelling can be tricky, so I’d try to either do that in an early stage (when you haven’t applied all fillets/blends yet) or created it from scratch the same way as you would for the outside.

In the attached, I’ve had a quick go at it by putting some surfaces on top of your model. The layer names should tell you what I did and in which order. I started with a vertical plane that I made along one of the top edges and then rotated in place by eyeballing it. Then PolarArray’ed that and created an arc (Start-End-Direction) to get a center point for revolving the vertical edge of the plane. Mirrored ‘somewhere’ and made surfaces between those.

It’s far from a finished model but I hope it can give some pointers…
Glass_Model_Rounded - wd.3dm (958.3 KB)