摘要:傳統(tǒng)的排水管網(wǎng)建模方法主要依賴于手工繪圖,效率低下且易出錯(cuò),已無法滿足市政排水管網(wǎng)的設(shè)計(jì)、施工與運(yùn)維在效率和精度等方面的高要求。通過整合Revit的建筑信息建模功能和Dynamo的靈活編程能力,構(gòu)建了從構(gòu)件庫建立、數(shù)據(jù)庫建立、程序編制到參數(shù)化建模的技術(shù)流程,實(shí)現(xiàn)了設(shè)計(jì)、建模到關(guān)鍵信息錄入的全流程自動(dòng)化操作。該研究成果應(yīng)用于宜昌市兩網(wǎng)項(xiàng)目東山片區(qū)排水管網(wǎng)改造工程,所提供的可視化數(shù)字模型既準(zhǔn)確又高效,具有可視化、可交互、可參變的特點(diǎn)。相關(guān)經(jīng)驗(yàn)可供類似管網(wǎng)改造工程設(shè)計(jì)借鑒。
關(guān) 鍵 詞:排水管網(wǎng);建筑信息模型;三維建模;參數(shù)化設(shè)計(jì);長江大保護(hù)項(xiàng)目;宜昌市
中圖法分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:ADOI:10.16232/j.cnki.1001-4179.2024.S2.032
0 引言
長江大保護(hù)項(xiàng)目是以城鎮(zhèn)污水處理為核心,推動(dòng)科學(xué)系統(tǒng)治水,確保污水全面收集、處理及達(dá)標(biāo)利用,以改善城市水環(huán)境[1-2]。目前長江大保護(hù)項(xiàng)目已在11個(gè)省市展開,投資逾千億元。排水管網(wǎng)工程是長江大保護(hù)項(xiàng)目中關(guān)鍵的子項(xiàng)工程,有嚴(yán)格的設(shè)計(jì)與建設(shè)要求。然而,目前排水管網(wǎng)設(shè)計(jì)數(shù)據(jù)仍然以二維圖紙表達(dá)為主,缺乏整體性與連續(xù)性,難以全面展現(xiàn)管線情況,使得交叉沖突難以及時(shí)發(fā)現(xiàn),其準(zhǔn)確性問題常導(dǎo)致施工誤判,嚴(yán)重影響工程進(jìn)度。BIM技術(shù)作為一種創(chuàng)新的工具和方法,正在逐步被工程行業(yè)廣泛應(yīng)用,該方法能夠利用信息模型的可視化手段,為長江大保護(hù)工程的設(shè)計(jì)與施工提供更為準(zhǔn)確和高效的指導(dǎo)。
管線工程規(guī)模大,手動(dòng)建模效率低且容易出錯(cuò)。因此,需一種高精度、自動(dòng)化、快速化建模方法,以提升建模效率和質(zhì)量。近年來,許多學(xué)者從不同角度對地下管線三維建模進(jìn)行了深入研究,如竇世卿等[3]基于Cesium提出了一種利用shapefile二維地下管網(wǎng)數(shù)據(jù)自動(dòng)構(gòu)建三維地下管網(wǎng)3D Tiles模型的建模方法;王靜[4]基于GIS實(shí)現(xiàn)了農(nóng)村排水管網(wǎng)模型的快速構(gòu)建;鄧梁等[5]采用InfraWorks和Civil 3D BIM平臺(tái)及二次開發(fā)技術(shù),實(shí)現(xiàn)了BIM協(xié)同的城市地下管網(wǎng)三維快速建模;宋雪等[6]采用BIMAPI二次開發(fā)技術(shù)、數(shù)據(jù)庫技術(shù)和C#語言,實(shí)現(xiàn)了管線數(shù)據(jù)提取處理算法、管段與管點(diǎn)連接構(gòu)件的建模。
前述研究在管網(wǎng)三維建模方面實(shí)現(xiàn)了一定程度的自動(dòng)化,但所采用的工具并非主流設(shè)計(jì)軟件,與長江大保護(hù)其他工程設(shè)計(jì)平臺(tái)進(jìn)行銜接及數(shù)據(jù)互用方面存在一定阻礙,例如與Revit創(chuàng)建的構(gòu)筑物等模型的整合問題尤為突出[7]。盡管可以通過IFC等通用格式進(jìn)行數(shù)據(jù)互導(dǎo),但這種格式轉(zhuǎn)換的方式存在單向不可逆、構(gòu)件屬性信息丟失等問題。本文旨在利用Revit和Dynamo這兩款廣泛應(yīng)用的BIM軟件,實(shí)現(xiàn)排水管網(wǎng)的自動(dòng)化建模,期望解決現(xiàn)有BIM技術(shù)在數(shù)據(jù)互用性方面的局限,提高設(shè)計(jì)效率,并促進(jìn)不同設(shè)計(jì)平臺(tái)之間的無縫協(xié)作。
1 軟件平臺(tái)介紹
Dynamo[8]作為一款開源可視化編程插件,以腳本的形式為使用者提供圖形化的界面用以編程,通過組織連接預(yù)先設(shè)計(jì)好的節(jié)點(diǎn)(Node)來表達(dá)數(shù)據(jù)處理的邏輯[9],形成可執(zhí)行的程序。該插件能夠降低傳統(tǒng)程序編輯的復(fù)雜度,令開發(fā)者專注于功能開發(fā)的本身,可輔助快速實(shí)現(xiàn)參數(shù)化設(shè)計(jì)、數(shù)據(jù)管理以及性能分析。Dynamo能夠識(shí)別并提取多種文件格式的數(shù)據(jù)[10],如Excel、TXT等,從而促進(jìn)了Revit與外部軟件的數(shù)據(jù)交流,使得不同軟件之間可以進(jìn)行數(shù)據(jù)共享和傳遞,這也是本次研究中數(shù)據(jù)導(dǎo)入的基礎(chǔ)。此外,Dynamo還允許用戶利用Python語言編寫一些能實(shí)現(xiàn)具有復(fù)雜功能需求的自定義節(jié)點(diǎn)并加入現(xiàn)有節(jié)點(diǎn)庫[11-13],從而進(jìn)一步擴(kuò)展Dynamo的功能。圖1所示為利用Dynamo中嵌入的Python腳本程序創(chuàng)建管道的自定義節(jié)點(diǎn),通過輸入管道中心線IN[0]、管道類型IN[1]、管道系統(tǒng)IN[2]、參照標(biāo)高IN[3]、管徑IN[4],可實(shí)現(xiàn)管道模型創(chuàng)建的功能。
根據(jù)排水管網(wǎng)三維建模需求,利用Dynamo編寫程序能更高效地實(shí)現(xiàn)數(shù)據(jù)批量處理、管道中心線構(gòu)建、管井節(jié)點(diǎn)放置、參數(shù)導(dǎo)入等功能,達(dá)到排水管網(wǎng)快速精準(zhǔn)建模的目標(biāo)。另外,通過編寫代碼的方式對已構(gòu)建模型進(jìn)行參數(shù)修改更加便利,有利于實(shí)現(xiàn)模型復(fù)用,大幅降低建模成本,提高建模效率。
2 排水管網(wǎng)快速建模技術(shù)路線
目前,線性工程快速建模的方法有很多種,最常見的是基于斷面通過中心線放樣,生成不同規(guī)格的常規(guī)模型,這種方式創(chuàng)建的管道缺少必要的設(shè)計(jì)屬性,如管道類型、管道系統(tǒng)、管道粗糙度等,不利于后續(xù)的水力計(jì)算和管道流態(tài)分析。本次研究在上述基礎(chǔ)上進(jìn)行改進(jìn),通過RevitAPI調(diào)用Revit管道創(chuàng)建的原生功能完成管道建模,并且通過Dynamo程序完善數(shù)據(jù)處理功能,通過二維設(shè)計(jì)圖紙導(dǎo)出檢查井和管段設(shè)計(jì)參數(shù)表,實(shí)現(xiàn)排水管網(wǎng)二維圖紙到三維模型的快速轉(zhuǎn)換,避免了設(shè)計(jì)數(shù)據(jù)導(dǎo)出后還需對數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行的二次設(shè)計(jì),節(jié)約數(shù)據(jù)處理耗時(shí)。利用Dynamo對排水管網(wǎng)進(jìn)行參數(shù)化建模的詳細(xì)流程如圖2所示。
3 排水管網(wǎng)快速建模方法
3.1 準(zhǔn)備工作
(1)創(chuàng)建項(xiàng)目文件。Revit軟件中所有建模工作均是基于項(xiàng)目文件完成的,項(xiàng)目文件可以對項(xiàng)目公共幾何屬性、空間屬性以及工程信息進(jìn)行統(tǒng)一管理,比如項(xiàng)目單位、項(xiàng)目地址名稱等,本次研究主要針對室外排水管網(wǎng)工程展開,涉及范圍廣,故項(xiàng)目單位設(shè)置為m。Revit項(xiàng)目文件中還支持管道系統(tǒng)和管道類型的設(shè)置,不同的管道類型代表不同的管道材質(zhì),管道材質(zhì)不同導(dǎo)致管道的內(nèi)外徑尺寸、材質(zhì)渲染效果均有所不同,這些均需要在項(xiàng)目文件中提前設(shè)置,設(shè)置好的項(xiàng)目文件可以保存為項(xiàng)目樣板,便于后續(xù)同類型項(xiàng)目重復(fù)使用。
(2)參數(shù)族的創(chuàng)建。為批量創(chuàng)建不同型號(hào)、種類的檢查井構(gòu)件,需要對其關(guān)鍵屬性參數(shù)進(jìn)行分析,主要分為幾何屬性(井徑、井深)、空間屬性(插入點(diǎn)位置)、非幾何屬性(材質(zhì)、是否為跌水井等)。本次研究選取Revit軟件的公制常規(guī)模型.rft作為檢查井參數(shù)族樣板,通過拉伸、放樣以及布爾運(yùn)算,創(chuàng)建檢查井實(shí)體模型,同時(shí)將檢查井幾何參數(shù)與實(shí)體模型進(jìn)行關(guān)聯(lián),最后調(diào)試檢查井構(gòu)件幾何參數(shù),觀察模型是否受參數(shù)驅(qū)動(dòng)而變化,若驅(qū)動(dòng)成功,即可載入至Revit項(xiàng)目文件中。參數(shù)族的創(chuàng)建流程詳見圖3。
(3)構(gòu)建數(shù)據(jù)庫。目前物探管線和設(shè)計(jì)管線數(shù)據(jù)以CAD圖紙為主,因此根據(jù)管線特征從CAD圖紙中提取建模關(guān)鍵信息,如檢查井的編號(hào)、坐標(biāo)、標(biāo)高、尺寸以及管道的起終點(diǎn)編號(hào)、直徑、材質(zhì)、長度等。為了便于Dynamo對數(shù)據(jù)進(jìn)行處理,本次研究采用Excel電子表格作為管段和管井?dāng)?shù)據(jù)存儲(chǔ)器,建立排水管網(wǎng)數(shù)據(jù)庫,如表1~2所列。
3.2 參數(shù)化建模
(1)數(shù)據(jù)的導(dǎo)入與處理。利用FilePath節(jié)點(diǎn)可以直接導(dǎo)入檢查井和管道設(shè)計(jì)屬性數(shù)據(jù)庫,由于Dynamo的Data.ImportExcel節(jié)點(diǎn)讀取的數(shù)據(jù)是按照行構(gòu)成的數(shù)列矩陣,故需要對其進(jìn)行轉(zhuǎn)置。
(2)檢查井自動(dòng)建模。利用Code Block節(jié)點(diǎn),根據(jù)轉(zhuǎn)置后數(shù)列矩陣的行數(shù)分別提取檢查井插入A點(diǎn)XY坐標(biāo)信息、檢查井類型信息、井面與井底標(biāo)高信息;將井坐標(biāo)X和Y的信息與井面標(biāo)高信息進(jìn)行組合,生成檢查井中心插入點(diǎn)的坐標(biāo)點(diǎn)陣,再利用FamilyInstance.ByPoint和FamilyType.ByName節(jié)點(diǎn),通過檢索數(shù)據(jù)庫中對應(yīng)編號(hào)下的井類型,在對應(yīng)的坐標(biāo)點(diǎn)放置不同類型的檢查井。直接導(dǎo)出的屬性表中部分原始參數(shù)無法直接利用,需要通過簡單的數(shù)學(xué)運(yùn)算對數(shù)據(jù)進(jìn)行轉(zhuǎn)換,如井深=井面坐標(biāo)-井底坐標(biāo)。最終利用SetParameterByName節(jié)點(diǎn),將轉(zhuǎn)換后的數(shù)據(jù)對檢查井可參變的參數(shù)進(jìn)行調(diào)整,如檢查井的井徑、井深等。
(3)管段自動(dòng)建模。利用Code Block節(jié)點(diǎn),提取管段起、終點(diǎn)檢查井編號(hào)、管徑、管內(nèi)底標(biāo)高、管道系統(tǒng)、管道材質(zhì)。由于直接導(dǎo)出的管段屬性表中不包含管段起、終點(diǎn)坐標(biāo)信息,故利用List.IndexOf和List.GetItemAtIndex的節(jié)點(diǎn)組合通過起、終點(diǎn)管段編號(hào)對檢查井屬性表進(jìn)行檢索,獲取對應(yīng)的坐標(biāo)信息中X和Y值,再根據(jù)提取的管內(nèi)底標(biāo)高信息與管徑信息進(jìn)行數(shù)學(xué)運(yùn)算(管中心標(biāo)高=管內(nèi)底標(biāo)高-管徑/2)生成起點(diǎn)和終點(diǎn)管中心坐標(biāo)Z值,最終生成管段的中心線。利用Python Script節(jié)點(diǎn),通過引用內(nèi)嵌的Revit API程序集編寫管段模型構(gòu)建程序,然后將起終點(diǎn)中心線、管道類型、管道系統(tǒng)、管徑尺寸參數(shù)在input端輸入,最終在output端生成管段模型。
(4)數(shù)據(jù)附加。BIM模型中信息是關(guān)鍵,模型信息分為幾何信息、屬性信息以及關(guān)系信息,幾何信息應(yīng)包含幾何形態(tài)、位置、尺寸等,例如管道直徑、長度、坡度;屬性信息應(yīng)包含名稱、類型、特性、材質(zhì)、等級和數(shù)量等,例如管道材質(zhì)、管道系統(tǒng)、管道類型;關(guān)系信息主要表達(dá)模型單元之間的邏輯關(guān)系,例如井編號(hào)、管段起終點(diǎn)編號(hào)等。信息模型只有包含這些屬性信息才算完整。在模型搭建完成后,可以利用Element.SetParameterByName節(jié)點(diǎn),將工程建設(shè)過程中產(chǎn)生的數(shù)據(jù)通過構(gòu)件屬性的形式記錄下來,為信息模型的后期應(yīng)用提供數(shù)據(jù)基礎(chǔ)。
4 案例優(yōu)化
4.1 項(xiàng)目概況
宜昌市主城區(qū)污水廠網(wǎng)、生態(tài)水網(wǎng)共建項(xiàng)目二期PPP工程(圖4)是“共抓大保護(hù)、不搞大開發(fā)”重要長江大保護(hù)支撐項(xiàng)目,項(xiàng)目位于宜昌市主城區(qū),包括現(xiàn)狀管網(wǎng)清淤、檢測,宜昌市“一江兩岸”污水廠網(wǎng)新建和改擴(kuò)建,柏臨河(主城區(qū))水環(huán)境治理和生態(tài)修復(fù)以及智慧水務(wù)工程共計(jì)5個(gè)子項(xiàng),可為宜昌市主城區(qū)全面改善水環(huán)境質(zhì)量,基本實(shí)現(xiàn)城區(qū)污水全收集全處理。
4.2 存在的問題
該案例采用Dynamo+Revit快速建模方法創(chuàng)建排水管網(wǎng)改造工程管網(wǎng)模型。通過實(shí)際應(yīng)用以及材料明細(xì)表的統(tǒng)計(jì)發(fā)現(xiàn),該方法搭建的管網(wǎng)模型超出實(shí)際管長7.5%~10.0%(表3),存在一定的誤差。深入研究發(fā)現(xiàn),導(dǎo)致該問題的重要原因在于管道均以檢查井中心點(diǎn)為起、終點(diǎn),造成管道起端和末端部分管道與檢查井重疊,致使模型管道長度統(tǒng)計(jì)過量。為了使模型準(zhǔn)確反映管道的真實(shí)情況,需對快速建模方法進(jìn)行優(yōu)化。
4.3 改進(jìn)措施
通過進(jìn)一步研究發(fā)現(xiàn),為了使模型真實(shí)反映管段長度,需要切除與檢查井重疊部分,但管段中心線屬于由起、始的空間坐標(biāo)點(diǎn)相連形成的空間矢量線段,不能簡單進(jìn)行數(shù)學(xué)運(yùn)算,需要采用空間向量的原理對其進(jìn)行處理。
(1)獲取起、終點(diǎn)裁剪向量。通過起點(diǎn)A坐標(biāo)和終點(diǎn)B坐標(biāo)生成向量AB,再利用Vector.ByCoordinates節(jié)點(diǎn)獲取向量AB的單位向量e=AB/AB,由于向量AB屬于空間向量,在向量AB方向管段與檢查井重疊部分實(shí)際長度為R′,根據(jù)勾股定理可知R′= /R2+H2,如圖5所示,但實(shí)際工程中一般H值很小,為便于計(jì)算令R′≈R,得到起點(diǎn)裁剪向量AA′=R起(起點(diǎn)井半徑)·e,終點(diǎn)裁剪向量B′B=R終(終點(diǎn)井半徑)·e。
(2)獲取裁剪后的起、終點(diǎn)坐標(biāo)。獲取起終點(diǎn)裁剪向量后,就可以利用Point.Add和Point.Subtract節(jié)點(diǎn),通過向量的加減運(yùn)算獲取向量OA′=OA+AA′,OB′=OB-B′B,如圖6所示,然后將A′點(diǎn)和B′點(diǎn)坐標(biāo)進(jìn)行重新組合,生成裁剪后的管段中心線通過起終點(diǎn),最終生成更加準(zhǔn)確的管段模型。
5 結(jié)語
本文基于排水管網(wǎng)二維設(shè)計(jì)圖紙直接導(dǎo)出的檢查井和管段設(shè)計(jì)參數(shù)表,實(shí)現(xiàn)了排水管網(wǎng)數(shù)據(jù)批量自動(dòng)導(dǎo)入和排水管線的快速高效創(chuàng)建,自動(dòng)生成各類型排水管網(wǎng)的三維設(shè)計(jì)模型。本次研究以Revit軟件平臺(tái)為基礎(chǔ),融合Dynamo可視化編程、Python腳本、數(shù)據(jù)庫以及Revit API調(diào)用技術(shù),開發(fā)了排水管網(wǎng)自動(dòng)化快速建模程序,實(shí)現(xiàn)了排水管網(wǎng)從二維設(shè)計(jì)圖紙到三維模型的快速轉(zhuǎn)換。在案例分析中,以宜昌市兩網(wǎng)項(xiàng)目東山片區(qū)排水管網(wǎng)改造工程為例,應(yīng)用所建立的快速建模程序?qū)芏文P偷膭?chuàng)建方法進(jìn)行優(yōu)化,有效降低了模型誤差,確保了BIM模型在表達(dá)排水管網(wǎng)工程時(shí)的精確性。研究成果不僅提升了BIM模型在排水管網(wǎng)工程中的準(zhǔn)確性和實(shí)用性,而且為長江大保護(hù)工程實(shí)現(xiàn)智慧化、智能化建設(shè)提供了良好的數(shù)據(jù)支撐,對于推動(dòng)城市基礎(chǔ)設(shè)施的現(xiàn)代化和智能化發(fā)展具有重要意義。
參考文獻(xiàn):
[1] 徐昊旻,張強(qiáng).長江大保護(hù)智慧水務(wù)實(shí)踐[J].建設(shè)科技,2023(10):46-49.
[2] 夏軍,陳進(jìn).長江大保護(hù)實(shí)踐與對策[J].南水北調(diào)與水利科技(中英文),2022,20(4):625-630.
[3] 竇世卿,梁富翔,徐勇,等.基于Cesium的地下三維管網(wǎng)3D Tiles模型構(gòu)建與可視化[J].科學(xué)技術(shù)與工程,2021,21(18):7439-7446.
[4] 王靜.基于GIS的農(nóng)村排水管網(wǎng)模型快速構(gòu)建[J].水利規(guī)劃與設(shè)計(jì),2023(10):103-108.
[5] 鄧梁,劉新華.基于BIM協(xié)同的地下管網(wǎng)三維建模方法研究[J].國防交通工程與技術(shù),2022,20(5):63-67.
[6] 宋雪,呂???基于BIM的地下管網(wǎng)快速建模方法研究[J].石家莊鐵道大學(xué)學(xué)報(bào)(自然科學(xué)版),2023,36(2):49-55,61.
[7] 王寧,閆飛,李麗君,等.Dynamo在水利工程BIM三維設(shè)計(jì)中的應(yīng)用[J].人民長江,2022,53(2):214-218.
[8] 徐昕,陳逸峰,邢軒萌.基于Revit和Dynamo的公路橋梁參數(shù)化建模技術(shù)研究[J].價(jià)值工程,2023,42(10):125-127.
[9] 羅吉忠.Dynamo可視化編程平臺(tái)在船閘工程設(shè)計(jì)建模中的應(yīng)用[J].水運(yùn)工程,2023(增1):129-132,137.
[10]張金瑞,張迅,姚昌榮,等.基于Revit+Dynamo模式的異形人行斜拉橋BIM參數(shù)化建模技術(shù)[J].土木建筑工程信息技術(shù),2023,15(2):6-11.
[11]李雯靜,焦宇豪,邱莉,等.基于Dynamo的礦井巷道參數(shù)化建模[J].金屬礦山,2022(9):63-70.
[12]林方怡,周傳輝,黃振華.Dynamo-Python在BIM裝配式預(yù)制機(jī)房的應(yīng)用[J].土木建筑工程信息技術(shù),2023,15(5):40-44.
[13]尹黔.基于BIM技術(shù)的大跨度連續(xù)剛構(gòu)橋參數(shù)化設(shè)計(jì)[J].鐵道建筑技術(shù),2023(4):66-69.
(編輯:胡旭東)