Page MenuHome

Connect Curve Splines Node
Confirmed, NormalPublicDESIGN

Assigned To
Authored By
Hans Goudey (HooglyBoogly)
Jun 16 2021, 10:01 PM
"Love" token, awarded by Branskugel."Love" token, awarded by wilBr."Love" token, awarded by Bit."Like" token, awarded by GeorgiaPacific."Love" token, awarded by dreamak.


This node join splines from the input geometry sets into a single spline, depending on the merge settings.

  • The use cases are building and later filling a single shape from multiple curve primitives, creating a single spline from multiple objects, and other options where connecting splines is useful like in edit mode.
  • If end points of two splines are within the "Merge Threshold", they will be connected, just like in curve edit mode with the F shortcut.
  • If "Add Segments" is off, the node will not create new segments, only join end points and start points. (This corresponds to F and then deleting one control point in edit mode.
  • If the spline types do not match, a poly spline will be used for the result of that set of the input splines, in evaluated form. Poly splines are a good choice because they are the "base" of curve functionality.
  • If three end points are inside the merge threshold, the closest points will be connected, and as a fallback a choice could be made based on index.
Related Nodes
Further Questions
  • Naming: "Concatenate Curves" or "Join Splines" or "Connect Curves" are other name possibilities.

A first pass should find which start and end points are within a merge threshold. Keeping this operation from having N^2 runtime will be important. Then >2-way intersections should be dealt with, then data should be copied to the result, or possible moved with std::move if no connections were made to a spline.

Revisions and Commits