Lunchbox在GH里面就是个知名的插件,在Dynamo中更加一样,在做异型幕墙分割时,更加是必不可少的工具。但是今天介绍的,不是Lunchbox里面分割幕墙的功能,而是几个非常简易的处理点坐标数据的DLL节点,利用这些节点,可以简化我们在将点坐标数据输出到Excel或者从Excel点文件创建生成Dynamo点实体的过程。
只是使用Dynamo,我们也可以做到,不过需要多几个节点。以输出到Excel为例,需要首先提取点的XYZ坐标组合成一个复合列表{X, Y, Z},然后需要Transpose这个列表才能将数据传递给写入Excel的节点,如下图所示:
如果你的Dynamo里面已经安装了Lunchbox,那么恭喜你,可以简化这五个节点为一个节点了,这个起替代作用的就是Points.PointToNumber节点,虽然返回值的数据结构与Transpose的略有不同,不过不影响直接写入Excel。如果希望保持数据结构一致,也只需要再增加一个Flatten一次就可以了。
与Points.PointToNumber节点对应的,Lunchbox中也有Points.NumberToPoint节点,可以直接由数字列表自动直接生成点:
Dynamo从Excel中读取点坐标文件时,缺省返回的数据是((X1 Y1 Z1)...(X2 Y2 Z2)),使用传统的方式,往往需先Transpose,再分别提取XYZ成列表,赋值给Point.ByCoordinates节点。如上图所示,使用Lunchbox的Points.NumberToPoint节点就不需要Transpose数据而直接生成点了,因为其数据结构不符合要求,将她Flatten一下就可以。
利用这个原理,从Excel点文件生成点,就只需要这个两个节点,非常简洁。
来源 | Kozmosovia
联系客服