完善主體資料,免費(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

5cdd2dc095060.jpg

Dynamo如何提取墻體厚度

發(fā)布于:2019-03-22 10:48:41

來(lái)福

更多

        通過(guò)Dynamo提取Revit中相關(guān)圖元的參數(shù)是我們經(jīng)常需要的一個(gè)步驟,但是僅僅通過(guò)Dynamo自身的節(jié)點(diǎn)只能獲取圖元的實(shí)例參數(shù)。

        例如,通過(guò)節(jié)點(diǎn)“Select Model Elements”先選擇圖元,再通過(guò)節(jié)點(diǎn)“Element.GetParameterValueByName”提取墻體實(shí)例參數(shù)中名為“無(wú)連接高度”的參數(shù)值。

        但是,我們繼續(xù)使用該節(jié)點(diǎn)提取墻體的類型參數(shù),比如,提取墻體的“厚度”。如下圖所示,得到的結(jié)果為空的字符串。

        因此,我們通過(guò)另一種方式獲取墻體的類型參數(shù)。

        1、通過(guò)第5至第9行將Revit的API導(dǎo)入當(dāng)前的Python Script。

        2、定義一個(gè)變量“wall”表示解封以后的墻體,由于Revit的圖元進(jìn)入Dynamo都是被封裝的,因此需要解封才能使用。

        3、通過(guò)變量“wallWidth”表示墻體的厚度,提取該厚度的原理是墻體的函數(shù)“Width”可以識(shí)別墻體厚度。

        4、由于獲得的結(jié)果是英尺(ft),所以將結(jié)果乘以304.8變?yōu)楹撩住?/span>


05 Python提取類型參數(shù).png

        當(dāng)前只有一個(gè)墻體,那如果有多個(gè)墻體該怎么辦呢?

        1、創(chuàng)建一個(gè)空列表“wallsWidth”表示儲(chǔ)存這些墻體的厚度。

        2、創(chuàng)建一個(gè)循環(huán),該循環(huán)判斷如果元素存在于列表“walls”中就提取它的厚度,并且將結(jié)果填入列表“wallsWidth”。

        3、再創(chuàng)建一個(gè)空列表“Width”表示將英尺轉(zhuǎn)換為毫米,之后便利用一個(gè)循環(huán)判斷如果元素存在于列表“wallsWidth”中就將其乘以304.8,并且將結(jié)果填入列表“Width”

        4、輸出列表“Width”。

        總結(jié):當(dāng)前的是墻體,那如果換一種圖元要怎么辦呢?這時(shí)我們就需要知道我們要提取的參數(shù)是怎樣的函數(shù)。還是以墻體為例,打開(kāi)RevitAPI,找到Autodesk.Revit.DB Namespace,再選擇Wall Class中的Wall Members,在右側(cè)就能找到方法Width,提取墻體的厚度。09 API.png

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

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

上一篇:Revit中,要如何更新屋頂和幕墻系統(tǒng)的面選擇?

下一篇:Revit如何更新建筑圖元以反映對(duì)體量所作的修改?