Making hollow solids

I’m designing some things I’ll 3d print that I want to float in a liquid – think fishing bobbers or tiny buoys. For the “can I do this?” I made a cylinder, then a smaller that fit inside, and did a boolean difference to create a hollow spot in the larger cylinder by subtracting the smaller.

What I’m not following is why that hollow spot isn’t somehow attached to the larger cylinder. I can group them and move them around and my 3d printer code (Simplify3D) must be getting the correct normals because the g-code does what I want.

Thinking about it as I write this out, my next project involves making fuel tanks that I’ll drill in to, so this must be a common problem with an obvious answer. Is there a FAQ I need to study or a chapter I missed in the manual?

Rhino is a surface modeler.
Your inner cylinder has to be connected to the outer cylinder. Perhaps another small “vent” cylinder would do it.

If you modeled you part this way, you would have to print it on an additive system that did not solidify from a polymer liquid, or the non-solidified polymer could not drain out.

3D printer drivers generally only care about closed curves in all slices and that doesn’t have anything to do with normals.

Create your outer shape, and cut a hole in it somewhere using Trim. Use OffsetSrf to create your inner shape, normals pointing inwards, “solid” -option ticked.


Thanks for the pointers. I am trying to make something that floats so I’d have to go back and plug the hole. Simplify3D does know about normals, it can show and repair them if needed, but I’ve yet to hit a case where they are damaged.

I’m printing without support medium so there’s nothing inside the model that needs to be relieved, drained, or cleaned.

The usual trick is to split the object in half then glue/pin them back together, but if I can have the printer do it all for me…

Just to explain why things are the way they are (note that I am fairly new to Rhino as well, so hopefully not wrong about this).

Rhino thinks about the world in terms of surfaces, not solids. When you have a surface which fully bounds a space, it then assumes that to be a solid. When a second (fully bounded) surface is contained within an outer one, Rhino doesn’t interpret this as walls of a certain thickness but one solid object inside another.

Consequentially, when you drill a hole between them and connect the 3 surfaces (i.e. the outer skin, the inner skin, the skin of the hole) it then pieces them together as a single object with specified wall thickness.

Does that help at all?