Cross fillet problem: I had the audacity to fillet a corner in gh :-(

Hi! I have this cross-shaped fillet here that doesn’t work in GH. I can’t figure out what went wrong because, the faces are all planar and I don’t think 4 edges here is a crazy situation. Could someone please share some guidance? (I need the Curvature setting and something like 0.2 to 0.4 in the Edge-Distance mode–though in this case mode probably don’t matter)

It looks like there’s either some hidden tricks to filleting or, grasshopper’s (aka rhino’s) fillet only work for 3 or less edges? Do designers just leave edges ultra-sharp and don’t fillet when they run into a situation similar to mine?

Thanks so much!
cross_fillet.gh (10.7 KB) :sob: :cry: :disappointed_relieved: :skull:

I need to fillet the four lines (‘ridges’) that run into each other (equal fillet width, if possible), but the fillet module keeps taking off the little ‘cap’ at the middle and grasshopper (or rhino I believe) don’t have the technology to put the patch back in a curvature-mode way

cross_fillet.gh (14.4 KB)

Here’s one way to close the hole.

2 Likes

Thanks very much Martin! This result looks really good!

I took a closer look and, it seems that the zebra lines (see the pink lines at the top of the picture) don’t match up completely (but are very close indeed). Is this small mismatch a display problem, or is it due to the network surface not supporting continuity? (I know that in SolidWorks for example, you need to select the ‘Curvature’ setting to actually make a surface curvature continuous to another, in addition to having the right lines)

In Rhino you’d select actual surface edges but when you do this in Grasshopper, the inputs are curves. I don’t know how these would get the curvature information of their adjacent surfaces…

2 Likes

Parakeet has a neat brep topology component that could be used to find information about adjacent surfaces for each edge.

1 Like

I see! I think brep topology would be helpful, though another part of the problem is the network surface command taking in that continuity information

I found this https://developer.rhino3d.com/api/rhinocommon/rhino.geometry.nurbssurface/createnetworksurface but, I’m not sure what the continuity start and end is supposed to do where - I can’t find a way to tell it to make network surface with in curvature relation to brep

:disappointed_relieved:what could I be missing? Could someone give me hints to the right direction please?

Without matching methods exposed in RhinoCommon, nor continuity options to rails either for Sweep2 or NetworfSrf, and the new NurbsMultiMatcher in Rhino WIP throwing an error, I’m afraid you’ve reached the limits of Grasshopper. For now…

image

I tried something based on BlendCrv… A 65-component disaster.

2 Likes

If you have access to XNurbs, I can send you a gh tool I made to use XNurbs in gh. You do need to ask XNurbs to send you the right dll though to make this work.

2 Likes

Thanks very much for your help magicteddy! NurbsMultiMatcher does sound like a useful function in this case (if it functions!)

Thanks very much for your help Gijs! My institution does have this plugin I believe. I will go ask about the details of their plan and let you know! I looked up the website and this tool it seems very useful

FWIW, this is what it looks like:


and the resulting surface zebra’s:

note that I chose G1 continuity here, because the surfaces are G1 to their neighbors, but G2 matching is also possible.
I won’t share this component publicly, but can send it upon request. As mentioned, you will need to contact XNurbs and request the necessary XNurbsRhinoCommon7.dll for this to work.

1 Like

Hey Gijs, It looks like XNurbs only works for Windows while I’m on Mac. My institution is talking to XNurbs about the dll file but I’m not 100% it would work.

Regardless, Thanks very much for offering to help with your tool!

Also, may I ask (just in general terms) if improving fillet is a priority for the next gh version? I don’t know how to code behind it all works but, this example (four edges instead of 3) really give me the impression that it’s a ‘simple’ problem that gh ‘should handle,’ considering all the other things it can do!

The geometry capabilities of gh are based on what is available in RhinoCommon. If the filleting process fails in plain Rhino, it means you will be out of luck in gh too. There are no improvements to cases like these in the upcoming version of Rhino.
XNurbs is not available for Mac, so if you are on a Mac, this is not going to be a solution for you. I’m sorry that I missed the fact that you posted this in the Mac section of gh.

1 Like

Thanks for your reply! It looks like Rhino is indeed able to handle a fillet such as this, according to Martin’s results here Gh fillet fail - #12 by martinsiegrist (this example is somewhat different in that it is not symmetric). What could be the reason behind this ‘rhino can but gh cannot’ phenomenon? (From the insights you shared, it looks like Rhino has the ‘better’ fillet that RhinoCommon doesn’t?).