Hey all,
I’m running into inconsistent results using Shell on a few very simple closed polysurfaces (elongated boxes with mitered edges). I’m trying to make tubes from these solid boxes using Shell, and deleting the 2 smallest faces at opposite ends.
Sometimes it works, sometimes it creates open polysurfaces. But the strange part (to me) is that if I duplicate the same objects, different ones fail each time.
Steps:
- Select closed polysurface
- Run Shell
- Remove two smallest faces
- Thickness = 0.125
Notes / what I’ve tried:
- Same issue happens via script (Brep.CreateShell)
- Same issue in Grasshopper (Pufferfish shell)
- Units: Inches, Tolerance: 0.001. Changing absolute tolerance changes which objects fail, but never fixes the problem.
Current workaround is to run shell, see which objects failed, undo shell, copy failing objects in place, try again. But this makes it really hard to batch the process, and with such simple geometry it just seems like this ought to work.
Any thoughts would be appreciated!
Thanks everyone, Rhino team is awesome.
Here’s piece of the file as an example:
Example_Shell_Fail.3dm (723.5 KB)
And some screenshots of the process. I just copied the original geometry in the example file twice and ran Shell on all of them together.
ShowEdges before running Shell: no naked, no non-manifold edges
Selecting edges to delete:
SelOpenPolysrf after Shell:
System info:
Rhino 7 SR38 2024-12-3 (Rhino 7, 7.38.24338.17001, Git hash:master @ 97e36efa02d7f71638988290bb2d190fcf1b18c5)
License type: Educational, build 2024-12-03
License details: Cloud Zoo
Windows 11 (10.0.26200 SR0.0) or greater (Physical RAM: 28Gb)
Computer platform: LAPTOP - Plugged in [100% battery remaining]
Non-hybrid graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 3050 Laptop GPU (NVidia) Memory: 4GB, Driver date: 12-2-2025 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 591.44
Integrated accelerated graphics device with 1 adapter port(s)
- Windows Main Display is laptop’s integrated screen or built-in port
Secondary graphics devices.
AMD RadeonT 660M (AMD) Memory: 4GB, Driver date: 3-3-2026 (M-D-Y).
Integrated accelerated graphics device with 5 adapter port(s)
- Secondary monitor is laptop’s integrated screen or built-in port
OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)
Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High
Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 12-2-2025
Driver Version: 32.0.15.9144
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 4 GB
Rhino plugins that do not ship with Rhino
C:\Users\ellsw\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\NVIDIADenoiser\0.4.3\NVIDIADenoiser.Windows.rhp “NVIDIADenoiser.Windows” 0.4.3.0
C:\ProgramData\McNeel\Rhinoceros\7.0\Plug-ins\Datasmith Rhino Exporter (d1fdc795-b334-4933-b680-088119cdc6bb)\DatasmithRhino7.rhp “Datasmith Exporter” 5.6.1.0
Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 7\Plug-ins\RPC.rhp “RPC”
C:\Program Files\Rhino 7\Plug-ins\IdleProcessor.rhp “IdleProcessor”
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\Alerter.rhp “Alerter”
C:\Program Files\Rhino 7\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.38.24338.17001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 7\Plug-ins\Calc.rhp “Calc”
C:\Users\ellsw\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\SectionTools\2021.4.30.511\SectionTools.rhp “SectionTools”
Object information on all 6 faces of a failing object after exploding:
surface
ID: e5471e05-8f2f-413c-be0a-f04608bcfd51 (980)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
trimmed surface.
Plane Surface
“U”: (-0.030 <= U <= 3.068)
“V”: (-0.060 <= V <= 6.060)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present
surface
ID: 341150b5-4270-4a1e-8730-8114bd353090 (981)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
trimmed surface.
NURBS Surface"U": degree =1 CV count = 2 (-16.000 <= U <= -14.000)
“V”: degree =1 CV count = 2 (0.000 <= V <= 28.000)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present
surface
ID: a455123c-9118-4a90-9be8-128b8fb0e3da (982)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
trimmed surface.
NURBS Surface"U": degree =1 CV count = 2 (-14.000 <= U <= -8.000)
“V”: degree =1 CV count = 2 (0.000 <= V <= 28.000)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present
surface
ID: 70a012a3-93a7-4c3b-a2bf-b6b0ef5a17d1 (983)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
trimmed surface.
NURBS Surface"U": degree =1 CV count = 2 (-8.000 <= U <= -6.000)
“V”: degree =1 CV count = 2 (0.000 <= V <= 28.000)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present
surface
ID: d43998ab-8f77-49bb-bf59-e4ada103d76a (984)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
trimmed surface.
NURBS Surface"U": degree =1 CV count = 2 (-6.000 <= U <= 0.000)
“V”: degree =1 CV count = 2 (0.000 <= V <= 28.000)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present
surface
ID: 7fd8ac46-3351-4c26-a673-f919b320f85b (985)
Object name: (not named)
Layer name: Default
Render Material:
source = from layer
index = -1
Attribute UserData:
UserData ID: CE28DE29-F4C5-4faa-A50A-C3A6849B6329
Plug-in: 17b3ecda-17ba-4e45-9e67-a2b8d9be520d
description: User text (0 entries)
saved in file: yes
copy count: 50
Geometry:
Valid surface.
surface.
Plane Surface
“U”: (0.000 <= U <= 6.000)
“V”: (-2.657 <= V <= 0.000)
Edge Tally:
4 boundary edges
Edge Tolerances: all 0.000
Vertex Tolerances: all 0.000
Render mesh: 1 mesh 4 vertices 1 polygons
Created with quality meshing parameters.
Analysis mesh: none present


