List Join

https://user-images.githubusercontent.com/14288520/187512380-c7e79c39-f868-489a-879d-dd3a063dea53.png

Functionality

This node joins different list into a single one.

level 1: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ (1,2,3), (4,5,6), (7,8,9), (10,11,12) ] ]

level 2 mix: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ (1,2,3),(7,8,9),(4,5,6),(10,11,12) ] ]

level 2 wrap: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [ (1,2,3),(4,5,6) ], [ (7,8,9),(10,11,12) ] ] ]

level 2 mix + wrap: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [ (1,2,3),(7,8,9) ], [ (4,5,6),(10,11,12) ] ] ]

level 3: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [1,2,3,4,5,6,7,8,9,10,11,12] ] ]

level 3 mix: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [1,7,2,8,3,9,4,10,5,11,6,12] ] ]

level 3 wrap: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [1,2,3,4,5,6],[7,8,9,10,11,12] ] ]

level 3 mix + wrap: [ [ (1,2,3), (4,5,6) ] ] + [ [ (7,8,9), (10,11,12) ] ] = [ [ [1,7],[2,8],[3,9],[4,10],[5,11],[6,12] ] ]

level 2 Match: [[1, 2, 3], [4, 5, 6]] + [[7, 8, 9]] = [[1, 2, 3, 7, 8, 9], [4, 5, 6, 7, 8, 9]]

level 2 Match + Mix: [[1, 2, 3], [4, 5, 6]] + [[7, 8, 9]] = [[1, 7, 2, 8, 3, 9], [4, 7, 5, 8, 6, 9]]

level 2 Match + Mix: [[1, 2, 3], [4, 5, 6]] + [[7, 8, 9]] = [[1, 7, 2, 8, 3, 9], [4, 7, 5, 8, 6, 9]]

level 2 Match + Wrap: [[1, 2, 3], [4, 5, 6]] + [[7, 8, 9]] = [[[1, 2, 3], [7, 8, 9]], [[4, 5, 6], [7, 8, 9]]]

level 2 Match + Mix + Wrap: [[1, 2, 3], [4, 5, 6]] + [[7, 8, 9]] = [[(1, 7), (2, 8), (3, 9)], [(4, 7), (5, 8), (6, 9)]]

Inputs

  • data multisocket

Parameters

  • Match: length of lists will be matched before joining

  • Match mode: how length of lists should be matched (Repeat Last, Cycle, Match Short…)

  • Mix to mix (not zip) data inside

  • Wrap to wrap additional level

  • Levels level of joining

Advanced Parameters

In the N-Panel (and on the right-click menu) you can find:

  • NumPy Mode: When enabled the node will expect and produce lists of NumPy arrays. It will be faster when joining NumPy Arrays but due the nature of the implementation it will fail when trying to join arrays with different axis number.

Outputs

  • data adaptable socket

Examples

Combine Bezier Spline Curves with ‘List Join’ node to Create a Surface

https://user-images.githubusercontent.com/14288520/187514973-08b68caf-2024-4316-b2d5-834d49f96712.png