下載app免費領(lǐng)取會員
通過Dynamo提取Revit中相關(guān)圖元的參數(shù)是我們經(jīng)常需要的一個步驟,但是僅僅通過Dynamo自身的節(jié)點只能獲取圖元的實例參數(shù)。
例如,通過節(jié)點“Select Model Elements”先選擇圖元,再通過節(jié)點“Element.GetParameterValueByName”提取墻體實例參數(shù)中名為“無連接高度”的參數(shù)值。
但是,我們繼續(xù)使用該節(jié)點提取墻體的類型參數(shù),比如,提取墻體的“厚度”。如下圖所示,得到的結(jié)果為空的字符串。
因此,我們通過另一種方式獲取墻體的類型參數(shù)。
1、通過第5至第9行將Revit的API導入當前的Python Script。
2、定義一個變量“wall”表示解封以后的墻體,由于Revit的圖元進入Dynamo都是被封裝的,因此需要解封才能使用。
3、通過變量“wallWidth”表示墻體的厚度,提取該厚度的原理是墻體的函數(shù)“Width”可以識別墻體厚度。
4、由于獲得的結(jié)果是英尺(ft),所以將結(jié)果乘以304.8變?yōu)楹撩住?/span>
當前只有一個墻體,那如果有多個墻體該怎么辦呢?
1、創(chuàng)建一個空列表“wallsWidth”表示儲存這些墻體的厚度。
2、創(chuàng)建一個循環(huán),該循環(huán)判斷如果元素存在于列表“walls”中就提取它的厚度,并且將結(jié)果填入列表“wallsWidth”。
3、再創(chuàng)建一個空列表“Width”表示將英尺轉(zhuǎn)換為毫米,之后便利用一個循環(huán)判斷如果元素存在于列表“wallsWidth”中就將其乘以304.8,并且將結(jié)果填入列表“Width”
4、輸出列表“Width”。
總結(jié):當前的是墻體,那如果換一種圖元要怎么辦呢?這時我們就需要知道我們要提取的參數(shù)是怎樣的函數(shù)。還是以墻體為例,打開RevitAPI,找到Autodesk.Revit.DB Namespace,再選擇Wall Class中的Wall Members,在右側(cè)就能找到方法Width,提取墻體的厚度。
本文版權(quán)歸腿腿教學網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit中,要如何更新屋頂和幕墻系統(tǒng)的面選擇?
推薦專題