Split Splines Node-Group (Split Vertex for Geometry Nodes)

Split Splines.3.blend (124.2 KB)

Split Bezier(3.6).blend (88.6 KB)

Old Files

Split Splines.1.blend (123.7 KB)
Split Bezier.blend (89.6 KB)

Vertex Split for Splines developed as part of the curve to chain-link fence project. Can be combined with material selection and curve conversion nodes to get a Split Vertex effect.

image

Inputs:

  • Curve - currently only Poly-Splines work. If using a Bezier curve, use a Resample node set to Evaluated to convert (see Example).
  • Selection - Boolean Field input for Points at which to split the curve.

Outputs:

  • Split Poly-Curves.

To use just copy the attached file to your asset folder and you can drag Split Splines into the geometry nodes editor from the library view in the asset browser.

Example:

Using poly-curve-dot-product to split at “sharp” points on the curve and then shrinking the resulting curve segments:
image

…file includes from mesh example and curve deltas node-group as bonus.

Performance isn’t great and it was a lot trickier to implement than anticipated. Sharing in case someone knows of a more performant or less obtuse implementation.

Edit: Update method from @SoerenSc
Added Split Bezier group

Edit 2024/03/30: Multi Splines now supported with Split Bezier.

4 Likes

Hi, cool idea. I think i found a simpler solution. cause of the merge by distance probably not that performance either, but it seems to be working for me

3 Likes

Initial tests show that this is actually more performant than my solution. Have vague memory of trying to get the Split Edges Selection (which doesn’t work on point Booleans) to work and didn’t occur to me to use Merge By Distance Selection instead.

For parity, the updated node-group looks like this:

File above updated.

Thanks

5 Likes

It seems the Split Edges node has stopped working on meshes that are just edges (bug report).

For anyone googling “how to split a curve”: instead of just using Split Edges, you have to extrude the edges so that they have faces connected, then use Split Edges, and then delete the excess geometry created by the extrude.

1 Like

Weird… looking at today’s build of Alpha 4 and it appears as if split edges works fine…

regular:


your method:

…it seems to be some optimization with the mesh-to-cuve that makes it so it only does the split using your method:


vs.

May wanna add that detail to your report.

(Thanks for reporting it.)

1 Like

Yes, new verts do appear in the spreadsheet editor after using Split Edges, but they’re not connected to the edges. Apply the modifier without the final Mesh to Curve to see that each vert has a loose double. The Mesh to Curve node basically just deletes them.

The report isn’t mine, I just found it while frantically googling for a fix for this :stuck_out_tongue:

2 Likes

Looks like Split Edges works again. Will update things shortly.

1 Like

btw, I’ve done this myself before with three different methods

the main thing i want to point out is the method that i extrude the points that i want to split. since curves points can’t have more thsn two neighbors, it splits the spline. then i delete the extra splines.

here of some images from the discord thread i shared them on:


this is the method i mentioned above, and is the fastest i tested


this is a ‘split edges’ and ‘merge by distance’ method


this is a manual method that creates new splines


I got them working for bezier curves aswell

1 Like