国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Dynamo for Revit在基坑圍護(hù)結(jié)構(gòu)建模中的應(yīng)用

2020-11-24 06:18:26孔祥平
土木建筑工程信息技術(shù) 2020年2期
關(guān)鍵詞:工時(shí)圖層可視化

吳 樊 閆 智 孔祥平

(上海城建信息科技有限公司,上海 200120)

1 BIM的發(fā)展現(xiàn)狀

國內(nèi)外近幾年都在大力推廣BIM技術(shù),這個(gè)以數(shù)字化和信息化集成的技術(shù)在國內(nèi)外都得到了快速認(rèn)可[9]。BIM 技術(shù)集成了工程全生命周期的信息,可以幫助工程技術(shù)人員對工程項(xiàng)目的具體信息準(zhǔn)確把控,使工程各個(gè)階段緊密聯(lián)合,BIM技術(shù)實(shí)施以三維數(shù)字設(shè)計(jì)與工程軟件作為支撐,二者形成了可視化的數(shù)字建筑模型[1]。

可視化的數(shù)字模型是BIM技術(shù)中應(yīng)用的基礎(chǔ),建筑信息模型幾何信息與非幾何信息的完整度、精細(xì)度和準(zhǔn)確度是BIM技術(shù)應(yīng)用的關(guān)鍵[11]。Autodesk Revit是一款三維建模軟件,在國內(nèi)市場應(yīng)用最為廣泛,軟件可以進(jìn)行建筑、結(jié)構(gòu)、風(fēng)系統(tǒng)、水系統(tǒng)、電系統(tǒng)、場布等建模工作,而其自帶的參數(shù)化功能可實(shí)現(xiàn)構(gòu)件的參數(shù)化生成、編輯及屬性賦值等功能,可以大大提高工作效率,提升建筑信息模型的精度與品質(zhì)。目前,Revit現(xiàn)有的建模方式有四種,自由形式建模,自帶族庫建模,外部引入族建模,Dynamo for Revit參數(shù)化建模[2]。

Dynamo是一個(gè)基于Revit的可視化編程平臺,Dynamo為BIM工程師提供了一個(gè)可視化編程工具[10],讓BIM工程師通過定義程序流程,探索參數(shù)化的方案設(shè)計(jì)和自動化建模與模型檢查工作流[3]。Dynamo可以根據(jù)讀取到的線路信息生成、調(diào)整和放置Revit的族[7],更快地解決設(shè)計(jì)細(xì)節(jié),通過Dynamo可以實(shí)現(xiàn)盾構(gòu)隧道模型、地質(zhì)模型、橋梁模型等復(fù)雜模型的快速創(chuàng)建。

2 項(xiàng)目概況

鋼板樁以其承載力好,水密性好,耐久性好,施工簡便環(huán)保,作業(yè)高效并可回收反復(fù)使用的特點(diǎn),經(jīng)常使用在土木工程中。在進(jìn)行圍護(hù)結(jié)構(gòu)建模的時(shí)候需要放置鋼板樁,同一項(xiàng)目所需要放置鋼板樁的樣式通常是一樣的,但是每個(gè)鋼板樁的尺寸差異較大,對于一個(gè)2萬m2的場地,放置鋼板樁是一個(gè)麻煩而又耗時(shí)的過程。

項(xiàng)目要求:第一步按照表格給的尺寸創(chuàng)建三維模型; 第二步將模型按照圖紙放置到對應(yīng)位置; 第三步將表格中的參數(shù)輸入到對應(yīng)的鋼板樁上; 第四步根據(jù)圖紙對鋼板樁進(jìn)行編碼,便于后期放入到平臺監(jiān)測和維護(hù); 最后給每個(gè)鋼板樁添加標(biāo)注,便于后期出圖。鋼板樁的尺寸大小不一樣需要建立多個(gè)模型,人工放置模型又是一件十分費(fèi)時(shí)費(fèi)力的任務(wù),針對項(xiàng)目特點(diǎn),所以決定采用Dynamo參數(shù)化建模的方式生成模型。

3 技術(shù)路線

根據(jù)Dynamo for Revit參數(shù)化建模方法可以得技術(shù)路線如圖1所示。

圖1 技術(shù)路線圖

圖2 提取圖層信息

