V6 Fillet,offset bug?

Posting this more as a development question.
sample file attached
I’m finding both inconstant fillet caused by questionable surface creation or offset results.

Original layer contains the base surfaces whichthe other layers were derived from. Started with a less than ideal Catia surface imported thru Datakit Exchange. The surface was only used as a surface reference for a “Rebuild” to get what I have here. Additionally the surface was “extendedsrf” as needed. There are no " RemoveMultiKnot" or “selbadsrf” or twisted knot issues detected.

Successful “FilletSrf” at 7 mm on the original surface layer, failed to correctly fillet on the other two 2.8mm offset layers at 10mm radius.
The results change depending on if the surface was “ShrinkTrimmedSrfToEdge” or not. You can see the problem knot (highlighted by magenta curve)

It looks like something is failing as it goes thru the offset of filleting process. Is the offset generating a undetected bad surface?

Lastly why would the shrunk surface give a different result then the unshrunk surface.

I hope this is useful

sample.3dm (186.6 KB)

Hi Ken - the surfaces are not quite curvature continuous across that knot - DivideAlongCreases (SplitAttangents=Yes) will split that off right there into two surfaces. If you then make two separate fillets it comes out clean…


Thanks Pascal, but my question is more of a why does it occur in the first place, this was a grossly down sampled rhino rebuildsrf, it started off in Catia as a Trimmed surface.
NURBS Surface
“U”: degree =3 CV count = 162 (0.000 <= U <= 1.000)
“V”: degree =3 CV count = 202 (0.000 <= V <= 1.000)
or just as important how can i detect or this or not create it in the first place.


Hi Ken - if you were working from rebuilt surfaces, my guess is the discontinuity came from ExtendSrf Type=Line - you should probably use Type=Smooth.


Quite possibly, I would have started out with smooth and changed it as the results where really squirrely. At least I’ll know to check for this in the future.


Hi Ken - also, offsetting would tend to make any discontinuities worse, if anything.


It occurs because Rhino’s handling of composite surfaces is very buggy.
Rhino should flag the surface as a bad object so that the user would know that it is likely to cause problems.

When surfaces have fully multiple knots that do not have perfect tangent continuity you can expect this to happen. And when you see fillets and offset surfaces behave like this, You can expect that stacked internal knots is the root of the problem.

Probably the best way to deal with it in this situation is to remove 2 knots at that knot line . It hardly changes the surface shape at all. Also you could use the “loose” option when you offset that surface. Since the surfaces are pretty flat and have fairly dense structure the loose option would probably be sufficiently accurate.