Filleting only selected sharp corners of a curve

according to the options we have with “Fillet Edge”, i would like to have the same possibilities wih the fillet(curve) component.

for a present scenario i need to only fillet the convex corners of the shown curve, but i could also adress the concerned corners via member component.
i could not find a component to allow this differentiation while filleting. any suggestions for a simple but stable workaround?

i attached a simple definition with just the curve and the points. (3.3 KB)

Hi @brt1,

You can isolate the desired, external corners by drawing the convex hull of all the corner points. Only the external corner points lie on the hull curve. I then use Anemone to recursively fillet each desired curve corner.

As long as there’s differentiation between convex/external and concave/internal points, this should do the trick! (10.1 KB)

2 Likes (14.8 KB)

In case if you don’t want to use anemone you can try this tool. I’m not sure how stable it is.



1 Like

recursively” is not correct here. Anemone is using simple iteration (looping) to repeatedly fillet a curve one vertex at a time. This is necessary because Fillet acts on only one value of ‘t’ at a time, producing a separate copy of the filleted curve for each value. I understand why but it’s still unfortunate, unexpected behavior.

thanks for your suggestions!
anemone looks good, but in this specific case it´s desirable to work with standard-gh-components.
i quickly tested mahan´s solution and it seems to work fine. there will be situations where some fillets fail (when exceeding a certain radius or when the original pentagons get too close, …), but for for my needs as an “inhouse solution” its stable enough.
so thanks again

I just realized there are some expectional cases that can not be done by the hull convex method. I explain the error in D1. I develpoed a new method which fix this problem and the method is explained in D2. You can find the code in the file attached here.


fillet_some_corners_convex (13.5 KB)

thanks again!
i will take a closer look and test some cases. from what i see by now, both solutions work for my needs here.