首先分析現(xiàn)有的項(xiàng)目概況知道需要解決什么問題即在已給的地形中放置鋼板樁并賦予相應(yīng)的屬性信息,其次根據(jù)已有的項(xiàng)目信息獲取可用的條件,即根據(jù)圖紙獲取放置路徑,然后建立適合本項(xiàng)目特點(diǎn)的鋼板樁自適應(yīng)族,根據(jù)路徑放置鋼板樁,接著整理需要復(fù)制的參數(shù)信息,用Dynamo所寫的程序?qū)⒄砗玫男畔①x值到每個(gè)模型中,最后給每個(gè)模型添加標(biāo)注,生成最終的參數(shù)化模型。

4 基坑圍護(hù)結(jié)構(gòu)鋼板樁的參數(shù)化模型構(gòu)建方法研究

4.1 參數(shù)化設(shè)計(jì)方法

(1)讀取CAD并篩選出需要的線

用Dynamo讀取導(dǎo)入到Revit中的.dwg文件的圖層信息,對比結(jié)果篩選出需要的信息如圖2所示。

(2)取短線中點(diǎn)并兩兩成組

根據(jù)建模要求,結(jié)合建模思路,容易發(fā)現(xiàn),我們只需獲得放置Sheetpile的點(diǎn),就可以放置Sheetpile。對比圖紙信息,我們需要讀取圖紙中短線的中點(diǎn),然后將獲取的點(diǎn),按照X值遞增順序進(jìn)行排序,之后再將排序后的點(diǎn)兩兩成組生成List,每一組的兩個(gè)點(diǎn)就可以精確放置一個(gè)Sheetpile。

(3)刪除間斷位置的點(diǎn)數(shù)組

根據(jù)實(shí)際情況如圖3所示,Sheetpile的放置路徑不是一條連續(xù)的線,而是多條間斷路徑,所以需要將這些間斷的地方從第2步中生成的List中去掉,如圖4所示。

圖3 放置路徑

圖4 去除間斷點(diǎn)

(4)奇偶分組

Sheetpile的方向是對稱放置的,現(xiàn)在有兩種方式放置,一是在Revit中用Dynamo參數(shù)化建模生成全部Sheetpile,然后手動調(diào)整為對稱模型,二是用Dynamo直接生成對稱模型。因?yàn)橛肈ynamo生成也就是奇數(shù)的數(shù)組和偶數(shù)的數(shù)組處Sheetpile的方向是不一樣的,所以要對第2步生成的List進(jìn)行奇偶分組。Sheetpile整體放置順序由X軸從小到大放置,奇數(shù)組放置順序?yàn)樽筮咟c(diǎn)1到右邊點(diǎn)2。偶數(shù)組是對稱的,所以放置順序?yàn)橛疫咟c(diǎn)1到左邊點(diǎn)2,如圖5所示。

圖5 偶數(shù)組倒序

(5)放置自適應(yīng)族

Sheetpile是自適應(yīng)族,將表格按照Mark順序重新排序,放置族。族有四個(gè)參數(shù),其中每個(gè)Sheetpile相對應(yīng)的參數(shù)不一樣,將整理好的表格中的數(shù)據(jù),按照參數(shù)名稱為列,提取出來,并賦值到對應(yīng)的Sheetpile相對應(yīng)的參數(shù)上。

(6)用標(biāo)簽族添加標(biāo)注,然后手動調(diào)整標(biāo)簽族的位置。

生成模型結(jié)果如圖6所示,模型參數(shù)信息如圖7所示。

圖6 Sheetpile成果圖

圖7 Sheetpile信息參數(shù)

4.2 參數(shù)化建模方式與手動建模的效率對比

我們用Dynamo解決參數(shù)化建模的目的是為了保證工作質(zhì)量的同時(shí)提高工作效率,如圖8柱狀圖分析,我們在處理項(xiàng)目問題的時(shí)候?qū)⒐ぷ鞣譃榱怂牟糠?,分別為:在對應(yīng)的點(diǎn)處放置自適應(yīng)族; 放好后將偶數(shù)位的族翻轉(zhuǎn)過來; 在每個(gè)族中輸入Mark、Length、Top level等信息; 添加標(biāo)注。四項(xiàng)工作分別耗時(shí)約1工時(shí)、0.5工時(shí)、2.5工時(shí)和2.5工時(shí),而用Dynamo放置自適應(yīng)族,只需要耗時(shí)約50分鐘寫好程序,然后用幾分鐘的時(shí)間運(yùn)行程序。根據(jù)柱狀圖的最后一列可以明顯看出,傳統(tǒng)方式處理問題所耗費(fèi)的時(shí)間約為用Dynamo參數(shù)化建模所耗費(fèi)的時(shí)間6.5倍,而當(dāng)所需要放置的模型量越大,這種數(shù)據(jù)結(jié)果對比程度更加明顯,也就是說用Dynamo參數(shù)化建模的效率更加顯著。

