Solid Difference to Make Hollow Sphere

Hi All,

I understand there are plenty of solid difference posts on this forum, but my problem seems so simple and I still cannot figure out what is wrong. I am trying to create a hollow sphere by performing a solid difference on two sets of spheres, one bigger than the other. When I use the solid difference component, I get the resulting volume as the same as my original large sphere. When I swap the inputs I get the volume of my smaller sphere. I think this might have to do with the spheres being untrimmed surfaces? I am still not totally familiar with all the different types of breps, so if anyone could point me to information on that I would also appreciate it. Screenshot and gh file attached.


hollow (12.5 KB)

You can’t use difference it is a volume inside volume

Rhino is a nurbs surface modeler.
Surfaces, not solid. There are no real solid inside rhino.
Think about it as the difference between a solid wood cube and a paper cube (made from 6 paper squares). Rhino can make the paper cube.

Polysurfaces: where many surfaces that share an edge “joined” together.

You can’t have a hollow polysurface, because the interior set of surfaces doesn’t touch the external set.
You need to make a “bridge” to connect the inside to the outside.

See this post Creating a hollow 'solid'

1 Like

Thank you for this explanation. In the post you linked, it seems like I would have to bake the geometry in Rhino and then reference it back into Grasshopper. Do you know if there is a way to achieve what I want in Grasshopper?

Thanks again.

This could be a workaournd: (20.3 KB)

You can do in grasshopper too.
Make a small cylinder to join the inside and the outside. (8.8 KB)


Thank you very much!

That’s interesting, as you reparametrize to .5 then sweep it, and it works but results as a different volume, while it seems it should be the same, maybe some rounding error? I could see if you were giving .4999 to leave the connection to outer, but seems like .5 should give equal volumes, strange food for thought!

I’ve been banging my head against my screen trying to figure out why my subrtract wouldn’t work, I guess that is why, I’ll have to make a pinhole connection to the outer surfaces to fix, either that our bake it out and subrtract it in solidworks or elsewhere.

Can you tell us why you need a hollow sphere in the first place? What is your downstream goal with this type of object?

You can do this in base Rhino with the commands _NonManifoldMerge and then _CreateRegions. It may be possible to put those inside a script component in GH… never tried.

Not sure about OP’s case, but for me coming from solidworks it is common to do a “shell” command, resulting in a hollow model, in many cases, and my case relative to OP, for 3d printing. In my case I’m taking a solid BREP, applying offset surface, then boundaries solid, then solid difference, to result in a hollow part. Interestingly I’m getting mixed results from complex part to new part, I need to do more investigation to determine the intricacies in play.

In general for that type of stuff you need this Method:

So get the attached and replace boxes with anything else (128.1 KB)

Notify if you need mode complex cases (and a clip C# for obvious reasons).

1 Like

Cool man, thanks for the new learning toy, I’ll have to study this at length! You grasshopper guys are on the next level when it comes to CAD. I had a slight idea, which is why I downloaded the evaluation version, but had no idea, seeing so many examples of cool stuff like this or like the guy who showed how to fit a 3d helix to a non-round shape and others and all making it look so easy!

My background is 20 years of machine design with solidworks and autocad and a bit of blender, you grasshopper guys are from another planet!

Far from it I’m afraid: don’t confuse abstract stuff (or - speaking having AEC matters in mind - stuff related with some preliminary/concept level of study) with reality: parametric design is NOT what you think and maybe would never be.


Screen Shot 074