Can you join these surfaces?

I have spent at least one hour trying to make water-tight joint between red surface and blue surface. I tried fillets, blends, sweeps, rebuilding edges - all in vain. The green fillet is one of many attempts to join these surfaces.

bad fillet.3dm (3.5 MB)

you have a small trimming problem there:

you can make a tiny pipe to re trimm the blue surface

and then every blendsrf, sweep2, networksrf will work


It did not work. There is big hole in new fillet (shown below) in the same place where the old fillet had bad seam.

I deleted the new fillet and I ran RebuildEdges command on the blue surface. The RebuildEdges command made strange edge (shown below) on the trimmed edge.

I believe that we deserve better RebuildEdges command.

no you dont. why should a software compensate all crap surfaces it has to swallow. besides that it looks like you have an unmerged edge in there since i am on my phone i cant check now.

I agree. Looking at the file it seems the blue surface is not tangent with itself at its seam, so this will never work well:

1 Like

The edge trim curve of the red surface had 162 control points. I used Rebuild command to reduce the control points to 26. It did not help, so I rebuilt both surfaces with the same number of control points as the old surfaces. The rebuilding spoiled the surfaces. As you can see in the following screenshot, I now cannot make decent fillet with the FilletSrf command.

The spoiled file is here: bad fillet 3.3dm (3.5 MB)

if I untrim red and blue, it fillets just fine at 0.1 radius
good fillet.3dm (3.6 MB)

Yes, it does make the water-tight surace. Maybe the problem was that the trimming curve was too close to the edge of the surface?

Bad NURBS surfaces are as common as bad meshes. Rhino has many commands which repair bad meshes, so it is natural to expect equal number of Rhino commands that repair bad NURBS surfaces. In reality, there are few if any such commands. The Check command is nearly useless - it calls bad surfaces good surfaces. Worse yet, there are no diagnostic tools to help us figure out what is wrong with a bad NURBS surface.

Hello - I don’t think there was anything at all wrong with the surface, the problem was the existing gap between the two input surfaces did not leave enough surface for the rails in all locations… Untrimming removes that and lets the fillet find its rails on the surface.


The red surface is about 0.7mm wide and the blue surface is much wider. It seems that there is enough room for a 0.5mm fillet, but 0.11mm fillet fails.

Also if you untrim the surfaces first?

I made 0.3mm fillet on your file - it worked fine.

It’s all working as it should as far as I can see - a .11 fillet does not fit, for the reasons I pointed out above:

Cyan = original surface edges.

and a .3 fillet does fit. I’m not sure what is irking you.


You have not explained it well. If 0.1mm and 0.3mm fillets work, than 0.11mm fillet should work as well. Maybe the problem is that the edges of the 0.11mm fillet are too close to the edges of original surfaces?

Hello - I’ll try my best to find a different explanation if you can make a .1 fillet work there.


it does work just fine if you untrim both the red and the blue surface…

I made the 0.1mm fillet on the Gijs file - it worked fine.

Well, I was trying to point out why the fillets that fail fail. I’d think that is the goal. The ones that work are not using the same inputs as the ones that fail, so they work.


The big question is why the fillets failed on the original surfaces. I still believe that the trimming curve was too close to the edge of the untrimmed NURBS surface. If I am correct, Rhino should check this problem every time it makes new NURBS surface. By the way, The original blue surface had double trimming curve on the bad edge and additional trimming curve near its middle.