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

下載app免費領取會員

NULL

ad.jpg

DynamoPrimer解析之Custom Nodes - Revit-StructuralFraming

發(fā)布于:2020-02-10 14:00:05
首頁/技術分享/Dynamo
收藏
4872

來福

更多

1、在項目文件中繪制兩條模型線作為結構框架放置的基準。

0101_繪制模型線.png

2、調(diào)出一個PythonScript節(jié)點,對其進行編輯。通過點擊節(jié)點面板上的加號,將輸入端增加至5個。

0201_調(diào)用PythonScript節(jié)點.png

3、雙擊PythonScript的節(jié)點面板,進入編輯模式。修改以下內(nèi)容:

3.1 第1行至第10行的內(nèi)容是引用需要用到的庫。

3.2 第13行和第14行是定義節(jié)點中的輸入端,IN[0]和IN[1]就是節(jié)點輸入端的IN[0]和IN[1]。IN[0].Curves表示獲取該輸入端的曲線,由于獲取的結果是一個列表,因此通過IN[0].Curves[0]獲取列表中索引項為0的元素。crvA和crvB是變量的名稱,用來儲存輸入端裝化的結果。

3.3 第17行和第18行的內(nèi)容也是定義輸入端數(shù)據(jù),framingType和designLevel分別接入IN[3]和IN[4]。

3.4 第21行是將輸出端OUT定義為一個列表。方便后期數(shù)據(jù)填入。

3.5 從第23行開始創(chuàng)建一個循環(huán)。

3.5.1 第23行的for val in IN[2]:表示如果數(shù)據(jù)存在與輸入端IN[2]中。

3.5.2 第25行和第26行是通過節(jié)點Curve.PointAtParameter獲取指定曲線上參數(shù)處的點。參數(shù)由變量val控制。

3.5.3 第28行是通過節(jié)點Line.ByStartPointEndPoint兩兩連接步驟3.5.2中的點生成直線。

3.5.4 第30行是通過節(jié)點StructuralFraming.BeamByCurve生成結構框架,該節(jié)點所需的定位線、定位標高和族類型。

3.5.5 第32行首先是通過beam.Faces獲取結構框架的各個曲面,然后通過python中列表的函數(shù)append將數(shù)據(jù)一一填入列表OUT中。

0301_PythonScript的內(nèi)容.png

4、為PythonScript準備輸入端的數(shù)據(jù)。

4.1 輸入端IN[0]需要曲線,通過節(jié)點Select Model Element拾取Revit中的曲線,拾取的結果是模型線。

4.2 輸入端IN[1]需要曲線,通過節(jié)點Select Model Element拾取Revit中的曲線,拾取的結果是模型線。

4.3 輸入端IN[2]需要數(shù)值,圖中是通過代碼塊創(chuàng)建了一個從0到1均分為11個對象的數(shù)值列表。

4.4 輸入端IN[1]需要輸入結構框架的族類型,通過節(jié)點Structural Framing Types指定。

4.5 輸入端IN[1]需要輸入具體的標高,通過節(jié)點Levels指定。

0401_準備輸入端.png

5、最終的效果就是沿著拾取的兩條曲線放置結構框架。

0501_最終的結果.png

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

未標題-1.jpg

上一篇:Revit如何做一個帶蓋板的排水溝族(投稿/文/李呈偉)

下一篇:DynamoPrimer解析之Packages - MapToSurface-PanelingWithPolygons(上)