Filleting a cube with untrimmed surface result

Hello! I am a new Rhino 3D user. I actually come from an electrical engineering background, and we are using Rhino 3D to process model data to load into our electromagnetics solver codes via OpenNURBS. Our code does not support trimmed surfaces; however, and therefore everything must use untrimmed NURBS surfaces. I am trying to fillet all of the edges of a cube to produce a cube with rounded edges and corners, but this always results in a cube with trimmed surfaces. Is there any way to achieve the same effect but maintain untrimmed surfaces? I know that Rhino 7 WIP has a QuadRemesh tool, which works but it generates a huge number of surfaces. Any suggestions or advice would be much appreciated-- thanks!

Hello - a filleted cube should get all but the corners to be untrimmed if you ShrintTrimmedSrfToEdge. The corners are a different ball of wax though - if you can get away with BlendEdge (not true arc fillets, G2 to the flat faces) this creates the corners differently and the shrinking should get you all untrimmed faces.

Untrimmed BlendEdge on the left, FilletEdge on the right


Thanks, Pascal! I can’t seem to quite get this to work the way you did. I first used BlendEdge instead of FilletEdge, and I get the following result (the corners actually look different than yours with rounding on the top surfaces rather than corners):

Next, I used ShrinkTrimmedSrfToEdge on all of the resulting surfaces. When I do UntrimAll to convert the surfaces into untrimmed surfaces, it works except for the faces of the cubes which are now square again and overlap with the rounded corners:

Screen Shot 2020-05-22 at 2.08.22 AM

I’m clearly doing something wrong, but not sure what. :frowning: Thanks for your help!

If deleting the rounded corner is acceptable, then you can replace it with “Sweep 2 rails” with the following settings to maintain tangency to the adjacent edges:

PS: It’s funny that the tool itself is called “Sweep 2 rails”, but in the dialog box it appears as “Sweep 2 rail”, without “s” at the end.

Ah, sorry, you are using V7… new and actually much better way to handle the corners in BlendEdge but not compatible with your requirements… V6 does it the way I showed. If you are not handling it all in a script and human intervention is allowed, then Sweep1, Sweep2 or EdgeSrf or NetworkSrf can all make the three sided untrimmed corner piece from the edges of the surrounding fillets.


Oh I think there’s actually a clever way to do this…let me see if I can get it to work.

Here’s one way of doing it - Split by isocurve and shrink the edge slivers that are formed by the curve ends. Bump up the degree of those little slivers, You can then match those little surface edges to the trimming curves that cut the edges of your surface. If you need a more complex blend shape or have trouble getting it watertight you can bump up the degree and rematch (it’s degree 3 now). Make sense?UntrimmedRoundCorners.3dm (57.2 KB)

I forgot to shrink the middle surface, fixed and attachedUntrimmedRoundCorners2.3dm|attachment (50.2 KB)

If the corner sphere is oriented the right way, then shrinking will just work, on a cube with rolling ball fillets. That might actually be the simplest way out - make new spheres in the corners with a pole on the right location, trim and shrink.

UntrimmedCorners.3dm (305.4 KB)


I dunno why my updated file isn’t uploading, but anyhow you should be able to get the gist from the graphic. Its 3 untrimmed surfaces, making your cube face with rounded corners.