Shelling failed: another example

Another example of shelling that fails. I made a tapered extrusion and then “merge all faces”, but the shelling fails.
Will settle this kind of situation in the future?
it is very frustrating having to manually adjust all surfaces, do not you?
shell failed 2.3dm (263.7 KB)

Hi Davide, i would appreciate too if shell would be able to handle that. The problems can be solved quickly if you merge your wall surfaces after creating tapered extrusions, they are caused by edges running to one point. I´ve used TestSplitAtTangents command to seperate the planar part from the curved one in the wall surface and sweep2 to close it, then shell seems to work with the joined result.

shell_c.3dm (236.1 KB)


Thanks Clement, but I’d like that such cases were resolved easily by Rhino, without manual intervention by the user.
Beyond this case, the shelling has yet to be improved. I am confident in Rhino 6.

Clement, sorry, here is another example of shelling that fails. Why Rhino is unable to run a shelling of this volume? (I would remove the face red highlighted).
It should also resolve these cases, do not you think?
shell_c.3dm (226.9 KB)

Yep, as above, i agree with you in regards to both commands, Shell and ExtrudeCurveTapered.

Especially ExtrudeCurveTapered should merge the faces properly and (@margaret) it should not use a black preview color, which seems to happen here for the caps (Solid=Yes option) only :wink:


We hope that these examples Pascal read and add to the list of things to fix.
Hello Clement.

Davide, do you have an example of this working in some other program? what is the desired result?

“shell_c.3dm3 (226.9 KB)”



Hello Pascal, unfortunately I uninstalled all of the programs with which this type of shelling worked, I mean in Catia v5 and solidThinking 8.5.
This example highlights the difficulties regarding the shelling in Rhino, as Clement also he noted.
If I wanted to remove the face bordered with red, and run the shelling, why Rhino is unable to calculate the intersections between the faces? Is a limit not yet resolved, a bug, or something impossible? I do not know, you tell me…
With the upper and lower faces the shelling works, but with the other side not!
I’m wrong?
Thank you very much.

I guess something like this might be the result shell_c2.3dm (258.1 KB)

What i do not get, if i extract the surface to be removed and the conic one to its left, join and offset, a possible edge to trim with gets created. Also the lower horizontal edge of the surface to be removed seems to get a strange naked edge point where i don`t expect it (after shell failed).


Perfect Clement, I wish they would do this Rhino!
Pascal is possible to achieve this shelling without build everything manually?
I hope that developers solve this kind of situations … I also to the shell of a tubing on polyline: in this case, the intersections are often generated in a non-optimal.
Maybe too much to ask!

Hi Clement- Yeah, that is reasonable, but (one reason I asked) different from what I get from a solid modeler here- I get this- (section curve added)

Anyway, it is on the pile of things to shoot for. I prefer your result.



thanks. I´ve been wondering if the Shell command could give out some user info if it fails, eg. if it would mark a surface or area in the model where to look for. Once i´ve set the shelling type to Extend instead of Blend using an old test command @chuck posted in 2011, i got this info on the command line:

Cannot shell a polysurface. At least one side surface will not intersect a removed face after offsetting. OffsetSrf may help in getting a partial solution.


Why the shell of the face with board red fails with thicknesses greater than 0.32?
With minor thickness values, works. It will be a bug?
Check it out, thanks.
shell 3 failed.3dm (91.6 KB)

Hi Davide - It seems to have to do with the way the surfaces are structures - if all the planar surfaces are made from trimmed planes, then it works better at larger values.
shell 3 failed_PG.3dm (90.5 KB)

I’ll add this example to the ‘heap’. thanks.