Introduction to Dynamo Fundamentals (1): Lacing
When working with nodes involving arrays, sequences, and similar data structures in Dynamo, right-clicking on a node reveals the “Lacing” option. There are three default lacing modes to choose from: Shortest, Longest, and Cross Product. These options are essential when creating sequences and managing how data is paired between lists. Below is a detailed explanation of each mode:
For example, if we want to create a point in Dynamo using the Point.ByCoordinates node, it might look something like this:
Now, suppose we want to create a column of points with a fixed Y coordinate of 5, while the X coordinates range from 5 to 10.
What if we want to create two columns of points with Y coordinates 5 and 6, while X coordinates still range from 5 to 10?
Interestingly, adding an extra Y value results in fewer points! This happens because the Point.ByCoordinates node has the “Lacing” option. When the input parameters contain two or more arrays, the lacing mode determines how these arrays are paired.
The default lacing mode is “Shortest”. In this mode, elements from input arrays are paired sequentially, but pairing stops as soon as the shortest array runs out of elements.
Next, let’s explore what happens when we select the “Longest” lacing mode.
We notice that the overall pattern of points becomes unusual. This is because, when the shorter array runs out of elements, the last element of that array is repeatedly paired with the remaining elements of the longer array until all elements are paired.
Finally, let’s try the “Cross Product” lacing mode. This is the behavior we want: every element in one array is paired with every element in the other array, generating a full grid of points. For example, pairing arrays of sizes 2 and 6 produces 12 points (2 × 6).
If you input three arrays and select “Cross Product”, you get a three-dimensional lattice of points.
Let’s take a look at the effect of lacing on creating lines, which often makes the concept clearer. First, set the lacing option for Line.ByStartPointEndPoint to Shortest:
Next, set the lacing option for Line.ByStartPointEndPoint to Longest:
Finally, set the lacing option for Line.ByStartPointEndPoint to Cross Product:
From the examples above, it should now be clear how lacing works. This concept is fundamental and will be frequently applied in future Dynamo projects.
【 Related Skills Search 】
Revit 2017 New Feature Summary – Introduction to Dynamo Features















Must log in before commenting!
Sign Up