Shelling: Shell Result is not a solid

More often than not, when I shell something, I get the warning “Shell Result is not a solid” and a polysurface with naked edges that I have to manually repair.

For example, here, I have a solid that is not that complicated. If I try to shell to 0.03, removing the large, nearly circular face, I get the same error.

Problem17.3dm (162.1 KB)

I can manually go back and fix up the edges.

Is there some simple way to avoid this error and having to manually repair shells?

There are several ways to get a good result (all without the command Shell). The method we use most is to find the center of the object with the command centroid of area or volume. Then I make a copy using the gumball and pressing ⇧ + ⌥. Alternatively you can use the command-scale 3d always using the area centroid point of reference.
Finally, I create a small curve to the main subject with the thickness measurement and do match the object created with the gumball. To create an object will need to create a solid surface closing. In this case I used the command sweep with 2 “concatenate edges” active.
Problem17 offset gumball.3dm (319.8 KB)

3 Likes

Yeah, that one looks like it ought to work - thanks for sending that in.

http://mcneel.myjetbrains.com/youtrack/issue/RH-31699

-Pascal

Here’s another one that will not shell even though it looks simple.

I am trying to shell to 0.03" (Tried 0.01-0.04" as well) removing the smaller of the planar surfaces with a curved edge. However, I get the same problem no matter what surface I try to remove.

Problem76.3dm (212.1 KB)

Hi Jim - this works OK if the sides and the ‘vault’ are tangent all along the edges where they meet. My guess is that is the intent anyway…

-Pascal

Hi
The Shell Command does not generate solid body. I try to increase the tolerance but still the same.
Shell cammand not solid.3dm (246.8 KB)

Can you post a file with the geometry you used as input to Shell?

Attached is the file with geometry. I would like to shell it 1mm inside direction. shell geometry.3dm (129.7 KB)

I need it to be solid to create a SLT file for 3D print. once it solid shell I will make some holes.

Hi @ausprop2020,

Explode the cylinder and delete the flat end nearer the box. Then select everything and join so you get a single polysurface. After those two things shell will work fine.

HTH
Jeremy

Hi
Its still showing hollow extrude.

shell geometry.3dm (113.0 KB)

A “solid” in Rhino is a closed surface or polysurface. There is nothing inside.

You only need surfaces to produce an STL file - the file will contain a mesh generated from and representing the surfaces.

Rhino is a surface modelling tool. It allows beautiful surfaces to be created, and it helps to think predominantly in terms of surfaces rather than solids. There are other tools that are solids-oriented, but generally the surfaces they can create are more limited. When I started using Rhino my mindset was solids and Rhino worked ok for the engineered products I was interested in producing. As the type of object I wanted to work with changed my mindset turned more to surfacing and I was able to produce more elegant objects.

I did a booleanunion on the two pieces and was able to shell to 1mm with no problem.

for stl output it can often be easier to mesh the mart, then offset the mesh with the solid option = yes,

So I followed the copy, scale, and sweep solution from @Zsimon, well sort of…
I had stitched the shell together using sweep. But I think sweep is limited to closed curves, I’d like to get a better understanding of patching open edges in Rhino. I can see it getting complicated when dealing with polysurfaces opened by freeform curves.
I have an example of that attached.
Shell.3dm (5.5 MB)

Can someone share an experienced idea of how I can patch the two offset polysurfaces that are opened by polylines shown in the screenshot?

edgesrf
loft,
and blendsrf set to chain edges and positional continuity will get you there.

showedges set to naked edges will show you where the problems are

the cap command will help with the larger piece
Shell k_fix.3dm (2.6 MB)

this video may help

.

Thanks, I’m checking this out soon.

I looked your video over and learned some details about Loft:
I duplicated the two top facing edges that I needed patched, joined them into two closed polycurves
Loft creates the best result for a connecting surface between the curves but there was an issue in geometry between two ends
I learned this was because the union was between one curve(partial ellipse) that was broken into segments while it’s offset counterpart was whole
So I used mergecrv to repair the segmented partial ellispse, joined it back into its polycurve to close, then lofted the two offset closed curves. I was successful

And you’re right… people should pay special attention to drawing tolerances when transferring work between different software. It saves hours of work

blendsrf set to position with chained edges works great for “lofting” two multi segment edges together.

It’s one of my favorite tricks for cleaning up messy edges like that, especially ones that won’t join back up with merge edge.