下載app免費領取會員
Dynamo和Revit結合地很好,除了。。。內部單位悲摧地不一致。
簡單地說,所有在Dynamo里不帶單位的數值(最常見的就是坐標點),Dynamo都會把它們認為是以“米”為單位。所以,如果你想創建兩根距離10英尺的軸網,這樣做是不行的:
無論在項目模板中“單位”設置是英制還是公制,是“厘米”還是“毫米”,所創建的兩個軸網之間的間距永遠是10米。
那么,怎樣才能得到正確的數值呢,沒有捷徑,只能通過手動轉換,讓我們來看看,如何進行有效地轉換:Dynamo提供了一些結點用于單位轉換,比如若想把10英尺轉換成米制單位,可以這樣做:
其中“3.048”就是一個可以直接輸入Revit結點的米制數值了。這里Length.FromFeet表示把一個無單位的數值轉換成英尺單位的數值。而SIUnit.Value可以把任何一個有單位的數值轉換成以米為單位的值,然后把單位抹掉。
所以真正可以創建間距10英尺軸網的Dynamo程序是這樣子的:
我們再用一個Revit中更為實際的例子來說明這個轉換過程:
首先我們可以用Element.GetParameterValueByName, 取到一面墻的長度:
請注意這個長度是帶單位的。Watch窗口里顯示的單位可以在Dynamo菜單欄“Setting”>“Length Display Unit”里選擇。然后,我們想以這個墻的長度為Y值創建一個點:
我們發現,Dynamo出現錯誤提示。(結點顯示黃色,表明程序編寫出錯)主要原因是,點作為Dynamo里的元素,定義在Dynamo的世界坐標系下,而這個坐標系是沒有單位的(雖然轉化成其它單位時會默認為米)。要想做到這一點,必須中間再加個SIUnit.Value轉換:
當我們完成了這個步驟之后,才能得到正確的結果。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
推薦專題