完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

ad.jpg

Dynamo入門(mén)基礎(chǔ)知識(shí)(二)單位轉(zhuǎn)換

發(fā)布于:2015-04-18 00:51:56

Dynamo和Revit結(jié)合地很好,除了。。。內(nèi)部單位悲摧地不一致。

簡(jiǎn)單地說(shuō),所有在Dynamo里不帶單位的數(shù)值(最常見(jiàn)的就是坐標(biāo)點(diǎn)),Dynamo都會(huì)把它們認(rèn)為是以“米”為單位。所以,如果你想創(chuàng)建兩根距離10英尺的軸網(wǎng),這樣做是不行的:

無(wú)論在項(xiàng)目模板中“單位”設(shè)置是英制還是公制,是“厘米”還是“毫米”,所創(chuàng)建的兩個(gè)軸網(wǎng)之間的間距永遠(yuǎn)是10米。

那么,怎樣才能得到正確的數(shù)值呢,沒(méi)有捷徑,只能通過(guò)手動(dòng)轉(zhuǎn)換,讓我們來(lái)看看,如何進(jìn)行有效地轉(zhuǎn)換:Dynamo提供了一些結(jié)點(diǎn)用于單位轉(zhuǎn)換,比如若想把10英尺轉(zhuǎn)換成米制單位,可以這樣做:

其中“3.048”就是一個(gè)可以直接輸入Revit結(jié)點(diǎn)的米制數(shù)值了。這里L(fēng)ength.FromFeet表示把一個(gè)無(wú)單位的數(shù)值轉(zhuǎn)換成英尺單位的數(shù)值。而SIUnit.Value可以把任何一個(gè)有單位的數(shù)值轉(zhuǎn)換成以米為單位的值,然后把單位抹掉。

所以真正可以創(chuàng)建間距10英尺軸網(wǎng)的Dynamo程序是這樣子的:

我們?cè)儆靡粋€(gè)Revit中更為實(shí)際的例子來(lái)說(shuō)明這個(gè)轉(zhuǎn)換過(guò)程:

首先我們可以用Element.GetParameterValueByName, 取到一面墻的長(zhǎng)度:

請(qǐng)注意這個(gè)長(zhǎng)度是帶單位的。Watch窗口里顯示的單位可以在Dynamo菜單欄“Setting”>“Length Display Unit”里選擇。然后,我們想以這個(gè)墻的長(zhǎng)度為Y值創(chuàng)建一個(gè)點(diǎn):

我們發(fā)現(xiàn),Dynamo出現(xiàn)錯(cuò)誤提示。(結(jié)點(diǎn)顯示黃色,表明程序編寫(xiě)出錯(cuò))主要原因是,點(diǎn)作為Dynamo里的元素,定義在Dynamo的世界坐標(biāo)系下,而這個(gè)坐標(biāo)系是沒(méi)有單位的(雖然轉(zhuǎn)化成其它單位時(shí)會(huì)默認(rèn)為米)。要想做到這一點(diǎn),必須中間再加個(gè)SIUnit.Value轉(zhuǎn)換:

當(dāng)我們完成了這個(gè)步驟之后,才能得到正確的結(jié)果。

本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。

未標(biāo)題-1.jpg

上一篇:Dynamo入門(mén)基礎(chǔ)知識(shí)(一)Lacing

下一篇:Dynamo入門(mén)基礎(chǔ)知識(shí)“初識(shí)Dynamo”