Geometry Nodes: Curve Fillet Node

This node can be used to fillet splines at control points to
create a circular arc.
The implementation roughly follows T89227's design.

The node works in two main modes: Bezier and Poly
* Bezier: Creates a circular arc at vertices by changing
handle lengths (applicable only for Bezier splines).
* Poly: Creates a circular arc by creating vertices (as
many as defined by the Count fields input) along
the arc (applicable for all spline types).

In both modes, the radius of the created arc is defined
by the Radius fields input.
The Limit Radius attribute can be enabled to prevent
overlapping when the defined radius exceeds the maximum
possible radius for a given point.

Reviewed By: Hans Goudey

Differential Revision: https://developer.blender.org/D12115
This commit is contained in:
dilithjay
2021-09-22 20:11:12 +05:30
parent 204b01a254
commit 0d350e0193
13 changed files with 675 additions and 4 deletions

View File

@@ -530,6 +530,7 @@ geometry_node_categories = [
NodeItem("GeometryNodeCurveParameter", poll=geometry_nodes_fields_poll),
NodeItem("GeometryNodeInputTangent", poll=geometry_nodes_fields_poll),
NodeItem("GeometryNodeCurveSample", poll=geometry_nodes_fields_poll),
NodeItem("GeometryNodeCurveFillet", poll=geometry_nodes_fields_poll),
]),
GeometryNodeCategory("GEO_PRIMITIVES_CURVE", "Curve Primitives", items=[
NodeItem("GeometryNodeCurvePrimitiveLine"),