FilletEdge issue when one edge is smaller than radius

I’m trying to use FilletEdge to put a 1/2" radius on my parts, I’m trying to get them to look like they were run through a table router with a 1/2" radius roundover bit… because I’m going to run them through a table router with a 1/2" radius roundover bit.

If one side is shorter than the radius, then FilletEdge doesn’t work the way I expected.

It doesn’t really show up in the screenshot, but the ends are all compound mitered… so it’s difficult to put a fillet on manually. FilletEdge has worked very well for this purpose until I happened to get one with one edge smaller than the radius.

The 1/2 Fillet goes on just the sides on the top and all edges on the bottom… the blue sample is what I’m going for.

The #2 parts it work as expected, none of the sides are shorter than the radius
but the #1 parts have one side that is shorter than the radius, and it just doesn’t work.

Anyone have any suggestions on how I can create these fillets?

Fillet Edge.3dm (415.3 KB)

This Wiki page has been around for a long time but it’s still very useful:
https://wiki.mcneel.com/rhino/advancedfilleting

The short answer your fillet radius must be smaller than the width of the surfaces. It’s a “rolling ball” fillet. If one or both surfaces are too narrow, the “ball” falls off the surface rails.

You’l need to model the surface you want using a tool other than FilletSrf or FilletEdge.

Rhino was able to make all the fillets that you requested.
What Rhino can’t do is figure out how to do the trimming and joining so you have to do all that manually:
FilletTrimmed.3dm (405.9 KB)

edit: BTW You don’t really need to model the fillets. You could just extract the bottom surface and offset that surface’s boundary by the large diameter of your router bit and then just have the router follow that offset curve(so that the center of the router bit followed that outline).

Thank you, I will have a look and see what I can learn.

I figured that would be the case, because I instantly could see that it was the side being shorter than the radius that caused the problem. I have done a lot of this kind of thing with no problems, this is just the first one with one side shorter than the radius. unfortunately, I now have a lot of these to get through, and they are all different from each other, but all end up with one side shorter than the radius.

Any suggestions on what tools I should consider instead?

Thank you for sending the fixed drawing… How did you accomplish that exactly? I have a lot of these kind of things to do and I would really like to figure out the best way to get it done.

I made an attempt at trimming the fillets myself and then using them do to a BooleanSplit. There are lots of problems I don’t know a good way to solve. The fillets generated by FilletEdge, cannot be extended with ExtendSurface. Also they cannot be nicely trimmed to each other. I eventually got something close by putting a plane between them and trimming them to the plane, then just moving the one of the top to the left… which I knew I could do because that corner is square.

My plan to use BooleanSplit to remove the corners worked fine on the top 2, but not the ones on the bottom.

I believe the problem with doing a BooleanSplit is that the fillets do not end up at the same point because of the compound angles I also ended up with a gap

I know I don’t need to model the fillets to make the parts, but I do need to model them to show my customers how the final product will look.

I accomplished it by using the just Trim command (and then Join command after the trimming is completed). I would never even consider trying BooleanSplit.
In most cases each fillet is trimmed one with another where the two fillets fully intersect. In a few cases (as you noticed) the fillet ends don’t match up. In those case one of the fillets will trim using the other and the other fillet can be trimmed using the first fillet and the surface next to it.

Your base surfaces are all planar so the trim command is pretty much guaranteed to not fail. It’s just a matter of selecting the right trimming objects. If your starting surfaces were not planar then Rhino’s wobbly intersector function would come into play and make things more difficult, but for planar surfaces the intersector is rock solid so its simply a matter of selecting the right surfaces to trim with.

OK I understand that, but that also suggests another way you could make this model. Just make the part and the fillets without that corner cut off. Then cut the corner just as you could do with the router bit.

In this file select both objects run the Trim command then click on the parts you want to disappear. After Trim is done run Join command.
Fillet_Another_Way.3dm (119.9 KB)

1 Like

Hi James - see if MergeAllCoplanarFaces does any good here. One problem is, with the faces split up as you have them, the fillet needs to reach past the face that is attached to the selected edge, and Rhino does not do that and clen up properly.

-Pascal

Two different versions of “partial” fillets. Example is 1/2 radius fillet on 3/8 thick block.
Partial Fillets DC01.3dm (3.2 MB)
Let me know of you need more information.

Yes, that does help a LOT!! I kept trying to do it the other way around, cutting the short corner off first and things like that and that was getting me nowhere.

I was able to just leave my part as a solid and use BooleanSlit with this method and avoid trimming it and re-joining.

After Boolean Split and deleting what I don’t want:

This is by far the least amount of work to achieve this. But I need the fillet to go past as Pascal mentioned:

So that leaves me with one other issue to work out: ExtendSrf does not always extend my fillets. I have figured out that if the end is cut perpendicular to the fillet, it works fine, but if it has some weird shape at the end it doesn’t work at all. Here is what I am talking about:

If I have this, I can’t use ExtendSrf to modify it at all, neither shorter nor longer.

But if I cut the end off nice and square like this… now ExtendSrf works great!

So in this example, it was easy to make my cutting plane because I purposely chose a fillet that was aligned with the X axis, but if I wish to do this to a fillet that is going off at some wonky 3D angle, then how can I cut the end off square like that without spending an hour constructing the cutting plane? Is there some quick way I can square off the end of the fillet so ExtendSrf will work? I actually run into this kind of thing all the time and while it will do what I want after I get the cutting plane, sometimes generating the perpendicular cutting plane is a challenge.

Try _Untrim on that edge, though it can mean the whole surface gets untrimmed, but this is the method I use mostly.

1 Like

@davidcockey I think something like this could help. I do have some questions:

How do you draw the curvy tubes? I see you have a centerline there, and I’m guessing you do something to make a circle follow the centerline… but where does the circle come from… and how do you get it to follow the centerline?

How do you get the tube to cut off just one side of the part… when I try to cut the part with the tube, it always cuts off both sides of the tube.

or if I use Trim, it’s not a solid anymore:

Thank You!! That worked great and it’s super easy compared to cutting it off with a plane.

I used ExtractSrf to create a copy of the bottom surface; ExtendSrf to extend the surface, and then created the centerline curve on that surface. The reason for the extended surface was to ensure the curve and resulting tube extend past the ends of the block.

A simpler alternative skips creating the extra surface.
OffsetCrvOnSrf to create the curve on the lower surface of the block.
Extend the curve.

Pipe about the centerline curve to create the tube.

Trim the tube with the block.
Result leaves two portion of the tube.
Delete the unwanted portion.
Trim the block with the remaining part of the tube.
Join the remaining part of the tube to the trimmed block.

Alternative:
Flip the normal direction of the remaining part of the tube.
BooleanDifference

I did notice that cutting things off with a surface work a lot better if they extend past the part

I see!

Thank you for this other method of making a radius on the part. I have had a few that were a real pain, like a 1/4" radius on a 1/4" thick part… this is going to be very helpful.