Why does Rhino have lots of issues in filleting complex surfaces while Solidworks usually fillets easily?

IMO, You cannot make highly aesthetic parts with any kind of fillets or G1 continuity transitions between surfaces. They always look abhorrent.

If you at using fillets it’s because you don’t care enough about surface quality, or you are making a giant compromise based on timeline and skill limitations. Unless they are super small just to break hard edges.

G

2 Likes

Yes, Fusion does ignore your request at times and uses a setback fillet when you don’t want one. But you can fillet this in 2 goes and get something very similar to your version. Doesn’t quite match because you used a different rad on one edge.
First fillets


Second fillet

Your version and Fusion’s

File’s attached
temp.step (23.7 KB)

2 Likes

I disagree. Rhino is a surface program rather than solid program (a.k.a. solid modeller, like Solidworks, PTC Creo, Catia, Siemens NX, and Solid Edge).

1 Like

@Andrew_Nowicki…You are certainly allowed to disagree all you want and are more than welcome to… but the facts say otherwise (See Screenshot). As a user of both softwares, unless you can point to something that the rest of the CAD world doesn’t know, then there is full surfacing in SW like Rhino. Also Creo, NX, Solidedge, and Catia, all have surfacing capabilities.

3 Likes

OK, that’s a lot closer to a true rolling ball constant radius solution. Most of the surfaces are true fillets but the one shown in pink (pic below) is just an approximation of a true fillet.
Why does that matter? Because true fillets like Rhino’s Filletsrf (and many other CAD programs) creates are dead nuts accurate. That accuracy is important when doing subsequent operations. That makes adding more features and fillets to the model proceed without difficulty.
It’s surprising that Fusion can’t make that fillet better given that its just a fillet between a plane and a cylinder. What happens when Fusion makes fillets between freeform surfaces?

image

The main point is, I like the way Rhino’s Filletsrf allows you to simply add new features to a model and then connect them with fillets. There is no need for the pointless exercise of creating edges to tell the program where the fillets go.

I posted this file 6 years ago when this thread first started :
FilletingTangents.3dm (339.9 KB)

It shows how to determine which surfaces need to be picked to create the fillets in a loop of tangent surfaces. If you change the fillet size from 1mm to say .5mm, you will get a completely different set of surfaces that are connected. The edges are completely irrelevant.
Making the strings of tangent fillets such as these would be easy to program, but McNeel doesn’t want to do it.

5 Likes

I’ve been wondering about this. It’s been many yrs since I last used SolidWorks, and I do remember they were still developing better surfacing tools.

I imaging all the other CAD’s will have surfacing tools well developed eventually – including Autodesk Inventor, etc.

Great question. I’m shocked that I’ve been jumping hurdles so long, lately I’m realizing Rhino’s fillet features are so much worse than I thought. Even the most basic geometry fails :man_facepalming:t4:

IKR.

Yeah, Rhino is very surgical in nature, you can build anything. But, in the 3D solid modeling world, if an object isn’t driven by editable parametrics it’s called a ‘dumb solid’ or ‘dumb entity’.

Looks good to me at first glance. Maybe they’re smudging it, but isn’t that really all the user wants?

I mean what are fillets really? Does the typical user care about “accurate fillets that fail and leave holes and artifacts”? Or rather fillets that actually succeed and smooth out corners?

“inaccurate” relative to what? A big hole?

Maybe Rhino “tolerance” is too strict?

Ikr, I was hoping increasing file tolerance would do the trick, but it didn’t really help much lol.

I believe alot of builders just want what’s call “automatic sand paper effect” or “automatic deburring effect”.

What’s funny though is most of the products I buy have sharp edges everywhere, especially sheet metal products and injection molded products.

It’s as if companies these days don’t have what are called “deburring departments” or something.

IKR. It’s like Rhino thinks it’s still 2005 or something. Back then I bear witness to all those other CAD’s beginning to develop and acquire surfacing tools etc., and it’s been almost two more decades since then.

2 Likes

I decided to use your version, to see what the fuss is about.

I exploded it, untrimmed, made solid etc.:

My first question for the client would be, “do you want it this way?”.

Because if those edges don’t line up to begin with, and if it wasn’t the “design intent”, then that’s the first problem.

Now, maybe the edges are out of alignment for a reason other than to make it challenging.

So, at any rate, I’ll mess with this and see if I can make sense of it.

dear @lander
this is not the initial surface-Layout. I adapted the blue surface to get this special fillet result.
the initial surfaces / for the initial Problem are in the file as well.
See second layer “input”.
kind regards -tom

3 Likes

I strongly suspect the difference in filleting between Rhino and “solid modelers” has nothing to do with how solid objects are represented. Rather the difference is due to the algorithms which are used in locating and trimming fillets. It is coincidental that at least one kernel which is used by many “solid modelers” has good filleting algorithms.

Also my understanding is “solid modelers” which can model arbitrary shapes use boundary surface representations for more complex shapes, particularly those with arbitrary surface shapes.

2 Likes

