# 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.

Thanks.

hollow sphere.gh (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:

HollowSphere.gh (20.3 KB)

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

2 Likes

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

Brep_hollow_ops_Intro_V1.gh (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.

Moral: