亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于BIM技術(shù)的土石方調(diào)運程序化探究

        2022-01-12 07:24:34閆若鈺王宗敏
        土木工程與管理學(xué)報 2021年6期
        關(guān)鍵詞:類庫明細表挖方

        閆若鈺, 王宗敏

        (鄭州大學(xué) 水利科學(xué)與工程學(xué)院,河南 鄭州 450001)

        隨著經(jīng)濟和施工技術(shù)的發(fā)展,諸如水利、道路、橋梁等大型基礎(chǔ)設(shè)施工程項目的建設(shè)規(guī)模及施工難度也不斷提高,這就要求在項目的設(shè)計規(guī)劃階段做出有效決策來優(yōu)化施工組織設(shè)計方案。土石方填挖方量的精確計算,及土石方調(diào)運,填挖平衡是施工組織設(shè)計中的重要環(huán)節(jié),也是影響工程造價與工期的關(guān)鍵因素之一[1~3]。工程建設(shè)行業(yè)目前存在的對土石方工程“重計量而輕設(shè)計”的傳統(tǒng)觀念已經(jīng)無法滿足不斷提高的設(shè)計建造標準和成本控制需求。傳統(tǒng)的土石方計量方法(如斷面法、方格法、等高線法、散點法等)操作相對復(fù)雜,計算精度不高,無法快速出量,且不方便設(shè)計前期多方案比選[4,5]。這些因素都導(dǎo)致了傳統(tǒng)的土方?jīng)Q策方法不能滿足目前工程項目設(shè)計規(guī)劃周期短、變動快、變更多的特點,以至于很多工程項目在設(shè)計前期甚少進行土方調(diào)配這項工作,而沒有進行精確的計量和合理的規(guī)劃最終會影響整個項目的工期和成本[6~8]。本文將BIM(Building Information Modeling)技術(shù)與數(shù)學(xué)模型求解方法相結(jié)合,探索土石方計量與土石方調(diào)運的程序化實現(xiàn),以期找到設(shè)計規(guī)劃階段土石方計量及調(diào)配高效、便捷、精確的解決方案。

        1 基于BIM技術(shù)的土石方量計算方法

        1.1 原始地形數(shù)據(jù)的獲取與模型建立

        原始地形數(shù)據(jù)的獲取方法有很多,可以向有關(guān)部門申請大比例現(xiàn)狀地形圖的使用權(quán);也可以通過現(xiàn)場測繪的方式制作地形圖;隨著遙感測繪技術(shù)的發(fā)展,無人機傾斜攝影技術(shù)也被應(yīng)用到工程測量中;并以其便捷、高效、精確的特點被廣泛認可[9,10]。無論哪種方式得到的地形原始數(shù)據(jù)都要經(jīng)過一定的校核處理滿足誤差限制,然后轉(zhuǎn)換成Revit可以識別的格式后才能使用。Revit 能識別的帶有高程信息的結(jié)構(gòu)化數(shù)據(jù)文件主要有:DWG/DGN/DXF格式的三維等高線數(shù)據(jù);CSV/TXT格式的高程點數(shù)據(jù)。選擇Revit “體量和場地”選項卡中 “場地建?!泵姘迳系摹暗匦伪砻妗边x項,將處理好的原始地形數(shù)據(jù)導(dǎo)入,Revit 將自動識別幾何和高程信息,從而創(chuàng)建三維場地模型。

        1.2 場地平整與場地劃分

        創(chuàng)建好的原始地形表面代表開挖平整前的工程場地,基坑開挖和場地平整可以選擇Revit “體量和場地”選項卡中 “修改場地”面板上的“平整區(qū)域”選項。該功能會基于原始地形模型創(chuàng)建新的地形表面,工作人員可按照設(shè)計圖紙和施工組織設(shè)計規(guī)定的開挖平整方案在新生成的地形表面上調(diào)整高程,來進行基坑開挖和場地平整:一種方式是添加新的高程點;另一種方式是框選原有高程點調(diào)整其高程,高程調(diào)整后的地形表面就是模擬開挖平整后的工程場地。Revit會根據(jù)兩個地形表面的高程信息自動進行差值計算得出剪切值、填充值、凈剪切/填充值,即對應(yīng)土石方的挖方、填方、填挖方凈值。

        大型復(fù)雜的土木工程建設(shè)項目施工場地一般有多個分區(qū),設(shè)計土石方平衡方案首先需要進行各個施工分區(qū)的具體土石方填挖量的統(tǒng)計,Revit 自帶的 “地形明細表”功能可以高效、便捷地將土石方填挖數(shù)據(jù)統(tǒng)計并顯示出來,且統(tǒng)計是實時的,這意味著后續(xù)再進行地形表面高程調(diào)整時發(fā)生的土石方量變化也會實時改變明細表中的值。但是,在生成地形明細表之前,首先需要按施工組織設(shè)計將施工分區(qū)在場地模型中劃分出來,以便獨立統(tǒng)計各個施工分區(qū)的填挖方量,這個功能需要選擇Revit“體量和場地”選項卡中 “修改場地”面板上的“拆分表面”選項,劃分完成后可根據(jù)凈填挖值為劃分出的地塊標記名稱,以便統(tǒng)計。

        1.3 土石方填挖量提取

        將拆分好的施工分區(qū)分別標記好名稱后,就可以選擇Revit “視圖”選項卡中 “創(chuàng)建”面板上的“明細表”下拉選項列里的“明細表/數(shù)量”選項創(chuàng)建關(guān)鍵字明細表,在彈出的“新建明細表”對話框里將“類別”設(shè)置為“地形”,“階段”設(shè)置為地形創(chuàng)建的階段,并在隨后彈出的“明細表屬性”對話框里將“可用的字段”列表里的“名稱”“截面”“填充”“凈剪切/填充”添加到右側(cè)“明細表”字段框里,點擊確定即可生成地形明細表,其中的字段分別對應(yīng)劃分好的施工分區(qū)名稱、挖方值、填方值、填挖方凈值。

        2 基于運籌學(xué)的土石方調(diào)運數(shù)學(xué)建模

        2.1 運輸問題的數(shù)學(xué)模型

        運輸問題在運籌學(xué)中屬于系數(shù)矩陣有特殊結(jié)構(gòu)的一類線性規(guī)劃問題,具體描述為:

        該問題的數(shù)學(xué)模型為:

        (1)

        2.2 土方調(diào)運數(shù)學(xué)建模

        在土方調(diào)運方案的求解中,可利用上述運籌學(xué)模型進行分析[12~14],具體如下:

        (2)

        (3)

        3 Dynamo節(jié)點二次開發(fā)與數(shù)據(jù)處理

        3.1 IronPython與C# 動態(tài)鏈接庫(.dll文件)調(diào)用

        IronPython是一種在 .NET下實現(xiàn)的 Python 語言。由于IronPython與.NET語言(如C#)良好的互操作性,既可以在.NET程序中嵌入Python腳本,又可以在IronPython環(huán)境中訪問.NET程序的動態(tài)鏈接庫和類庫里的類,有效地復(fù)用代碼,提高效率。Dynamo軟件中的“Python Script”節(jié)點(圖1)可以運行嵌入的IronPython腳本,利用這個節(jié)點編寫IronPython 代碼,使用IronPython 調(diào)用自定義C#類庫(.dll文件)里的類(class)及類的方法(method)可以很好地解決Dynamo原生節(jié)點無法完成的求解計算。

        圖1 Python Script節(jié)點

        3.2 C#求解類庫的代碼實現(xiàn)

        由于IronPython 不支持CPython 的擴展程序包,導(dǎo)致在Dynamo中無法使用Python腳本調(diào)用Numpy和SciPy 求解前述運籌學(xué)數(shù)學(xué)模型,求解該線性規(guī)劃問題就需要使用C#代碼編寫自定義類庫(.dll文件)來實現(xiàn)。

        微軟的Microsoft Solver Foundation類庫是一個數(shù)學(xué)庫,可以很好地對線性規(guī)劃問題進行求解,在進行求解類庫代碼實現(xiàn)時,需要添加對Microsoft Solver Foundation.dll文件的引用(圖2),添加引用后就可以調(diào)用Microsoft Solver Foundation類庫中的類及類的方法。求解類庫(transportproblem.dll)中主要封裝了三個自定義類:solvedmodel,transportmodel,ToArray,程序框圖如圖3所示。

        圖2 添加引用

        圖3 程序框圖

        3.3 Dynamo求解節(jié)點的代碼實現(xiàn)

        前述求解類庫中的transportmodel類與solvedmodel類封裝的方法是用來創(chuàng)建模型和求解模型的,求解時直接根據(jù)約束條件不同選擇solvedmodel中封裝的不同靜態(tài)方法,其本質(zhì)是solvedmodel類的方法調(diào)用了transportmodel類里封裝的方法。ToArray類中的方法是用來解決IronPython 代碼中List數(shù)據(jù)類型與C#代碼中 Array數(shù)據(jù)類型不匹配問題,由于solvedmodel中封裝的方法需要Array 類型的輸入?yún)?shù),但在Python 腳本中無法創(chuàng)建Array類型對象,所以需調(diào)用ToArray類中封裝的方法將List類型對象轉(zhuǎn)換成Array類型對象后再用作輸入?yún)?shù)求解模型。

        IronPython調(diào)用自定義C#類庫(.dll文件)里的類(class)及類的方法(method)需添加如下代碼:

        clr.AddReference('transportproblem')

        from transportproblem import*

        其中第一個“transportproblem”是求解類庫名,該句作用是將添加求解類庫(transportproblem.dll)作為引用,第二個“transportproblem”是名稱空間(namespace)名,該句作用是引用transportproblem名稱空間,transportmodel,solvedmodel,ToArray三個類都定義在transportproblem名稱空間內(nèi),只有添加對它的引用才可以調(diào)用其中類的方法。

        Python Script節(jié)點有輸入端口(IN[0])和輸出端口(OUT),其中輸入端口可按需要增加,輸出端口只有一個不可更改,本例中調(diào)用solvedmodel類的方法需要5個Array類型的參數(shù),故將輸入端口調(diào)整為5個(圖4)。節(jié)點內(nèi)部具體代碼如圖5所示。

        圖4 輸入端口調(diào)整

        圖5 運輸問題求解節(jié)點內(nèi)部代碼

        3.4 輸入?yún)?shù)的數(shù)據(jù)處理

        Revit中的圖元有很多參數(shù)信息,但Revit本身并不具備專業(yè)的數(shù)據(jù)分析計算功能,如求解線性規(guī)劃問題,而土方平衡問題需要用線性規(guī)劃模型求解,這就要求在Revit圖元中的信息能被提取出來,并能導(dǎo)入到Dynamo中進行分析求解。由于solvedmodel類的方法需要5個Array類型的輸入?yún)?shù):output(挖方量)、input(填方量)、productions(挖方區(qū))、sales(填方區(qū))、frienghttable(距離矩陣),故需要將這些信息提取出來作為自定義求解節(jié)點的輸入?yún)?shù)。

        利用“Categories”節(jié)點與“All Elements of Category”節(jié)點將劃分的地形圖元提取出來,再利用“Element.GetParameterValueByName”節(jié)點將各個填挖方區(qū)的名稱及凈填挖值提取出來。但此時的填挖信息是混合在一起的,不滿足輸入?yún)?shù)格式,而Dynamo原生節(jié)點無法使填挖信息按要求篩選分離,故使用“Python Script”節(jié)點編寫代碼過濾填挖信息,節(jié)點代碼、運算結(jié)果分別如圖6,7所示。

        圖6 數(shù)據(jù)過濾節(jié)點內(nèi)部代碼

        圖7 數(shù)據(jù)過濾節(jié)點運算結(jié)果

        為便于提取各個分區(qū)的位置信息,可在各個地形分區(qū)的中心點放置高程點,并按照填挖區(qū)名稱給高程點添加參數(shù)信息(本例中選擇“底部值后綴”)使之便于統(tǒng)計區(qū)分。

        隨后即可使用“Categories”節(jié)點與“All Elements of Category”節(jié)點將標記好的高程點圖元提取出來,再使用“Element.GetLocation”節(jié)點與“Element.GetParameterValueByName”節(jié)點獲取高程點位置坐標和填挖區(qū)名稱,并利用“List.FilterByBoolMask”節(jié)點將填挖區(qū)坐標篩選分離出來,最后用“Geometry.DistanceTo”節(jié)點(使用叉積運算模式)求得距離矩陣。

        值得注意的是,“Geometry.DistanceTo”節(jié)點運算出的距離以mm為單位,且此時提取的數(shù)據(jù)由于沒有經(jīng)過精度處理,小數(shù)點后數(shù)位太多,代碼運算時容易發(fā)生精度溢出從而導(dǎo)致求解程序崩潰,故需在參數(shù)輸入求解節(jié)點之前進行單位轉(zhuǎn)換和精度處理,即使用“Convert Between Units”節(jié)點和“Math.Round”節(jié)點進行單位換算并舍去多余小數(shù)位。

        3.5 可求解的完整Dynamo節(jié)點

        通過輸入?yún)?shù)的處理和自定義節(jié)點的開發(fā),可以程序化求解土石方調(diào)運問題的Dynamo節(jié)點完整連接,如圖8所示。

        圖8 完整節(jié)點連接

        4 算例分析

        4.1 建模與求解

        以某項目土石方工程為例,原始地形、填挖區(qū)域標記、土石方凈填挖量分別見圖9~11,由前述信息可知,本例中有:4塊凈挖方區(qū),分別標記為W1,W2,W3,W4;3塊凈填方區(qū),分別標記為T1,T2,T3。為直觀清晰表達土石方調(diào)運數(shù)據(jù),各個分區(qū)填挖量凈值及相對運距詳見表1。由表中右下角數(shù)據(jù)可知,總挖方量為81284 m3,總填方量為71595 m3,總挖方>總填方,屬于產(chǎn)大于銷的運輸問題,應(yīng)按照產(chǎn)大于銷的約束情況建立線性規(guī)劃模型。

        表1 土石方調(diào)運數(shù)據(jù)

        圖9 地形表面創(chuàng)建

        圖10 地形表面劃分

        圖11 地形明細表

        由于求解類庫中定義的solvedmodel類封裝了三個方法PeuqalS,PlargerS,SlargerP;分別對應(yīng)產(chǎn)銷平衡問題求解、產(chǎn)大于銷問題求解、產(chǎn)小于銷問題求解,所以在總挖方>總填方(產(chǎn)>銷)的情況下,需在Dynamo的“Python Script”節(jié)點中調(diào)用PlargerS方法求解本例的數(shù)學(xué)模型,當處理好的輸入?yún)?shù)連接到求解節(jié)點后即可進行模型求解,節(jié)點運算結(jié)果見圖12,整理后結(jié)果見表2。

        表2 土石方調(diào)運求解結(jié)果

        圖12 節(jié)點運算結(jié)果

        4.2 結(jié)果分析

        由表1,2中數(shù)據(jù)可以看出,與挖方區(qū)W1距離最近的填方區(qū)是T1,W1需要就近向T1調(diào)運29764 m3土石方,因W1可調(diào)用土石方已用完,所以挖方區(qū)W1不再向填方區(qū)T2,T3調(diào)運土石方;與挖方區(qū)W3距離最近的填方區(qū)是T3,W3可調(diào)用土石方只有3063 m3不滿足T3需求方量20045 m3,所以W3全部土石方運往T3后還需向距離T3第二近的挖方區(qū)W4借土16982 m3;與填方區(qū)T2距離最近的挖方區(qū)是W4,W4向T3運土后余量為7188 m3全部運往T2,此時T2還有需求量未滿足,故向距離T2第二近的挖方區(qū)W2借土3100 m3,至此 T2,T3的需求方量都已滿足,W1,W3,W4可調(diào)運土石方已用完,因此挖方區(qū)W2需要往填方區(qū)T1調(diào)運11498 m3土石方來滿足填方區(qū)T1總需求方量41262 m3。 為直觀表示調(diào)運方案,詳情如圖13所示。

        圖13 土石方調(diào)運方案圖示

        5 結(jié) 論

        (1)隨著BIM技術(shù)的發(fā)展與成熟,用程序化方法進行土方平衡決策已經(jīng)成為可能,本文通過技術(shù)論證和編程實踐證明了其可行性、便捷性和準確性,取得了不錯的應(yīng)用效果,對類似工程項目具有一定的參考價值。

        (2)BIM技術(shù)應(yīng)用于工程實踐,已經(jīng)越來越偏重于信息(Information)的獲取、管理、分析、計算,而不止局限于建筑模型的(Building Model)應(yīng)用,所以編程思維將極大地提高信息的利用效率,Revit與Dynamo的有機結(jié)合還有很多值得思考探索的空間與價值。

        (3)本文只考慮了運距對調(diào)配方案的影響,而沒有考慮到如運輸路線、施工順序等對該數(shù)學(xué)模型價值系數(shù)的影響,這些都有待進一步深入研究。本文初步實現(xiàn)了利用IronPython 腳本調(diào)用C#動態(tài)連接庫求解運籌學(xué)模型,說明其他工程類計算也可以尋求程序化解決方案,以期創(chuàng)造更高效、便捷的求解方式。

        猜你喜歡
        類庫明細表挖方
        山區(qū)高速公路挖方路基邊坡穩(wěn)定性分析及動態(tài)設(shè)計研究
        2019年中國出口石材明細表(三)
        石材(2020年8期)2020-10-28 07:53:18
        2019年中國出口石材明細表(二)
        石材(2020年7期)2020-08-24 08:28:08
        2019年中國出口量值石材明細表(一)
        石材(2020年6期)2020-08-24 08:27:08
        用Java編寫客戶機/服務(wù)器端應(yīng)用程序
        Python在數(shù)據(jù)可視化中的應(yīng)用
        數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
        軟件工程(2017年12期)2018-01-29 17:35:55
        數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
        芻議公路工程水泥路面施工技術(shù)
        淺析建筑施工中的挖方和土方轉(zhuǎn)運
        无码一区二区波多野结衣播放搜索| 女人av天堂国产在线| 真人抽搐一进一出视频| 国产伦精品一区二区三区| 中文字幕经典一区| 久草精品手机视频在线观看| 国内精品大秀视频日韩精品| 亚洲日本VA午夜在线电影| 亚洲啪啪色婷婷一区二区| 亚洲欧洲成人a∨在线观看| 一二三四日本中文在线| 免费特级黄毛片| 亚洲成a人片在线观看中| 免费在线视频亚洲色图| 宅男66lu国产在线观看| 18级成人毛片免费观看| 挑战亚洲美女视频网站| 亚洲一区二区三区地址| 中文人妻熟妇乱又伦精品| 国产精品一区二区在线观看99| 国产成年无码久久久免费| 亚洲一区二区三区18| 性猛交ⅹxxx富婆视频| 亚洲成a人片在线观看无码| 国产精品视频久久久久| 午夜日本理论片最新片| 国产极品少妇一区二区| 老师翘臀高潮流白浆| 亚洲精品一区网站在线观看| 丝袜美腿亚洲综合第一页| 色哟哟亚洲色精一区二区| 国产免费av片在线播放| 国产精品毛片久久久久久l| 白色白色视频在线观看| 午夜成人理论福利片| 中文字幕亚洲乱码熟女一区二区| 久久久亚洲欧洲日产国码是AV| 华人在线视频精品在线| 免费1级做爰片1000部视频| 亚洲AV秘 无码二区在线| 亚洲国产一区二区,毛片|