下載app免費領取會員
本文由網友 〃刪除、過去‖ 投稿分享
經過一段時間的Dynamo學習,在插件授權過期沒有續上的時候,決定測試一下自己的學習成果,從土建建模個人覺得比較麻煩的過梁添加進行制作,下面就是應用到的節點詳解,希望大家能夠對整個布置提出建議,進行優化。
一. 數據處理
1.
在這里先對整體項目進行選中,從中對墻,門,窗進行劃分,方便后面進行劃分整理,由于墻體需要特殊的節點進行讀取,所以對整個構件的族進行處理,同時應用String.AllIndicesOf,String.IndexOf節點進行選取選取。
2.
采用FamilyInstance.GetType節點,對窗體,門數據進行讀取
3.
判斷寬度,將規范寬度填入,與整個門寬數據進行判斷,再利用List.AllIndicesOf與IF語句進行區分,整個邏輯順序分為上圖中進行梁高度H與梁寬度B的判斷
4.
將門型號,門寬度和門高度提取,對門寬度和門高度進行數據處理,完成梁線,過梁型號選取的前期準備。
二、
采用數學公式對之前提取的數據進行處理,這一步驟的目的是為了獲取梁中心線X,Y坐標與梁頂高度值。
使用Element.GetLocation節點,獲取門類型的中心點位置,利用寬度進行兩邊拓展,利用高度加上過梁高度進行梁高度最終確認,中間使用Point.Add節點進行兩側點計算,之后使用Line.ByStartPointEndPoint進行連接,確定最終梁線。
三、過梁型號與梁線匹配
使用FamilyInstance.GetHost節點進行門歸屬墻選取,之后通過FamilyType.Name與WallType.ByName節點進行墻體選取和進入能夠讀取數據狀態,通過Element.GetParamaterValueByName與List.AllIndicesOf節點進行分類,將不同墻體厚度進行區分,
這里對墻線向量進行選取是通過將數組拍平,通過List.AllIndicesOf節點進行重新排序,通過固定的排序將所有數據進行重新組織。
通過前面獲取的梁線與墻線通過Vector.IsParallel進行判斷是否需要進行旋轉,
對處于不平行狀態的梁線與墻位置進行選取,并通過Vector.angleAboutAxis節點對角度進行讀取
再次使用索引命令,將梁線選取,在使用180-角度的方式計算改旋轉角度,保證墻體再傾斜狀態下能夠與墻體保證平行。通過Geometry.Rotate節點進行旋轉應用得到與墻體平行位置的梁線,到這一步所有的梁線處理完畢,下一步進行構件的匹配。
三、構件名稱匹配
對墻體厚度進行讀取按照之前確定的排序順序,并進行字符串轉化,并通過之前根據門寬度確定的梁高度進行歸屬
通過字符串的處理,得到構件名稱(此處構件名稱處理太過冗長,希望大家指正),得到構件名稱之后,根據前面篩選的平行判斷條件選出的梁線進行分別對應
再次使用List,GetItemIndex節點進行排序選取,使梁線對應的構件名稱能夠正確對應,標高通過Levels進行選擇,最后通過StructuralFraming.BeamByCurve節點進行過梁的創建和放置。本次的講解針對的其中一組數據,剩余的三組數據采用相同的方式進行歸類整理,就可以通過Dynamo創建整個項目的門窗過梁。
使用上面方式創建的門過梁,能夠在不使用插件的起提下提高自己的工作效率。
本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。
下一篇:利用Dynamo進行樁基翻模
推薦專題