Fillets and chamfers suck

OK, what’s the deal with fillets and chamfers in Grasshopper ?

For curves, “Fillet” and “Fillet Distance” just can’t do what they are supposed to : fillet sharp cornerS (notice the plural ?).
231116_IMG_CornerS

So I thought I’d just make my closed curves into extruded solids and fillet that with “Fillet Edge”, but that fails miserably too, seemingly for other reasons.

For context, I’m trying to emboss a QR-code, but I try to avoid making a non-manifold solid because that will spell trouble for creating milling paths in CAM.

This stuff should be a breeze in Grasshopper, but somehow, it’s just a bag of hurt.

2351_MOD_QR-Code.gh (34.4 KB)

2 Likes

2351_MOD_QR-Code Edited V0.gh (40.2 KB)

Tested, works.

1 Like

Tested, doesn’t work here, yet I believe you of course.

See the extents one must go to, in order to do silly fillets ?
Install two plugins, use over 20 components…

I hope GH2 brings better fillets…

I solved my problem by offseting the curves. I used the “Clipper 2” plugin because, again, the basic GH offset component sucks.

Here’s the milling in progress :slight_smile:

4 Likes

You can actually read QR from that? :hushed:

1 Like

Yep

3 Likes

i feel you

It’s better on Rhino 8!
(I think, LoL)

1 Like

I am using R8, but I am not sure if that is the cause.

Hi @osuire, I share your frustration. I think a lot of components are designed as wrappers for the underlying Rhino Code rather than as tools for a specific workflow. That part is on us to work through.

For me, I’ve started to develop my own components that match my workflow. I’ve updated your file with my own fillet component. It can be buggy, and the corners are C2 rather than Arcs, so be warned. However, for the kind of thing that you are doing, I think it works ok.

2351_MOD_QR-Code_Update_Ash.gh (35.5 KB)

Hope this is useful.

Ash

3 Likes

Hi Ashley,

I know that most GH tools can only ba as good / bad as their implementation in Rhino.
I heard there were improvements with fillets in V8, but I haven’t checked that out yet…

Thanks for your fillet component ; it’s just amazing !

wow your code is just awesome!!!

can’t understand why these tiny corners are still resisting the fillet (at least in my pc… I’m on v8 SR1
8.1.23318.13001, 2023-11-14)

it looks like there’s a common trait with all of them, they all lie on the very seam of an enclosed O shape…

Well that’s where an extrusion would create non-manifold geometry, so I had to chamfer them by hand.

yeah, I only now noticed the tiny chamfer :+1:

but still I can’t understand why the fillet works -for instance in this example- on the top-right portion of the curve -which is chamfered- and not on the bottom left portion of the same curve -which is also chamfered-

Hi @Ashley_Cichocki,

Did you try using Curve.CreateFilletCornersCurve? I don’t believe GH uses this method.

– Dale

@dale

Thanks for highlighting Curve.CreateFilletCornersCurve. I should give this component a bit more TLC and look at it. If I come up with anything useful, I’ll post it here.

I can’t remember whether I tried that method before. This component was something that I threw together ages ago to get blend curves on corners. It’s been updated every time I find it doesn’t work (as above). I only posted it here to try to help osiure out of a tight spot.

Ash

@inno & @osuire you guys have exposed the cowboy-ness of my code! :laughing:. As above, it needs a bit of attention to fix these kinds of cases.

the fillet is a good component but your imported polyline need a preprocess, and this could address a bug if you import real curve contain something like closed arc and this happen again.
seems for an accurate cnc engarving you will be able to find minimum applied fillet radius which is equal to radius of maximum tan-tan-tan (here at chamfered corner).
you could investigate why discontinuity is wrong with polylines :
2351_MOD_QR-Code_001.gh (37.4 KB)



Hmmm… I don’t quite agree.
If you want to be a stickler, you could always argue that the curve doesn’t obey the stringent requirements for the tool to work.
OR, you could consider a good tool as one that does what you expect it to do in most cases, because we are here to get some job done, not fiddling around.

It’s the exact reason why poeple developped the Clipper plugin for curves offsets : because Rhino’s offset tool was just way too picky and limited.
This tool alone allowed me to generate thouthands of parametric steel plates with complex shapes where the vanilla offset would just fail miserably.

See what I mean ?

Err… if there’s a filleting tool that’s actually useful, why not go crazy and expose it in Rhino ?

here you go, this component use the mentioned component and you can try, difference raise when fillet radius exceed half length of sub curve which seems beautiful:
2351_MOD_QR-Code_002.gh (42.2 KB)


a good tool as one that does what you expect exactly but not to do in most case only, respectfully

our requirement may differ what the tool is offer like using offset as inset but agree,we need more high end tool in this atmosphere.