The “mis-aligned” surfaces in Tom’s modified model simplify the filleting. This is how the geometry of fillets work, and not due to any particular filleting algorithms. Moving the surface as Tom did is an example of designing considering filleting rather than designing without any considerations of filleting, and then filleting.

4 Likes

I’ve been wondering about this. More specifically if “B-rep’s” were the key. But recently learned that’s basically what Rhino uses “all the time”, just not “volume-Brep’s”…

While those said programs are understood to be “precise” modelers… :thinking:

Did you say B-rep’s?

Interesting perspective. I personally don’t share that view.

“Fillets” as I understand them, do not have specific rules the same way surface-callouts, weld-callouts, GD&T rules do.

Sure maybe the “radii” entity may require certain annotation rules, but never have I ever come across or even thought that what’s demonstrated here…:

…would ever be thought of as a rule for the “right way to fillet” – requiring edge being offset, to do so, etc.

To reiterate:

I believe the opposite to be true.

But I will still have to study this and try it myself.

Ultimately, “fillets”-meaning to me, is simple, they’re either “outer rounds” or “inner rounds” for the sake of rounding “outside corners” and “inside corners” – that’s it, and yes “curvature continuous” (tangent).

From an engineering standpoint, you would be surprised what those geometries can do to increase the LIFE of components, and improve aesthetics, user ergonomics, etc.

So, the most simple permutation of said geometric-entity-type is what any craftsman can do with 120-grit sandpaper, to say the least.

Obviously it’s a bit hard to add molecules to an inside corner with sandpaper though lol.

Yeah this is harder than it looks lol:

“Distance from edge” seems to be better than “rolling ball” imo.

All that’s missing is a network surface or something…

There we go. However, one could argue, “oh but all the radii aren’t the same” :sweat_smile:

I’m talking about how the geometry works, not drafting standards.

Curvature continuous is different than tangency continuity. A circular arc fillet in general will not be be curvature continuous with the abutting surfaces.

My comment about Tom’s modification was based on using a single radius for all fillets, not multiple radius or radius determined by distance from edge.

Whether the radii need to be the same depends on the requirements of the recipient of the design.

2 Likes

I find this troublesome: Just adding one fillet with value 10 to the vertical inner corner gives a gap.
That should be smooth sailing as this is simple geometry intersecting in predictable planes.

I rebuilt the shape just to be sure that there were no issues inherited.

MitchChallengeRebuilt.3dm (358.5 KB)

3 Likes

failing in such simple cases is unnacceptable for me

2 Likes

It’s always better to take into consideration the expected rounder edges while building the primary surfaces, as @Tom_P already pointed above.

However, if use of G2 blends is allowed instead of radius fillets, maybe the following quick solution is good enough for most use scenarios:

5 Likes

Many CAD applications already master this topic. Period. However, I agree that there is a huge difference in visual quality. But automation is always a trade-off.

So McNeel should really spend some effort in catching up.

Simply because creating “proper” fillets is often not required. For many use-cases, it doesn’t matter if there is a proper G1 matched fillet, unless we are talking about larger surfaces. If people want to see G2 fillets on planar surfaces, then it is rather an indicator that they don’t know what they are talking about. So the Fusion360 example is quite well for many people. As a fun fact:. I believe this is the Multi-Patch feature out of the VSR plugin, which Autodesk has bought and was mainly interested in, when purchasing the Rhino plugin.

For proper fillets, you need to use a Direct Modeler. No matter if CATIA, Creo or Solidworks, they all produce trade-off corner fillets if you analyze them. However, Rhino still lacks proper Class A tools. So yes you can create almost perfect fillets with Rhino in a manual process. But nobody wants to learn this skill 3 years in order to make those blends in 15 minutes each. Because if you really need to do create proper fillets, you can do this in ICEM Surf or Alias much faster.

By the way. All these solutions with multi-span surfaces with more than 7x7 points is also cheating. You can trick the deviation analysis, by creating control-points very close to the boundary. This will technically lower the deviation, but it will worsen the flow of the curvature. When direct modelling corner fillets, you can achieve it with single-span surfaces of low order. Just not in Rhino. At least not with ease.

3 Likes

That may be true. :slight_smile:

But AFAIK, Rhino is not intended to be a mechanical CAD, rather a free form CAD.
Constant radius fillets are an MCAD feature.
e.g.

Don’t know if McNeel is willing to work on something that desn’t really ‘belong’ to Rhino.

Just my opinion.

Then why there is a set of solid tools in Rhino?

1 Like

One reason why even smaller and certainly corporate design studios have more than one software on board. When I began working in design in 1992, the design studio (UK) used Pro/Engineer and Alias, for example, so any task could be mastered to the highest quality, like the clients demanded. So, rather than shoehorning any task into a single software package, it makes sense to use multiple packages.

1 Like

It is hard to see current command names in this video. You can solve this problem either by displaying context-sensitive help panel, or by using this free Tutorial Panel plugin. The plugin displays last command and current command with very big letters: New feature request - tutorial pane