圖8 工作效率分析對比圖

5 利用Dynamo快速放置Revit族并賦值屬性信息

在實(shí)際工程中會遇到很多類似問題,比如在做樁模型的時(shí)候也可以用這個(gè)思路來解決問題。如圖9所示,項(xiàng)目需要創(chuàng)建結(jié)構(gòu)鉆孔樁模型,其中樁的類型有兩種,每種類型有三種管徑,總共有兩千多個(gè)樁。如果手動放置大概需要消耗一個(gè)工作人員一天的工時(shí),然后按照要求,兩個(gè)樁之間不能有剪切現(xiàn)象,則再需一個(gè)工作人員一天的工時(shí)去取消剪切。所以我們借用上一個(gè)問題的思路,并根據(jù)這個(gè)的實(shí)際項(xiàng)目難點(diǎn),來解決放樁問題。

圖9 放置路徑

從圖9可以看出,此任務(wù)和上一個(gè)任務(wù)的區(qū)別在于,鋼板樁是沿線放置的,但是此項(xiàng)目的樁是按照樁的中心點(diǎn)放置的。解決問題步驟如下:

(1)用CAD處理圖紙,篩選出來需要的信息,導(dǎo)入到Revit中。

(2)用Dynamo提取導(dǎo)入到Revit中的CAD數(shù)據(jù),選出需要的圖層,讀取需要的紅、藍(lán)兩圖層的信息,如圖10所示。

圖11 處理圖層信息

圖10 獲取圖層信息

(3)處理圖層信息:因?yàn)闃稄椒譃槿N:600, 750, 900,所以每個(gè)圖層都按照樁徑劃分為三類,如圖11所示。

(4)樁是圓柱形樁,創(chuàng)建的樁族中心點(diǎn)是樁的圓心,所以放置樁的位置是CAD圖中圓的圓心,即需提取圓中心點(diǎn)的數(shù)據(jù)。

(5)選擇每個(gè)樁徑對應(yīng)的族,結(jié)合圓心點(diǎn)位置,用Dynamo生成參數(shù)化模型。

(6)Revit生成的構(gòu)件默認(rèn)自動剪切,所以調(diào)用不連接節(jié)點(diǎn),使放置好自動剪切的樁分開,如圖12所示。

圖12 Getjoined節(jié)點(diǎn)和unjoin節(jié)點(diǎn)

Dynamo自帶節(jié)點(diǎn)中沒有讓兩個(gè)構(gòu)件不連接的節(jié)點(diǎn),但是Revit API中有GetJoinedElements找出連接構(gòu)件命令和UnjoinGeometry使構(gòu)件不連接命令,要想實(shí)現(xiàn)這兩個(gè)命令我們可以在Dynamo中用代碼調(diào)用Revit中的API寫成節(jié)點(diǎn)[5],讓其可以判斷讀取到的數(shù)據(jù),并讓數(shù)據(jù)之間不連接[4]。

首先將兩個(gè)類型的三種尺寸規(guī)格的樁通過Dynamo放置到準(zhǔn)確位置,然后每個(gè)類型的樁分別排列成一個(gè)List,然后,通過Get joined節(jié)點(diǎn)獲取與放置的第一個(gè)類型的樁相互連接的樁,并生成列表。最后,通過Unjoin節(jié)點(diǎn)將放置的第一個(gè)類型的樁與通過Get joined節(jié)點(diǎn)獲取的與之相連接的樁,取消相互連接。

此兩個(gè)節(jié)點(diǎn)的部分關(guān)鍵代碼如下:

doc=DocumentManager.Instance.CurrentDBDocument

items1=UnwrapElement(IN[0])

def getjoin(doc, item1):

try:

out=JoinGeometryUtils.GetJoinedElements(doc,item1)

return out

except:return False

TransactionManager.Instance.EnsureInTransaction(doc)

if isinstance(IN[0], list):

a=[getjoin(doc, x)for x in items1]

else:

a=getjoin(doc, items1)

TransactionManager.Instance.TransactionTaskDone()

JE=[]

if isinstance(a, list):

for je in a:

#for aa in je:

JE.append(Document.GetElement(doc,aa).ToDSType(True)for aa in je)

else:

JE.append(Document.GetElement(doc,aa).ToDSType(True)for aa in a)

#LJE=[JE]

OUT=JE

