基本概念——Lacing

在Dynamo中运行与数组、数列等相关结点时,右键点击结点,将出现“Lacing”的选项,其中默认有三种选项“Shortest,Longest和cross product”,这些选项对于创建数列有着非常重要的作用。以下就逐一对于这些概念做一个整体的说明:

首先,如果我们想在Dynamo里创建一个点,用Point.ByCoordinates结点,那么大致是这样子的:

b1

如果我们想创建一列点,它们的Y坐标都是5,而X坐标是从5到10,该怎么做呢(关于Code Block里如何定义数列,请见相关博文):

b2

如果我们想创建二列点,它们的Y坐标是5和6,而X坐标同样的是从5到10,该怎么做呢:

b3

很奇怪吧,多加了一个Y值,竟然生成的点变少了 !原因就是Point.ByCorridnates结点有一个“Lacing”选项。当输入参数有两个或两个以上数组时,“Lacing”选项就会生效。默认的选项是“Shortest”。表示将输入的数组元素依次序配对,并且只配对到最短的数组元素用完为止。

b10

接下来,让我们试试选择“Longest”,会出现什么状况呢?

b4

我们发现,整个点阵的图形变得非常奇怪:因为配对是这样的,如果较短的数组用完了配对的元素,后面的配对始终用最后一个元素,直到最长的数组配对完所有元素:

b11

最后,让我们试试选择“Cross Product”,这就是我们想要的效果,即将两个数组中的每个元素做两两配对,生成2×6共12个点:

b5

如果输入了三个数组同时选用了“Cross Product”呢,当然,那就是一个三维点阵了:

b6

再来看看创建线的效果,更直观。

设置Line.ByStartPointEndPoint的Lacing选项为Shortest:

b7

设置Line.ByStartPointEndPoint的Lacing选项为Longest:

b8

设置Line.ByStartPointEndPoint的Lacing选项为Cross Product:

b9

通过以上的实例,相信大家已经对于Lacing的用法非常清楚了,在以后的案例创建中我们将反复用到这个相关的概念。