Rhino WIP Feature: FilletSrf improvements

That’s basically the edge stopping it from rolling over it. You can do the same in Rhino but it is a little tedious. You’d make the side fillets and FilletSrfCrv separately:

Yeah - what I find curious is what notional surface it is using to fillet to, on the outboard edge. It’s certainly not trying to fillet to the lower R1 fillet…

Here’s a better view of what’s happening with the fillet edges copied so you can see where the new R=3.0 fillet ends up.

radius-curve.stp (520.0 KB)

I’m so used to how it creates fillets that I’ll often use it to intentionally create a sharp edge then fillet the sharp edge. For a lot of design work I don’t care that much about the surface / zebra quality of a fillet and how it blends with the rest of the part - especially for a quick 3d printed part where I just want to explore an idea.

Rhino has up till now struggled with even regular fillets so I’m hoping that these new V9 tools allow for much quicker exploration of shape & form.

ring-crease.stp (541.4 KB)

@ftzuk actually that is a different type of Fillet than the one I was showing, where I keep the edge of the fillet. What are the options you set to create that fillet, does it have a special name?
It’s not clear to me what rule is being used to make that fillet.

In my humble opinion, to create complete and convincing fillets we should look at how the various solid modelers behave (with Parasolid kernels, such as Catia and NX, to name the most professional). By now these CADs are well tested and, with their various command options, they are able to perform fillets in a fairly satisfactory manner.
Example: why is there no “linear” option in the “chamfer edge”? (the command only executes a cubic/curved chamfer trend). NX contemplates this, just to give an example.

It’s just a regular rolling ball fillet in pro/e wildfire 4 without any additional options set. I find the fillet in proe generally has a ‘let me try and get it done’ approach which usually produces a result I’m happy with. It also allows you to fillet and drag the handles out to create nice features like this:

I don’t think there is any rule. The Creo developers just don’t know how to do anything else. I believe they are doing what Bobi showed above . The two fillets intersect and are trimmed against each other.

RH-87998 is fixed in Rhino WIP

This is an example of a use case where I have no issues creating the fillet in Plasticity3D, whereas the command fails in Rhino WIP.
accessorio 2 pz_FILLET-RHINO9.3dm (6.7 MB)

It can be done, but there’s a few things to consider.

  1. The front triangular face has a singularity in one of the lower corners. It is better to replace that with a trimmed planar surface. I think this is the failure you’re seeing in your screenshot.
  2. You need to follow the order of larger radius to smaller radius and perform each radius in a separate FilletEdge step.
  3. As a last step, boolean difference out the hole and fillet its edges.

fillets-by-rhino.3dm (7.4 MB)

Yes, the problem is the singularity of the surface. I tried with a trimmed surface and there were no issues with the fillet, but what I wonder is: why doesn’t this happen in Plasticity3D?

why doesn’t this happen in Plasticity3D?

Because Rhino is using a different geometry modeling kernel that we develop and maintain ourselves. In Rhino it is typically best to avoid surfaces with singularities; these may give problems in other commands as well (like, see what happens when you boolean difference the hole). In this case the singularity surface is easily replaced with a trimmed planar surface.

If you check the Plasticity result, you’ll find that the surface with singularity is no longer part of the BRep, it has been replaced with a planar surface.

I have created a feature enhancement ticket for this: RH-88369

@menno
According to what is stated, Plasticity uses Parasolid as its geometry kernel, the same one used by professional software like SolidWorks, Siemens NX, and Shapr3D.
Rhinoceros, on the other hand, uses the OpenNURBS kernel, which is proprietary to Rhino, right? I’m asking to understand, in broad terms, the mathematical foundations that influence the two different types of CAD.

Does using the Parasolid kernel basically mean paying a subscription or licensing fee for usage rights?

Let’s assume, hypothetically, that all companies use the Parasolid system and that Siemens Digital Industries Software shuts down tomorrow: would all CAD software relying on those libraries stop working because they don’t have their own proprietary mathematics?

I don’t think it is really our place to comment on Parasolid or licensing issues with that library. I would recommend asking that question to Plasticity.

Rhino uses a library for these geometric calculations that we (McNeel) have written and maintain.

Hi Menno, do you think this fur face replacement also applies to other solid editing requests? Should this surface replacement be use more broadly for model edits, not just fillets?

G

Yes, that is probably a good idea. Commands like Trim, Intersect, Booleans, Fillets etc. could all benefit.

workflow/workaround:

for a closed solid:
subselect (ctrl / cmd + shift + click),
delete
_cap

would be nice to have this feature in
_mergeAllCoplanarFaces
(maybe as option)
EDIT:
and also in SubD → ToNurbs (for planar patch-sections)

If this ever gets implement, please consider automatically putting the scrapped original surface into a dedicated layer (Scrapped geometry) or at least put a warning message into the Command line. :slight_smile: Losing the original geometry after running certain command could bring some headache to the Rhino users.

RH-88015 is fixed in Rhino WIP