下載app免費(fèi)領(lǐng)取會(huì)員
1、在項(xiàng)目文件中繪制兩條模型線作為結(jié)構(gòu)框架放置的基準(zhǔn)。
2、調(diào)出一個(gè)PythonScript節(jié)點(diǎn),對(duì)其進(jìn)行編輯。通過(guò)點(diǎn)擊節(jié)點(diǎn)面板上的加號(hào),將輸入端增加至5個(gè)。
3、雙擊PythonScript的節(jié)點(diǎn)面板,進(jìn)入編輯模式。修改以下內(nèi)容:
3.1 第1行至第10行的內(nèi)容是引用需要用到的庫(kù)。
3.2 第13行和第14行是定義節(jié)點(diǎn)中的輸入端,IN[0]和IN[1]就是節(jié)點(diǎn)輸入端的IN[0]和IN[1]。IN[0].Curves表示獲取該輸入端的曲線,由于獲取的結(jié)果是一個(gè)列表,因此通過(guò)IN[0].Curves[0]獲取列表中索引項(xiàng)為0的元素。crvA和crvB是變量的名稱,用來(lái)儲(chǔ)存輸入端裝化的結(jié)果。
3.3 第17行和第18行的內(nèi)容也是定義輸入端數(shù)據(jù),framingType和designLevel分別接入IN[3]和IN[4]。
3.4 第21行是將輸出端OUT定義為一個(gè)列表。方便后期數(shù)據(jù)填入。
3.5 從第23行開始創(chuàng)建一個(gè)循環(huán)。
3.5.1 第23行的for val in IN[2]:表示如果數(shù)據(jù)存在與輸入端IN[2]中。
3.5.2 第25行和第26行是通過(guò)節(jié)點(diǎn)Curve.PointAtParameter獲取指定曲線上參數(shù)處的點(diǎn)。參數(shù)由變量val控制。
3.5.3 第28行是通過(guò)節(jié)點(diǎn)Line.ByStartPointEndPoint兩兩連接步驟3.5.2中的點(diǎn)生成直線。
3.5.4 第30行是通過(guò)節(jié)點(diǎn)StructuralFraming.BeamByCurve生成結(jié)構(gòu)框架,該節(jié)點(diǎn)所需的定位線、定位標(biāo)高和族類型。
3.5.5 第32行首先是通過(guò)beam.Faces獲取結(jié)構(gòu)框架的各個(gè)曲面,然后通過(guò)python中列表的函數(shù)append將數(shù)據(jù)一一填入列表OUT中。
4、為PythonScript準(zhǔn)備輸入端的數(shù)據(jù)。
4.1 輸入端IN[0]需要曲線,通過(guò)節(jié)點(diǎn)Select Model Element拾取Revit中的曲線,拾取的結(jié)果是模型線。
4.2 輸入端IN[1]需要曲線,通過(guò)節(jié)點(diǎn)Select Model Element拾取Revit中的曲線,拾取的結(jié)果是模型線。
4.3 輸入端IN[2]需要數(shù)值,圖中是通過(guò)代碼塊創(chuàng)建了一個(gè)從0到1均分為11個(gè)對(duì)象的數(shù)值列表。
4.4 輸入端IN[1]需要輸入結(jié)構(gòu)框架的族類型,通過(guò)節(jié)點(diǎn)Structural Framing Types指定。
4.5 輸入端IN[1]需要輸入具體的標(biāo)高,通過(guò)節(jié)點(diǎn)Levels指定。
5、最終的效果就是沿著拾取的兩條曲線放置結(jié)構(gòu)框架。
本文版權(quán)歸腿腿教學(xué)網(wǎng)及原創(chuàng)作者所有,未經(jīng)授權(quán),謝絕轉(zhuǎn)載。
上一篇:Revit如何做一個(gè)帶蓋板的排水溝族(投稿/文/李呈偉)
下一篇:DynamoPrimer解析之Packages - MapToSurface-PanelingWithPolygons(上)
推薦專題