"> 本文源自微信公眾號(hào):華筑建筑科學(xué)研究院 作者Bruce 之前有人提出過(guò)這樣的需求,由于結(jié)構(gòu)柱數(shù)量較多,可不可以給模型快速的添加上軸網(wǎng)的定位信">
完善主體資料,免費(fèi)贈(zèng)送VIP會(huì)員!
* 主體類型
* 企業(yè)名稱
* 信用代碼
* 所在行業(yè)
* 企業(yè)規(guī)模
* 所在職位
* 姓名
* 所在行業(yè)
* 學(xué)歷
* 工作性質(zhì)
請(qǐng)先選擇行業(yè)
您還可以選擇以下福利:
行業(yè)福利,領(lǐng)完即止!

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

NULL

ad.jpg

Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

發(fā)布于:2023-02-10 14:51:02
首頁(yè)/BIM專題
3801
分享

本文源自微信公眾號(hào):華筑建筑科學(xué)研究院 作者Bruce

 

之前有人提出過(guò)這樣的需求,由于結(jié)構(gòu)柱數(shù)量較多,可不可以給模型快速的添加上軸網(wǎng)的定位信息,而且必須在標(biāo)記參數(shù)里面添加定位信息,比如:在軸網(wǎng)1和軸網(wǎng)A附近的柱子標(biāo)記上“1-A”就行。這個(gè)問(wèn)題用Dynamo可以很快實(shí)現(xiàn)!主要分為以下八步:

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

01獲取所有軸網(wǎng)

將橫向軸網(wǎng)和縱向軸網(wǎng)分別利用Select Model Elements拾取,再利用Grid.Curve讀為Dynamo中的line。分開(kāi)讀取方便利用橫縱軸網(wǎng)求取交點(diǎn)。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

02求取軸網(wǎng)交點(diǎn)

利用Geometry.Intersect直接求取交點(diǎn),一定要將連綴改為叉積,然后再用Flatten拍平列表層級(jí),簡(jiǎn)化列表。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

03獲取結(jié)構(gòu)柱的點(diǎn)數(shù)據(jù)

需要把所有結(jié)構(gòu)柱都賦上軸網(wǎng)位置信息,所以直接通過(guò)類別選擇就可以了,在根據(jù)類別把所有結(jié)構(gòu)柱的族實(shí)例都讀進(jìn)Dynamo,可以直接通過(guò)Categories和All Elements of Category實(shí)現(xiàn)。再通過(guò)GetLocation把點(diǎn)位數(shù)讀取出來(lái)。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

04依據(jù)結(jié)構(gòu)柱的點(diǎn)數(shù)據(jù)和軸網(wǎng)交點(diǎn),分別找到最近的對(duì)應(yīng)點(diǎn)位

此步驟為整個(gè)程序腳本的核心計(jì)算。給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息無(wú)非就是給標(biāo)記參數(shù)添加信息而已,但是一定要添加上對(duì)應(yīng)的信息,所以數(shù)據(jù)的對(duì)應(yīng)是重中之重。依據(jù)結(jié)構(gòu)柱的點(diǎn)數(shù)據(jù)和軸網(wǎng)交點(diǎn),要計(jì)算出距離最近的一組點(diǎn),這樣才可以將結(jié)構(gòu)柱點(diǎn)位在列表中重新排序。此步驟需要用帶外部的節(jié)點(diǎn)包Clockwork。(用內(nèi)置Geometry.ClosestPointTo也可以,個(gè)人習(xí)慣)

將外部節(jié)點(diǎn)包直接復(fù)制到圖片中的路徑中即可。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

選用Geometry.ClosestTo直接階段最近點(diǎn)。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

05結(jié)構(gòu)柱族實(shí)例依據(jù)最近點(diǎn)數(shù)據(jù)重新排序

上一步求出了結(jié)構(gòu)柱點(diǎn)位到軸網(wǎng)交點(diǎn)最近位置的排序,再根據(jù)這個(gè)順序,利用索引值,排列結(jié)構(gòu)柱族實(shí)例的順序。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

06獲取軸網(wǎng)名稱參數(shù)

利用Element.GetParameterValueByName獲取軸網(wǎng)的名稱參數(shù)信息。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

07依據(jù)軸網(wǎng)名稱參數(shù)字符串組合成軸網(wǎng)定位信息

獲取軸網(wǎng)的名稱參數(shù)信息為字符串,利用Code Block中的Design Script語(yǔ)言直接組合成軸網(wǎng)定位信息。要注意的是Code Block中是用Replication代替的連綴,可以分別在豎軸名稱和橫軸名稱后面加上“<1>”,得到想要結(jié)果。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

08結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

最后一步就很簡(jiǎn)單了,直接通過(guò)Element.SetParameterByName就完成定位信息賦值了。

腿腿教學(xué)網(wǎng)-Dynamo軟件教程:給結(jié)構(gòu)柱賦軸網(wǎng)的標(biāo)記位置信息

轉(zhuǎn)載請(qǐng)注明來(lái)源本文地址:https://www.tuituisoft/bim/26153.html

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

上一篇:沒(méi)有了

下一篇:沒(méi)有了

60acb4e0ef112.png
微信咨詢
掃描客服微信
電話咨詢
咨詢電話:

15359439502

APP下載
掃碼關(guān)注
關(guān)注微信公眾號(hào)
返回頂部