Dynamo應用秘籍:20:使用Lunchbox軟體包簡化點坐標與Excel數據交互

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點文件生成點,就只需要這個兩個節點,非常簡潔。

連載鏈接:上一篇 << ooo >> 下一篇


推薦閱讀:

Revit+Dynamo:連續剛構橋的建模思路(下)
Dynamo應有秘籍:4:確保首末數據封閉的序列
Dynamo根據參數過濾
Dynamo應用秘籍:9:線與面的Parameter
Dynamo應用秘籍:3:理解關聯式語法

TAG:Dynamo | AutoDeskRevit | 参数化设计 |