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

下載app免費(fèi)領(lǐng)取會(huì)員

NULL

5cdd2dc095060.jpg

Dynamo門(mén)窗過(guò)梁添加制作講解

發(fā)布于:2018-04-08 18:21:16

腿腿直播助理

更多
本文由網(wǎng)友 〃刪除、過(guò)去‖ 投稿分享

經(jīng)過(guò)一段時(shí)間的Dynamo學(xué)習(xí),在插件授權(quán)過(guò)期沒(méi)有續(xù)上的時(shí)候,決定測(cè)試一下自己的學(xué)習(xí)成果,從土建建模個(gè)人覺(jué)得比較麻煩的過(guò)梁添加進(jìn)行制作,下面就是應(yīng)用到的節(jié)點(diǎn)詳解,希望大家能夠?qū)φ麄€(gè)布置提出建議,進(jìn)行優(yōu)化。

一. 數(shù)據(jù)處理

1.

 

在這里先對(duì)整體項(xiàng)目進(jìn)行選中,從中對(duì)墻,門(mén),窗進(jìn)行劃分,方便后面進(jìn)行劃分整理,由于墻體需要特殊的節(jié)點(diǎn)進(jìn)行讀取,所以對(duì)整個(gè)構(gòu)件的族進(jìn)行處理,同時(shí)應(yīng)用String.AllIndicesOf,String.IndexOf節(jié)點(diǎn)進(jìn)行選取選取。

2. 

采用FamilyInstance.GetType節(jié)點(diǎn),對(duì)窗體,門(mén)數(shù)據(jù)進(jìn)行讀取

3.

 

判斷寬度,將規(guī)范寬度填入,與整個(gè)門(mén)寬數(shù)據(jù)進(jìn)行判斷,再利用List.AllIndicesOf與IF語(yǔ)句進(jìn)行區(qū)分,整個(gè)邏輯順序分為上圖中進(jìn)行梁高度H與梁寬度B的判斷

4. 

將門(mén)型號(hào),門(mén)寬度和門(mén)高度提取,對(duì)門(mén)寬度和門(mén)高度進(jìn)行數(shù)據(jù)處理,完成梁線,過(guò)梁型號(hào)選取的前期準(zhǔn)備。

二、

 

采用數(shù)學(xué)公式對(duì)之前提取的數(shù)據(jù)進(jìn)行處理,這一步驟的目的是為了獲取梁中心線X,Y坐標(biāo)與梁頂高度值。

使用Element.GetLocation節(jié)點(diǎn),獲取門(mén)類(lèi)型的中心點(diǎn)位置,利用寬度進(jìn)行兩邊拓展,利用高度加上過(guò)梁高度進(jìn)行梁高度最終確認(rèn),中間使用Point.Add節(jié)點(diǎn)進(jìn)行兩側(cè)點(diǎn)計(jì)算,之后使用Line.ByStartPointEndPoint進(jìn)行連接,確定最終梁線。

三、過(guò)梁型號(hào)與梁線匹配

 

使用FamilyInstance.GetHost節(jié)點(diǎn)進(jìn)行門(mén)歸屬墻選取,之后通過(guò)FamilyType.Name與WallType.ByName節(jié)點(diǎn)進(jìn)行墻體選取和進(jìn)入能夠讀取數(shù)據(jù)狀態(tài),通過(guò)Element.GetParamaterValueByName與List.AllIndicesOf節(jié)點(diǎn)進(jìn)行分類(lèi),將不同墻體厚度進(jìn)行區(qū)分,

這里對(duì)墻線向量進(jìn)行選取是通過(guò)將數(shù)組拍平,通過(guò)List.AllIndicesOf節(jié)點(diǎn)進(jìn)行重新排序,通過(guò)固定的排序?qū)⑺袛?shù)據(jù)進(jìn)行重新組織。

通過(guò)前面獲取的梁線與墻線通過(guò)Vector.IsParallel進(jìn)行判斷是否需要進(jìn)行旋轉(zhuǎn),

 

對(duì)處于不平行狀態(tài)的梁線與墻位置進(jìn)行選取,并通過(guò)Vector.angleAboutAxis節(jié)點(diǎn)對(duì)角度進(jìn)行讀取

 

再次使用索引命令,將梁線選取,在使用180-角度的方式計(jì)算改旋轉(zhuǎn)角度,保證墻體再傾斜狀態(tài)下能夠與墻體保證平行。通過(guò)Geometry.Rotate節(jié)點(diǎn)進(jìn)行旋轉(zhuǎn)應(yīng)用得到與墻體平行位置的梁線,到這一步所有的梁線處理完畢,下一步進(jìn)行構(gòu)件的匹配。

三、構(gòu)件名稱匹配

對(duì)墻體厚度進(jìn)行讀取按照之前確定的排序順序,并進(jìn)行字符串轉(zhuǎn)化,并通過(guò)之前根據(jù)門(mén)寬度確定的梁高度進(jìn)行歸屬

 

 

通過(guò)字符串的處理,得到構(gòu)件名稱(此處構(gòu)件名稱處理太過(guò)冗長(zhǎng),希望大家指正),得到構(gòu)件名稱之后,根據(jù)前面篩選的平行判斷條件選出的梁線進(jìn)行分別對(duì)應(yīng)

再次使用List,GetItemIndex節(jié)點(diǎn)進(jìn)行排序選取,使梁線對(duì)應(yīng)的構(gòu)件名稱能夠正確對(duì)應(yīng),標(biāo)高通過(guò)Levels進(jìn)行選擇,最后通過(guò)StructuralFraming.BeamByCurve節(jié)點(diǎn)進(jìn)行過(guò)梁的創(chuàng)建和放置。本次的講解針對(duì)的其中一組數(shù)據(jù),剩余的三組數(shù)據(jù)采用相同的方式進(jìn)行歸類(lèi)整理,就可以通過(guò)Dynamo創(chuàng)建整個(gè)項(xiàng)目的門(mén)窗過(guò)梁。

使用上面方式創(chuàng)建的門(mén)過(guò)梁,能夠在不使用插件的起提下提高自己的工作效率。

 




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

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

上一篇:Revit對(duì)電腦配置的要求有哪些?

下一篇:利用Dynamo進(jìn)行樁基翻模