官术网_书友最值得收藏!

2.5 案例5:異形幕墻嵌板坐標提取

1.案例背景

異形幕墻施工中的難點在于空間定位。如果有準確的BIM模型,可以應用Dynamo軟件自動提取異形幕墻上的任意一點空間坐標,代替人工。在本案例中,要求提取每一塊幕墻嵌板的四個角點坐標(圖2-56),并將其輸入Excel表格中。

提示

概念體量相關知識點可參考《Revit體量設計應用教程》(柏慕聯創 組編)。

2.解決方案

在項目中,有時可以借助Revit的功能,比如替換族。為了提取坐標,可以將族構件放置在要提取坐標的位置,并通過Dynamo節點獲取族插入點的空間坐標位置,即目標點的坐標,最后將坐標信息提取并寫入Excel表格。

3.案例知識點

● Element. GetLocation

● Element. SetPatameterByName

4.案例詳解

(1)構造坐標點標記族。創建一個類別為常規模型的族來標記幕墻嵌板四個角點,族命名為“標記族.rfa”。勾選“基于工作平面”和“共享”,取消勾選“總是垂直”,這是便于在角點上放置“標記族”,以及能被Dynamo所讀取,如圖2-57所示。

圖2-56

圖2-57

提示

此標記族的作用是提取幕墻嵌板底部四個點的坐標。幕墻嵌板有六個面八個點,直接將幕墻嵌板坐標導出時,數據會比較混亂。Dynamo中提取標記族坐標時,提取的是插入點的坐標,因此制作此標記族時要保證底部頂點為族的插入點。

(2)放置坐標點標記族。打開案例文件中的幕墻嵌板族,載入“標記族”,分別設置自適應點的面作為工作平面并按原幕墻嵌板族中自適應點的編號順序放置族構件;打開案例文件中的體量模型“異形幕墻嵌板坐標提取.rfa”,替換原幕墻嵌板族,結果如圖2-58所示。

提示

放置順序需要與自適應點的編號順序保持一致。

圖2-58

為了便于坐標數據的寫入和統計,在幕墻嵌板族中分別創建X1,Y1,Z1,…,X4,Y4,Z4共12個實例參數,且為共享參數,便于明細表統計,如圖2-59所示。

提示

12個參數分別是四個端點的三個坐標值。

圖2-59

(3)提取坐標點位置數據。進入Dynamo編輯界面,讀取“標記族”,在Revit→Elements(Revit圖元)→Element(實例)中選擇GetLocation(獲取構件位置),Element.GetLocation(獲取構件位置)節點用于獲取“標記族”插入點的位置,即每塊嵌板四個角點的位置,如圖2-60所示。

圖2-60

(4)數據處理。通過觀察發現,每塊嵌板有四個角點,且Element.GetLocation(獲取構件位置)節點是按順時針即自適應點編號順序提取。列表中每四項為一組,接下來利用List(列表)→Modify(修改)下的List.Chop(將列表分割成指定長度的子列表)節點將該一維列表拆成二維列表,如圖2-61所示。

圖2-61

(5)設置對應幕墻嵌板坐標參數。讀取體量文件中的幕墻嵌板族,如圖2-62所示,需要將圖2-61中的100組參數即400個坐標,寫入100個幕墻嵌板族的對應實例參數X1,Y1,Z1,…,X4,Y4,Z4中去;這里需要用到Element.SetPatameterByName(根據參數名設置參數值)節點。

圖2-62

要通過Element.SetPatameterByName(根據參數名設置參數值)節點分別輸入X1,Y1,Z1……的值,首先要提取X,Y,Z值,在Geometry(幾何學)→Points→Point,使用Point.X(獲取點的X坐標數據)、Point.Y(獲取點的Y坐標數據)、Point.Z(獲取點的Z坐標數據)三個節點。

以Point.X輸出的列表為例,這里每組數據包含X1,X2,X3,X4。而現在只需要X1,回憶之前的知識點,使用List.GetItemAtIndex(根據列表索引獲取項)節點和“使用級別”,如圖2-63所示。

圖2-63

如圖2-64所示,運行后便完成了所有幕墻嵌板X1坐標的提取。要完成所有坐標數據的提取,需要重復12次上述數據提取操作。這讓節點工作變得煩瑣,在后續章節中會講解腳本語言,可以使用循環語法簡化節點。

圖2-64

主站蜘蛛池模板: 龙陵县| 丘北县| 曲沃县| 鲁甸县| 米泉市| 正安县| 普洱| 全南县| 巩留县| 仁怀市| 浦江县| 林口县| 光山县| 准格尔旗| 腾冲县| 东乌| 屯昌县| 新巴尔虎左旗| 吴川市| 万盛区| 平南县| 宣城市| 固镇县| 江阴市| 青浦区| 安吉县| 扬中市| 伊川县| 农安县| 确山县| 乐亭县| 独山县| 会昌县| 元谋县| 松江区| 汉源县| 平顺县| 临洮县| 开封市| 汉中市| 肥城市|