I want to fillet a rectangle with grasshopper

I want to fillet the corners of the square with 0.2mm for the blue group and 0.5mm for the yellow group.
If you fillet two places at a time, it will fail, so I fillet one place at a time, but is there a way to fillet two places at the same time?
Also, I displayed the number at the control point, but the number does not match the place I want to fillet.
If anyone knows, please let me know.

rec fillet.gh (10.6 KB)

Moved to Grasshopper category


Have a look at this thread.

You could use an Anemone loop.

fillet_2023Jan28a.gh (12.9 KB)

fillet_2023Jan28b.gh (16.5 KB)

Using Radius option in the Rectangle is limited to the half of the shortest segment

rectangle_multiple_fillets.gh (12.0 KB)

Hi, there’s a difference between parameter t and points. The parameter describes a sort of length or position on the curve. This can be pretty negative and extended lengths. however, you can reparameterize it, which sets the position interval to “0 To 1”. This means by using parameter 0.5 you’ll end up exactly in the middle of the curve.

You are displaying the points indexes of the curve and mixing the two values with little to no correlation brings confusion.

you just need to find the parameters (which I did with a c# node, as I don’t know how to do it without c#) and plugged them to the fillet node to have the exact position on where to fillet. The non-multiline data panel has the corresponding radii.

Your main problem was that once the curve is filleted, it changes the curve, so you can’t rely on values based on the old curve, so you theoretically would need to re-analyse it before making the next fillet.

here you go:
re_recFillet.gh (5.7 KB)

hope I was more or less clear with my explanation.


Your code generates four copies of the curve, each with only one fillet.

fillet_2023Jan28_Ben.gh (9.3 KB)

Oh, you’re right, I missed that one. however the explanation is still correct. I hope he still can learn the difference between t and P0.
this fillet node finally seems pretty counter intuitive to me. He’ll have to stick with either @seghierkhaled s or your solution then.

or this one, but it is ugly 2min code that only works for polylines:
re_recFillet2.gh (6.9 KB)

I’m confident that the Anemone loop algorithm I posted yesterday is correct. However, as evident esp. in version ‘b’, the loop isn’t “triggered” when the list of radii changes. Here are two ways to fix that:

  1. Connect the list of radii to the ‘T’ (Trigger) input of “Classic” Loop Start so when the list changes, the loop is triggered. Also, a ‘Reset’ Button can be wired to trigger the loop manually.

fillet_2023Jan29a.gh (17.0 KB)

  1. Replace “Classic” Loop Start/End components with “Fast” versions, which have no ‘T’ input but seem to trigger themselves automatically. I’m a little surprised it works without passing the list of radii through the Anemone ‘Start/End’ components but it does.

fillet_2023Jan29b.gh (16.5 KB)

1 Like

It’s great to have such a useful plugin!
It’s very concise and easy to understand.
Thank you for letting me know how to apply it in version b.
I learned a lot.

I love Anemone. Be careful, though, about over-using it if you are new to GH. The “Grasshopper Way” of working with lists and data trees is very powerful. I’ve seen many cases where Anemone was used when it wasn’t necessary.

Thank you for teaching me carefully.
I didn’t realize that the curve deformation changed the control points.
I learned a lot. I also want to learn C#.

1 Like

I’m new to grasshopper and still don’t understand the basics.
After learning the basics, I would like to install various plug-ins.
Thank you for your kindness to teach me.

I just wrote a good example (unintentionally) of code with and without Anemone. Without is better!

1 Like

Thank you for teaching us such a wonderful program.
It’s amazing how you can freely change the values of complex shapes like this without using plug-ins!
There were many components that I had never used before, and I learned a lot.
Your program is very easy to understand.
I would like to continue studying.
Thank you for your kindness.

1 Like