I’m having trouble where a shell polysurface is producing either 1) holes in the resulting brep, or 2) an invalid brep. It seems to be related to the thickness of the shell, and I imagine it’s about intersections among the facets.
Any suggestions for how to better approach this problem?
If it is for 3d printing you will end with a Mesh so here a solution with Dendro.
You can offset with Dendro but not shell. So you offset and then cut the model to have a hole.
As I wanted to keep your shape I scaled the shape in order to make the interior, then boolean.
Et voilà ! But your seam is awful, I think you will find tricks on this forum to deal with that.
As @laurent_delrieu mentioned, shelling polysurfaces is not meant for this type of geometry. Better practice is to use meshes or to boolean. It is meant for much simpler types of geometry.
In your defense, there is no good description about what kind of geometry it works on, mainly because it is hard to describe. But once you get it working you understand when and when not to use it (mostly). http://docs.mcneel.com/rhino/5/help/en-us/commands/shell.htm
McNeels description is:
The Shell command creates a hollowed out shell from a solid.
Shell only operates on simple, solid, manifold polysurfaces. These surfaces are removed and the remainder is offset inward, using the outer parts of the removed surfaces to join the inner and outer parts.
But it is hard to describe what exactly simple means right.
Well sure scale+bool works really well with some shapes. But if you need a consistent thickness or have a very difficult shape you will need offset. Usually I go to Zbrush or Mesh lab which have mesh thickening options that don’t cause self intersection in the thickness.
Hi there! You might notice that the Shell node isn’t completely failing. It’s creating two outputs, and one of them is valid. It’s actually just a part of the larger group. I believe this is a mistake when it comes to how the Shell node is coded, where the items are not joined after they are formed. I ran into this problem with a very faceted shape, trying to do exactly what you’re doing here and found that simply running those outputs through the “Join” node gives me exactly the output I’m looking for.
TLDR: Run the outputs of the Shell node through a Join node.
trying to do exactly what you’re doing here and found that simply running those outputs through the “Join” node gives me exactly the output I’m looking for.
Good that it worked in your case but in this case it clears invalid but doesn’t resolve the actual problem of making a water tight shell. Shell is very case by case sensitive. See image, faces that were “invalid” just go missing and the facets have gaps.