Fillets not working on complex surface model

Hey all, thanks in advance for any help you can offer. I’m working on designing a wrist/hand brace based on a 3D scan.

Question: How do I get fillets to work for the edges on the inner surface which are in contact with the hand?

Workflow so far: bring in scan → quadmesh to creat nurbs surface (done seperately for thumb and rest of hand/forearm) → ToNURBS to create surfaces → OffsetSrf [solid] → BooleanUnion → general trimming to shape the brace.

I have tried FilletSrf and FilletEdge, both mostly end up leaving me with this (last picture). Some fillet surfaces underneath the corner, but not properly performing filleting the edge. Is there something I should be doing to simplify these surfaces first?

Hello- it is hard to say where it is failing without the model - you can post it here or send to with a link back here in your comments.
It does seem like maybe working with SubD might be a better way out here, but I’m pretty sure we can make filleting work - it may just need more work from you as well.



Here is the file! If you’re able to figure it out plz let me know how. I’m happy to do more work to the model, just trying to find a clean workflow. Thanks :slight_smile:
BraceFile.3dm (9.5 MB)

Yep, I see - the upshot is, you can combine edge filleting and surface filleting here and take the best of each but I think you’ll need to stick the results together and trim them in ‘by hand’ most likely. There are locations where the edges are a bit messy - little short bits of edges not quite tangent, etc, that are going to mess up the automatic filleting/trimming.

I’ll take a swing at it and see if I can get you pointed in the right direction.

Surfaces are not quite tangent -

That makes things harder for the automatic and the by hand tools…


I was able to FilletSrf but it is a painful process because your surfaces are not tangent in several places. The non tangent base surfaces result in fillets that do not connect (gaps that don’t join) I was able to fix the gaps in the fillets with matchsrf command but trimming was still painful slow process. I think most of your problems would go away if your surfaces connected with good tangency.

BraceFilex.3dm (1.4 MB)

1 Like

Wow amazing, thank you so much! Ya I’m new to rhino, so still trying to get an understanding for how to make smooth surfaces. Do you have any tips or reference material for how to make sure my surfaces connect with better tangency?

Yes I see now the issue with the surfaces not having good tangency. Do you have any tips or reference material for how I can improve my workflow in the future to create better surface tangency? Thanks so much!

Also, would you be able to explain how you made the FilletSrf work? Here I try on another corner and this happens - the fillet appears as a seperate surface underneath the edge. How do I trim away the edges?


Well, looking at the workflow that you described, the inner surfaces look like it would not be difficult to use matchsrf to make sure that they are all tangent.
So first step after creating the inner surfaces, I would explode and untrim all the inner surfaces and then select those surfaces and offset them the 6mm (do not offset them as joined surfaces). If all the outer surfaces that you just created join properly (run sellast + join) then you know the inner surfaces all have good tangency. When the outer surfaces fail to join then you know which edges need matchsrf to fix the tangency problem, so undo the offsetsrf and match the edges where the offsetsrf failed to join and then try the offstsrf again. this time the outer surfaces should join.

Since the surfaces have fairly dense knot structure you should be able to use the loose option when you offset the inner surfaces to make the final version of outer surfaces. Doing it that way will give you much nicer surfaces for the outside. The offset won’t be precisely 6mm , but I’m sure it will be close enough for what you are doing. And you will again probably have to match surfaces on the outer surfaces to make sure they are tangent


Amazing, thanks for all the help! Much appreciated. I’ll keep working on it.

I think that for this kind of organic shapes, that may also require a bunch of additional adjustments related to hand size, you would be happy to use Rhino 7’s Sub-D modeling toolset. It’s basically a Catmull-Clarc subdivision modeling technique which is well suited for free-form organic shapes and allows you to conveniently build and modify the model in just a few seconds. You can also convert your final Sub-D model into NURBS polysurface and then add holes and other details with the regular NURBS modeling tools of Rhino.

Unlike Sub-D, the traditional NURBS surfacing modeling is more appropriate for industrial kind of objects that require precision and preserving the smooth flow of the general shape when the surfaces are split and drilled, along with accepting plenty of “engineering detailing”, such like: boats, cars, trains, electronics, furniture, buildings etc.

I strongly recommend you to watch the following video tutorial by @BrianJ which is very easy to understand and learn:

And here is another good tutorial that shows the basics of the Sub-D modeling with Rhino 7: