Shrinking fillet surfaces

@pascal

I tried the 'testFilletSrfNonRational` command and found some things that should be adressed.

Choosing segmentation-count with deviation analysis is really nice and it is a really good approach, as sometimes fillets serve as “surfaces” for further construction like gaps and draft angle flanges etc. and ideally have as little segmentation as possible.


For full control I would like to control fillets from “both ends”

  • Choosing segmentation-count, resuling in deviation/Match quality (like currently)

  • Choosing Match quality, resulting in Segmentation



Filleting-Segmentation in Rhino seems to be dependant on Surface spans, which results in too many and too irregular fillet-patches. This will be problematic for manual handling and should be avoided.


Instead of Segmentation by Span, segmentation by Curvature should be considered. Meaning each fillet patch covers as much ground as possible until it reaches a certain deformation, which will add the next fillet patch etc.

This way segmentation can be controlled perfectly:

Length2

Also only choosing between Order 4 and 5 length wise is not an ideal approach. Usually fillet patches should have 6 to 7 Control Point Rows lengthwise. This covers the most ground with the smallest amount of patches, as well as (in Theory) making it possible to manipulate fillet contours with G2 continuity (3+3=6), so every patch could be matched to its neighbours at both ends.

Another point is that the fillets do not have a constant radius and do not have a constant circular shape.

This is caused by Bezier geometry not being able to describe a perfect circle.

Currently the filleting only offers arcs of 4th and 5th order, resulting in deviation.

Instead of exact mathmatical representation, and depending on the algorithm, this is commonly solved by using an approximation of a circle with arcs of Degree 6 and Order 7 (7 Control Points), resulting in neglectable deviation. This is the “industry standard” and should be considered to make the fillets compatible with other systems.


As a start I would recommend :

  • For circular fillets: Arcs with 7 Control Points, and 7 Control Point Rows lengthwise

  • For G2 fillets: Arcs with 6 Control Points, and 7 Control Point Rows lengthwise

Best Regards

1 Like