More Fillet Issues V8 & V9 WIP

Guys,

I cannot seem to get the yellow surface to surface fillet here. It doesn’t matter if I change the size of the fillet, still no fillet. I have tried this in Rhino 8 and V9 WIP, it fails in both. I run into this condition repeatedly and an wondering if I’m doing something stupid?

Any help would be appreciated.

Jeff

Fillet_Error.3dm (229.8 KB)

2 Likes

Here it works up to 0.13 in Rhino 9. If you increase the model absolute tolerance to 0.0002, the fillet succeeds at 0.2

I’ve made this YT: RH-89085 FilletSrf fails to build fillet surface

3 Likes

Works flawlessly in Rhino 7.

Fillet_Error.3dm (370.1 KB)

1 Like

well…

2 Likes

Normally, singularities should be avoided in surface modelling. Without seeing the adjacent surfaces, and how the patches are flowing, maybe you can use a typical patch layout like this one.

6 Likes

The surface layout seems less than optimal, avoiding these kinds of vanishing fillets are a good practice. I would remodel this so you can use FilletEdge and do all 3 (!) edges at the same time:

(Green surface is a recreated surface that is continuous of the brown fillet so this fillet can be recreated. Then the red and turquoise are rebuilt as a single surface and then joined together to the gray polysurface that can be filleted)

Fillet_Holo_Fix.3dm (477.4 KB)

4 Likes

This is what I would do for car body panels. However, for tiny areas where the goal is to create true radius fillets that will be CNC-milled with the same radius round milling tool, the fillet is the preferred way to make it.

The main reason is that the better CAM programs automatically recognize fillets and apply a proper path to the g-code. If that area is made via non-radius fillet surface, then the CNC-machinist will have to apply a different type of carving strategy there.

The other reason to use radius fillets (in parametric CAD programs other than Rhino) is the ability to quickly modify the radius if needed.

But since the geometry is made in Rhino, the above reason is not relative. It’s simply a compromised code of Rhino’s fillets.

3 Likes

It’s time for the Rhino developers responsible for the fillets to work harder, because Rhino 9 is around the corner and we want to buy a better program than what the current Rhino 7 and Rhino 8 could achieve. :smiley:

2 Likes

It’s interesting to see your comment on the CNC optimized strategy. This is something I have never taken into real consideration. If this spesific tooling focus is important for a major user base and thus worth focusing on is something for McNeel to consider though.

2 Likes

It’s often very important for any product going into production, products that require cost-effective tooling. A concave radius fillet can be milled by a ball-nose end-mill, a wonky “radius” takes much more time, and time is money.

It’s not so much a software thing, but designing according to formal aesthetics on the one hand, and cost/time constraints on the other.

2 Likes

Using true radius fillets allows the CAM programs to quickly set a curve path for the CNC-milling. This is automated in all professional CAM software plus some CAD programs, such like Solidworks.

I have been working on many projects where the goal is to carve small radius fillets with 2-3 mm ball tools. There break quire easily, so having a nice round filled is the preferred way over the nice looking blends that require multiple milling passes. To avoid issues I usually make the fillets 0,1 mm larger than the actual diameter of the milling tool. For example, if the tool’s diameter is 3 mm, I will make a 1,55 mm radius fillet instead of 1,5 mm. Sometimes, Rhino builds slightly inaccurate fillets and there is a real chance that the radius may be 2,9995 mm instead of 3 mm. This is where the CAM program sees an issue and refuses to generate a proper milling path with a single stroke. the bigger issue is that such slightly narrow areas will not allow the milling tool to go as deep as necessary, eventually leaving these areas thicker/higher.

Other programs like SpaceClaim were able to detect radius fillets and delete them, restoring the original model for seconds. I tested it several years ago and it was a hugely useful ability, especially for imported models with faulty geometry made in other CAD software.

3 Likes

:sweat_smile:

3 Likes

On the left, you see a single-pass milling strategy that requires less machine time and ability to carve the whole area at once. Not to mention that the CNC-machinist is able to generate the g-code automatically for all radius fillet areas, whereat the example on the right side will require multiple passes, hence the added cost for manufacturing. That was discussed in several other topics before.
This is also the reason to use chamfers on external edges, but radius fillets on internal edges. Of course, there are concave radius milling tools, but they are expensive and can’t penetrate in all areas, so their usage is limited.

3 Likes

I can guarantee you that @menno is working hard on Fillets as we speak

9 Likes

Lets hope that the end result will be clearly seen in Rhino 9! These bug reports are super useful way to test the improvements of the “Fillet” tool. :smiley:

1 Like

A constant radius fillet without a singularity can be made as a 4 sided trimmed patch.

pointy_fillet_No_Singularity.3dm (2.5 MB)

The constant curvature of .197 can be confirmed visually with Rhino’s surface curvature analysis tool:

3 Likes

As this area is a mere 1,7 mm wide, you could also consider this good old botching trick.

1 Like

Thanks, Gijs. The tolerance change to .0002 is not problematic for me. I used to use .0005 but changed to .0001 a while back for some unknown reason and I’m thinking that’s too tight.

1 Like

I deal with these pesky singularity fillets this way, just forgot to do it in my 3dm file above. Sometimes, the 2nd row of control points must be deleted, as well. The deviation after the manual adjustment of the end control points is small enough to comply within the file tolerance.

Fillet_Error.3dm (263.7 KB)

2 Likes

Thanks, Bobi. I do this control point move all the time to clean up fillets that don’t extend all the way to the intersection. I do it so frequently that I created a shortcut to automate the process lol