This nodes creates a constant radius fillet at each selected point of the curve, meaning that at every selected point, there will be a new circle portion segment or segments (depending on the resolution.
- A resolution of 1 adds just the two points on each corner, creating a chamfer (hard edge).
- Higher resolutions add more points on the corners.
- Both radius and resolution can be driven by attributes.
- Ideally if the radius is large enough that it it will intersect neighboring points, they could be removed.
- Also, ideally two fillet radii would be able to gracefully intersect.
|Node to calculate the angle at each control point (free or vector control points for bezier splines) and store the result in an attribute, used for procedural control of which points are beveled. A curvature builtin attribute or a node to calculate curvature would also work|
- What should happen for NURB splines?
D6386: [WIP] Bevel: Constant Radius Mode is somewhat similar, though this will be much simpler than implementing something like this in the bevel modifier, since this is just 2D and there are no N-way intersections.
As an optimization, the node could modify an existing curve or create a new one based on the size of the selection-- if it's just a few points out of many, it will likely be more efficient to reuse memory.