Rhino WIP Feature: FilletSrf improvements

Rhino WIP has a number of improvements for making fillets/chamfers with the commands FilletSrf, ChamferSrf, FilletSrfCrv and FilletSrfToRail

  1. Continue across faces option for FilletSrf and ChamferSrf.
  2. Simplified (revolved) surface for FilletSrf and ChamferSrf where possible.
  3. Interactive Dialog for ChamferSrf.
  4. Better and cleaner results in FilletSrfCrv.
  5. More robust FilletSrfToRail.

FilletSrf and ChamferSrf - continue across tangent faces

In Rhino WIP, these commands have a new option to continue the fillets if adjacent faces are tangent. This speeds up making adjacent fillets tremendously, especially in cases where the faces are not exactly tangent. In that case, the fillet surfaces will be adjusted where their edges meet to close any small gaps between surfaces.


See this tips and tricks page to learn more about it.

FilletSrf and ChamferSrf - simplify to revolve surfaces

In addition to FilletEdge and BlendEdge that already do this, now also FilletSrf, ChamferSrf will make revolved surfaces where that makes sense. Revolved surfaces are usually simpler in their control point structure and communicate a clear design intent.

ChamferSrf - interactive UI

In Rhino WIP, ChamferSrf has been given the same make-over as FilletSrf got in Rhino 8: an interactive user interface with sliders to control the distances of the chamfer from the edge surfaces.

FilletSrfCrv - curve segments, multiple fillets and improved robustness

The FilletSrfCrv command allows you to create a fillet (constant radius) from a surface to a curve.

Fillets on curve segments
If a curve can be exploded, FilletSrfCrv will now make a fillet for each segment. This improves the quality of the result:

FilletSrfCrv in Rhino 8 - results are not good:

FilletSrfCrv in Rhino WIP:

Multiple fillets
If multiple fillets can be made between a surface and a curve, all fillets will be created. Rhino 8 returns only the fillet that corresponds to the clicked positions. This can greatly speed up a repetitive process, and gives expected results when using a closed curve with closed surface where the surface and curve seams do not line up.

FilletSrfToRail - improved robustness

The FilletSrfToRail command allows you to create a fillet from a surface to a curve on a surface, maintaining tangency to both surfaces.

The command has been improved with a new method for rail finding that is more robust. Many cases that do not produce a result in Rhino 8 will produce the expected result in Rhino WIP.

FilletSrf and ChamferSrf - C++ and .NET SDK updated

The C++ and .NET SDK has been updated to make it possible for 3rd party developers to get access to a number of improvements listed above.

Stay tuned for more as we are developing for Rhino 9!
Download the Rhino WIP…

45 Likes

Small changes made huge improvement.
Well done, keep this way.
Thanks

Nice

nice job.

happy to see

regarding setbacks i already posted some issues here a few days ago:

1 Like

I’m glad to see you (McNeel) are stepping up to these long wanted (and needed) improvements!

Now how about allowing definition of arbitrary section curves (90 deg; tangency at both ends for Fillets; any curve for chamfer)? As usual, it seems like a small step to the users. How about to the developers?

2 Likes

These enhancements are welcome. :slight_smile:

What about these?

1 Like

FilletSrf does this:

ChamferSrf should do the same when using different distances, but currently is plagued by a bug RH-87998 when some different distances are used, I’ll look at that soon. Having said that, it does work “sometimes”:

3 Likes

Any possibility to implement numbers 1 and 2 representing the two distances in the pop-up menu?

3 Likes

I suggest to use the following ring model to test the upcoming Rhino 9 fillet improvements, because it’s a closer representation of a real-case scenario than the basic boxes typically used by the “McNeel” team. It has some imperfections and lack of proper G1 in places, but this is also a good reason to make the fillets more robust, so that they could overcome this kind of challenges.

Пръстен 1.rar (1.6 MB)


Also, your team may use the “Lights lines 5 Plus” display mode to better examine the continuity of the resulting fillets:

*ini file:
Light lines 5 Plus.ini (14.0 KB)
Environment map:
Light lines 5 Plus.rar (789 Bytes)

4 Likes

This is at R=0.5 with FilletSrf using the latest (not yet available in the latest WIP) At R=1.0 the fillets don’t all join up, but a user-executed Join does. I’ll look into this, should “just work” from FilletSrf.

Bobi_Ring-FilletSrf_R0.5.3dm (1.2 MB)

3 Likes

Looks very promising! When the tool is fianlly done and I can export parts like this via stp into closed solids into NX this will make my life much easier!

1 Like

To make your model even farther from a box and more of a challenge, I changed the top surface from flat to concave.

fillet_challenge.3dm (1001.9 KB)

The image below shows the result of applying a 1mm fillet all the way around.

4 Likes

The top fillet immediately broke the design intent, thus the resulting model lost the top surface now. Strange.

It would be more interesting to test the various fillet commands on the top edges where the surfaces meet together in an unusual way.

Here is how your file looks after converting it to Rhino 7 file via the Rh3dmConverter.exe program. It has a completely broken geometry. I can’t open Rhino 9 WIP files as I only have Rhino 7. This is the first Rhino 9 file which fails to convert properly to Rhino 7 file. I have been using that file converter a lot and it always succeeded with Rhino 9 files…
Bobi_Ring-FilletSrf_R0.5.3dm (1.2 MB)

The top surface is still there. The fillets just cut away the middle of it.
It all depends on the size of the fillet.

If you make the fillet big enough so that the top surface gets cut in two you have to make both the fillet loops first then do the trimming manually after making both loops, so that the top surface remains for both loops.

2 Likes

I’m pretty sure that other CAD programs such like Solidworks (and maybe Plasticity) are capable of adding these fillets while keeping the top surface as a whole piece. Solidworks has extra options such like “Keep edge”, “Keep surface” etc. I don’t remember all of them, but they are plenty.

Something like this, except that I did that manually in Rhino 7.
Ring fillet challenge 1.3dm (707.8 KB)

One of the inner control points of your concave top surface was still at the original top position, so I was forced to use curve intersections (the blue curves) to split some of the fillets there.

1 Like

These aren’t an issue in a solid modeller, though with quick fillets like this there’s less control over surface quality. Even a 2mm radius ‘works’ but leaves a sharp edge. Creo:


ring_proe.stp (473.0 KB)

:heart_eyes:

That crease forming with R=2.0 is curious. Is it forming a fillet to the original parent surface, disregarding the lower fillet, then trimming the two fillets against each other?

As for the top surface being divided and consumed by the fillets as they increase in radius, while it may not be the design intent, I can see the logic in it and it does make some sense. Doing anything else would mean the software having to second-guess what the designer intends. That usually ends in tears.