FilletSrf with Continue across faces

FilletSrf with Continue across faces reacts strange.
See video.

I’d expect to get the fillet on both sides, not one OR the other if the option is active.
Also, it is critical where the 2 surfaces get picked.

Thank you for your report, and this requirement has been logged with our development engineers.

RH-89900 FilletSrf: Continue across faces

as far is i understood, rhino’s fillets depend on offsetting the surfaces.
and as the fillet is flipping from convex to concave - requiring offsets in different directions - i am not surprised that this fillet can not be continued.

also for the case above, _filletSrf has to be applied twice, even if it s only one surface of each side of the edge.

_join
_splitEdge
_filletEdge twice.

By the way in noticed another bug:
split the edge
select both parts of the edge.
_filletEdge will fail, but it will merge the edge


after failed filletEdge the edge is merged:

:thinking: …hm… still some work to do to make fillets robust for all those special cases…
kind regards - tom

convex_concave_fillet_.3dm (3.8 MB)

Yes that’s true but there is a lot more to it.

In the case of FilletSrf The user is telling Rhino which type of fillet the user wants (convex or concave). The user tells Rhino which type of fillet surface the user wants by the location of point on surface where the user picks.
When using FilletSrf there is no requirement that the two surfaces the user wants connected by a fillet must share a common edge. That is just a superstitious belief many Rhino users have from years of using the FilletEdge command. Often its a complete waste of time to create an edge based on the belief its necessary step to create a fillet when you can just go straight to making the fillet with trim turned on and then join the result to connect all the surfaces.

In modeling work where the user is modeling parts to be manufactured it is a common practice to use different size fillets for convex and concave fillets. It would be an annoyance to me if Rhino decides its going to make a fillet I didn’t ask for. It would be rare that I would want the concave and convex fillets on two intersecting pipes to be the same size.
Its also an annoyance that when you use FilletSrf on two intersecting pipes it gives you all the possible convex or concave fillets rather than just the one that the user asked for. That came about due to pure laziness by the developers not filtering out the ones the user didn’t ask for. .

Also, a much bigger problem that this discussion ignores is that more often than not Rhino fails to make the correct fillet that comes to a point. Until that problem is fixed the question of what should happen going beyond that point is moot.

Here are some examples of fillets that come to a point (or should)
fillet_these_R50.3dm (182.1 KB)

My result using FilletSrf is strenge… surfaces are clear, but look!

@Robert26 pls share the file so we can investigate.

prevka.3dm (199.3 KB)You welcome

Or blend it…

There are a couple problems with your surfaces.
The surfaces are not quite tangent and one of the surfaces has stacked control points. Use CurvatureGraph to find where the stacked control points are.

You will get much nicer results from FilletSrf if you make the round surface as a revolve surface and the flat surface as a trimmed plane.
better_surfaces.3dm (214.1 KB)

It would be nice if Rhino is capable of detecting if both connected pipes share the same diameter, then automatically apply a revolved surface between both with a radius defined by the user. Alternatively, the program could create a curve fillet between the centerline of each pipe under-the-hood, then build a pipe around the former.

Pipe fillet.3dm (694.7 KB)


Currently, I use the following scripts and macro to make that process manually:

ExtractCenterline.py (6.5 KB)
ExtractPipeCL.py (4.0 KB)

Axis from arcs and circles:
! _CPlane _Object _Pause _ProjectOsnap _Toggle Enter _Pause _Line _Vertical 0 _BothSides _Pause _Pause _Cplane _Undo _ProjectOsnap _Toggle Enter