The output of the Fillet API Rhino.Geometry.Curve.CreateFilletCornersCurve (or .PolyCurve.CreateFilletCornersCurve) is not identical to the output generated by the Grasshopper “Fillet” component.
Moreover, in NodeInCode workflows (both Python and C#), the correct Fillet component is missing — only the “Fillet at parameter” variant exists, which causes confusion and incorrect argument mapping.
Please address these two issues: Align the API’s corner fillet behavior with Grasshopper’s Fillet component output. Ensure the corner-smoothing Fillet component is accessible in NodeInCode under ghpythonlib (distinct from parameter-based Fillet). Fillet bug.gh (19.7 KB)
hi @dale
Yes, you can see the test result in the screenshot. When the radius increases, some corners become sharp with the C# method (CreateFilletCornersCurve), while this does not happen with the native Grasshopper Fillet (Corners) component. In Grasshopper, all corners are filleted using the maximum possible radius for each corner. Therefore, the results are not identical!
CreateFilletCornersCurve does not fillet every corner because the radius you specified, 12.5, it too large. However, the corner that is filleted is correct. When you evaluate the results of GH, the fillet is incorrect given the specified radius.
You’ll need to decide what is correct based on what you are trying to accomplish. If you’re just trying to round every corner, GH is probably the way to go. If you need accuracy, I’d suggest RhinoCommon.