doc=DocumentManager.Instance.CurrentDBDocument

items1=UnwrapElement(IN[0])

items2=UnwrapElement(IN[1])

def unjoin(doc, item1, item2):

try:

JoinGeometryUtils.UnjoinGeometry(doc,item1,item2)

return True

except:return False

TransactionManager.Instance.EnsureInTransaction(doc)

if isinstance(IN[0], list):

if isinstance(IN[1], list):

for x,y in zip(items1,items2):

OUT=[unjoin(doc, x, a)for a in y]

else:OUT=[unjoin(doc, x, items2)for x in items1]

else:

if isinstance(IN[1], list):OUT=[unjoin(doc, items1, x)for x in items2]

else:OUT=unjoin(doc, items1, items2)

TransactionManager.Instance.TransactionTaskDone()

生成模型結(jié)果如圖13所示。

圖13 生成樁結(jié)果圖

與建鋼板樁模型相比,本節(jié)參數(shù)化建立結(jié)構(gòu)鉆孔樁模型都是用Dynamo節(jié)點(diǎn)庫寫好程序,然后參數(shù)化生成模型,但是也有區(qū)別,本節(jié)在使用現(xiàn)有的節(jié)點(diǎn)已經(jīng)不能快速完成模型,于是調(diào)用Revit的API寫了新的適合本項(xiàng)目的節(jié)點(diǎn)解決了問題。兩種方法都能生成模型,但是對待不同的項(xiàng)目應(yīng)該具體問題具體分析,選擇出最適合本項(xiàng)目的方法,快速高效地解決問題。

6 結(jié)論與展望

用Dynamo參數(shù)化建??梢詫?fù)雜的問題簡單化,沿用此種方法,可以解決很多建模問題[6],當(dāng)一個(gè)簡單而又重復(fù)性的工作擺在你面前,可以使用參數(shù)化的方式解決,不僅高效而且準(zhǔn)確[8]。參數(shù)化建模具有以下優(yōu)點(diǎn):

(1)提高建模速度。用參數(shù)化建模方法可以批量建模,相比于傳統(tǒng)建模方法大大提高了建模效率。

(2)確保模型精度。用參數(shù)化建模的方法可以避免人工失誤,提高模型的準(zhǔn)確率以及模型精度。

(3)全過程可視化。Dynamo是可視化的插件,整個(gè)參數(shù)化的過程都是可以在Dynamo或者是Revit中可以看到的,如果有問題可以及時(shí)發(fā)現(xiàn)及時(shí)修正。

(4)應(yīng)用范圍廣。參數(shù)化模型具有屬性信息可以直接放在平臺上管理,也可以直接進(jìn)行出圖。

在鋼板樁的參數(shù)化建模中使用現(xiàn)有的節(jié)點(diǎn)可以解決問題,但在結(jié)構(gòu)鉆孔樁參數(shù)化建模的時(shí)候,使用自行編寫的Python節(jié)點(diǎn)才能解決建模需求[12]。上述表明,雖然Dynamo現(xiàn)有的節(jié)點(diǎn)能夠解決大量的問題,但是節(jié)點(diǎn)是有限的,且不具有普遍適用性,這就跟Revit的族庫一樣,我們可以將自己寫的節(jié)點(diǎn)擴(kuò)充到節(jié)點(diǎn)庫,讓對解決實(shí)際工作進(jìn)程和效益有著很大的幫助。

猜你喜歡
工時(shí)圖層可視化
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運(yùn)行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
淺析國有企業(yè)如何推行標(biāo)準(zhǔn)工時(shí)管理
基于CGAL和OpenGL的海底地形三維可視化
特殊工時(shí)制不能成為企業(yè)“變相剝削”的工具
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
巧用混合圖層 制作抽象動感森林
圖層法在地理區(qū)域圖讀圖中的應(yīng)用
淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
河南科技(2014年6期)2014-04-04 08:00:42
Photoshop圖層的解讀
辽源市| 金寨县| 永善县| 沛县| 兰西县| 沙田区| 贡觉县| 大宁县| 呈贡县| 马公市| 南城县| 广元市| 定日县| 垣曲县| 启东市| 台南市| 策勒县| 通辽市| 砀山县| 潍坊市| 武穴市| 屏山县| 林州市| 丰城市| 大兴区| 邛崃市| 彭泽县| 无极县| 甘洛县| 德惠市| 江川县| 文成县| 岚皋县| 普兰店市| 江达县| 淄博市| 琼海市| 大关县| 寿阳县| 西青区| 尼勒克县|