Failing with fillet edge


Hi I am trying to make a variable fillet that meet with other one at 0.
I am not sure how to solve this, but Rhino is failing.

Please see the detail here:

I attached the file to test. Please notice the file is not trimmed yet. I was thinking to start by doing the radius on the horizontal bar. Then trim it and then add the fillet edge on the vertical bar.

fillet_error.3dm (58.3 KB)


I’d be amazed if there was a fillet command that could do this. I think you’re going to have trim and blend these surfaces manually. You can use the Pipe command to make the trims with. It won’t be easy. No guarantees you’ll get what want.


@Bruno_Suraski, below was made using _FilletSrf _Extend=No Trim=No then splitted the resullting fillets and filled the missing part by hand:

File: fillet_c.3dm (185.1 KB)



I think the only way is manually (as advised above). I cut the surfaces with pipe command


fillet_error V Simon.3dm (2.9 MB)


Not sure if this is the desired look. I mean to have this kind of “weld” between both of the geometries.



Think I understood better with your scene. Can I ask you how did you join them ? Since I have the fillets as separete surfaces, but they do not cut my cylinders…

Ok I solved the problem by manually cutting.
I just have this tiny discontinuity

Which I would like to understand how to avoid it . Your model does not seem to have it

Ok i might know how to solve it. It is probably cause the different planes of each arc. I will see how to correct them in order to achieve a G1 between them .


Hi @Bruno_Suraski, if you look at my model, i’ve cutted the two fillets with a plane.

To get this plane, i’ve built a bisector line from 2 tangent lines. Each tangent line was extracted from the fillet border curves at the point where they meet using _Line _Tangent command.

Then the bisector line was built using _Line _Bisector. From this bisector i’ve built the plane, it is perpendicular to the bisector line. The easiest is to use _Circle with the _AroundCurve option, then build a planar surface from the circle. Then split the fillets with this circular plane.

If you now measure the two arcs at their intersection point, it’s G1. Does this help ?



Ok I followed .

It is still looking like a “broken” surface:

What I did:

  1. Intersected both fillets to find the point where they touch. The intersection was to lines (curved) closing into a point, so I grabbed that point.

  2. Then I duplicated the edges of each fillet (the edges that intersect, of course).

  3. Use Line>tangent with the point on curve (one time for each curve) activated and use my intersecting point as input.

  4. Run the Line again with bisector option. Meaning I will have the average curve/angle between my two tangent curves.

  5. The resulting bisected line was the rial for my Circle on curve.

  6. Cut the fillets (both of them) with my circle (plane).

7 Runned the Gcon command to check . They are G1. I mean each of the arcs from my cutted surfaces.

  1. Sweep two rails betwen my resulting edge to a planar line (where the radius become 0).

Please see the image below:

File Here:

clement_help.3dm (173.7 KB)


Hi @Bruno_Suraski, you almost got it right and splitted with the plane. But note what _GCon reports. It tells you it is G1 but the tangents slightly differ because your document angle tolerance is set to 1 degree. So everything below that is reported as G1, but it is not:

Usually you can get the intersection point (where the bisector starts) by using _DupEdge on the fillets and intersect them. btw. the plane orientation can also be not perpendicular to the bisector, it is just important that the plane origin is where the fillets intersect, because only at this point the fillets are tangent to eachother.

I’ve proceeded using Sweep2, and used the joined fillet sections as first cross section and the bridging line in the middle as second cross section. After this you get a result which explodes in 2 surfaces. If it’s not looking clean enough, match each of the exploded surfaces on 2 sides. Eg. the upper piece of the sweep is matched to the cutting arc of the upper fillet and Rail 2 in your image. Use _MatchSrf _MultipleMatches for it. I used these settings:


Then don’t just mirror it, i used _Symmetry Continuity=Smooth to make the other side…


Thanks so much for your time. The way how I got the intersection was like you describe…so I am out of clue what is happening. Is it related with the degree tolerance? How do I change that. ?


Hi @Bruno_Suraski, you can set the tolerances for your document here:

_Options > DocumentProperties > Units > Units and tolerances

for the object of your size i would recommend to use 0.001 (Absolute tolerance) and 0.01 (Angle tolerance)



Thanks a lot Clement, I will let you know if it worked after that change.


Clement. First: thanks so much! it worked out with a different process, but following yours.

At the beginning when I joined the two profiles from the fillets my sweep gave me an uneven outcome. The surface had more isocurves coming from one of the radius profile than the other. Also I could not match it since I could not select the edges of the sweeped surface.

What I did was to sweep first one of the profile coming from the fillets (using the two rials and half of the stright profile line) and then the other one. After that I matched the 3 surfaces.

Still can not understand why I needed to do one more step than you. Oddly my profile curves were having same degree, but totally different point count. Also my sweep did not come splited in two…

Did not know the symmetry command GREAT. Genius man thanks