(中鐵第四勘察設(shè)計(jì)院集團(tuán)有限公司 城市軌道與地下工程設(shè)計(jì)研究院,武漢 430063)
在水利水電、公路鐵路、城市軌道交通等各種土木工程中,土石方工程量往往都是影響工程進(jìn)度和技術(shù)經(jīng)濟(jì)指標(biāo)的重要參數(shù),因此,在工程的各個(gè)設(shè)計(jì)階段中,都需要快速、準(zhǔn)確地計(jì)算土石方量。土石方量的大小主要由地形曲面和開挖面形狀決定。傳統(tǒng)的土石方量計(jì)算方法有斷面法、方格網(wǎng)法、TIN(Triangulated Irregular Network)法、體積法等[1-2],計(jì)算過程都比較繁瑣,而且計(jì)算效率和精度也比較低,尤其是對(duì)于地形復(fù)雜或者開挖范圍較大的工程。
近幾年來,BIM(Building Information Model)技術(shù)在土木工程領(lǐng)域迅速發(fā)展,基于BIM技術(shù)進(jìn)行工程的全過程正向設(shè)計(jì),也已經(jīng)成為行業(yè)發(fā)展的大趨勢(shì)[3-4]。由于BIM在設(shè)計(jì)成果可視化、信息化、智能化等方面都具有巨大的優(yōu)勢(shì),因此,如何利用BIM 技術(shù),精確計(jì)算大型復(fù)雜工程的土石方量,成為工程設(shè)計(jì)和研究人員共同關(guān)心的問題之一。
目前,工程設(shè)計(jì)中廣泛應(yīng)用的BIM設(shè)計(jì)軟件都是通用軟件,必須結(jié)合土木工程行業(yè)的特點(diǎn)和需求進(jìn)行二次開發(fā)[5-9],才能真正發(fā)揮其優(yōu)勢(shì)。Civil 3D軟件是Autodesk公司開發(fā)的面向基礎(chǔ)設(shè)施行業(yè)的BIM設(shè)計(jì)與開發(fā)軟件,曲面模擬功能比較強(qiáng)大,可以處理多種類型的原始地形資料,因此,在土石方工程量計(jì)算中得到廣泛應(yīng)用。江寶剛[10]利用Civil 3D軟件實(shí)現(xiàn)了開挖工程量計(jì)算,張仁杰等[11]、余劍[12]、樊旭宏[13]、覃鋒[14]、張生喜[15]也先后利用Civil 3D軟件實(shí)現(xiàn)了土石方量計(jì)算,解決了傳統(tǒng)土石方量計(jì)算精度低、耗時(shí)長(zhǎng)的問題。
但是,由于復(fù)雜地形曲面模擬無法得到精確解,在利用Civil 3D軟件進(jìn)行土石方工程量計(jì)算時(shí),也就無法保證計(jì)算結(jié)果滿足精度控制要求。此外,雖然Civil 3D軟件具備開挖面與地形曲面相交計(jì)算(工程上常稱為放坡計(jì)算)的處理功能,但是在地形面和開挖面較為復(fù)雜時(shí),操作過程非常復(fù)雜,無法實(shí)現(xiàn)自動(dòng)處理。
為此,本文針對(duì)大型土木工程的土石方量計(jì)算特點(diǎn)和需求,對(duì)復(fù)雜地形曲面模擬和開挖面自動(dòng)放坡計(jì)算方法進(jìn)行了研究,提出了基于BIM的精細(xì)化土石方量計(jì)算方法,并通過對(duì)Civil 3D軟件的二次開發(fā)來實(shí)現(xiàn),以提高其計(jì)算效率和精度。
工程常見的原始地形資料類型主要包括點(diǎn)文件、等高線文件、DEM(Digital Elevation Model)文件等。由于地形曲面是不規(guī)則曲面,在進(jìn)行計(jì)算或者顯示時(shí),通常只能采用三角形網(wǎng)格來離散模擬。如果原始地形資料是點(diǎn)文件或者等高線文件,可以直接將不規(guī)則分布的地形數(shù)據(jù)點(diǎn)作為三角形網(wǎng)格的節(jié)點(diǎn),生成不規(guī)則的三角形網(wǎng)格。如果原始地形資料是DEM文件,因?yàn)橐阎獢?shù)據(jù)點(diǎn)呈規(guī)則分布,所以可以直接生成規(guī)則的三角形網(wǎng)格。
在利用Civil 3D軟件模擬地形曲面時(shí),需要針對(duì)不同類型的數(shù)據(jù)源采取不同的操作方法,有時(shí)還需要進(jìn)行反復(fù)檢查和修正,才能得到比較符合實(shí)際的原始地形曲面[16]。此外,三角形網(wǎng)格尺度的選擇也高度依賴軟件使用者的工程經(jīng)驗(yàn),而且計(jì)算結(jié)果的精度也無法量化。為此,本文結(jié)合大型土木工程的特點(diǎn),提出采用分片薄板樣條插值函數(shù)和三角形網(wǎng)格自動(dòng)加密技術(shù)相結(jié)合的方法,來實(shí)現(xiàn)大范圍復(fù)雜地形曲面的精細(xì)化模擬。
對(duì)于大型土木工程,地形圖范圍和數(shù)據(jù)量較大,精細(xì)化建模涉及的數(shù)據(jù)存儲(chǔ)和計(jì)量計(jì)算龐大。為了提高計(jì)算效率、降低對(duì)計(jì)算機(jī)硬件配置的要求,本文采用分片模擬的解決思路和方法。
將Civil 3D導(dǎo)入的各類型原始地形資料統(tǒng)一處理為高程點(diǎn)數(shù)據(jù),并將計(jì)算范圍分成若干個(gè)長(zhǎng)方形的子域。對(duì)于高程點(diǎn)數(shù)據(jù)特別稀疏的區(qū)域,可適當(dāng)增加子域大小;對(duì)于高程點(diǎn)數(shù)據(jù)特別密集的區(qū)域,則可適當(dāng)減小子域大小。然后,在每個(gè)子域上采用薄板樣條插值函數(shù)來模擬地形曲面。
薄板樣條插值法是一種典型的精確插值方法,經(jīng)常用于高程插值[17]。薄板樣條插值函數(shù)能精確擬合已知數(shù)據(jù)點(diǎn),并將地形面模擬成一個(gè)曲面,因此,其模擬精度要高于常用的線性插值方法。
任意點(diǎn)的高程表示為
(2)
對(duì)于任意子域,提取域內(nèi)地形面上的坐標(biāo)點(diǎn),作為已知信息輸入方程組(式(2)),求解后即可得到該子域的薄板樣條插值函數(shù)(式(1))。對(duì)于子域內(nèi)任意點(diǎn),將其水平坐標(biāo)代入薄板樣條插值函數(shù)(式(1)),即可求得其高程。
三角形網(wǎng)格分為規(guī)則和不規(guī)則2種。規(guī)則三角形網(wǎng)格的拓?fù)浣Y(jié)構(gòu)和生成方法簡(jiǎn)單,且只需要存儲(chǔ)高程坐標(biāo),數(shù)據(jù)存儲(chǔ)量約為相同節(jié)點(diǎn)數(shù)的不規(guī)則三角形網(wǎng)格的1/3。不規(guī)則三角形網(wǎng)格的拓?fù)浣Y(jié)構(gòu)相對(duì)復(fù)雜,需要通過復(fù)雜的算法來實(shí)現(xiàn)網(wǎng)格生成,但是其網(wǎng)格大小可以與地形面曲率相關(guān),因此,其模擬精度要高于相同單元數(shù)的規(guī)則三角形網(wǎng)格。
在Civil 3D軟件中,無論是采用規(guī)則三角形網(wǎng)格,還是采用不規(guī)則三角形網(wǎng)格來模擬地形曲面,都存在一個(gè)共同問題:網(wǎng)格尺度應(yīng)該如何選擇,才能保證計(jì)算結(jié)果滿足精度控制要求?換句話說,當(dāng)軟件使用者根據(jù)工程經(jīng)驗(yàn)選擇了地形面模擬的三角形網(wǎng)格尺度后,如何知道其計(jì)算結(jié)果的誤差?由于地形曲面模擬無法得到精確解,只能通過加密三角形網(wǎng)格來得到相對(duì)更準(zhǔn)確的模擬結(jié)果,因此,本文采用加密前后計(jì)算結(jié)果的相對(duì)誤差來控制計(jì)算精度。
三角形網(wǎng)格的加密方法主要有2種:網(wǎng)格重生成和網(wǎng)格細(xì)分。網(wǎng)格重生成方法是采用相對(duì)更小的網(wǎng)格尺度,通過網(wǎng)格生成算法來重新生成新的三角形網(wǎng)格,主要適用于不規(guī)則三角形網(wǎng)格。網(wǎng)格細(xì)分則是連接三角形的各邊中點(diǎn),將其直接細(xì)分成4個(gè)小三角形,或者連接三角形的形心及各邊三分點(diǎn),將其直接細(xì)分成9個(gè)小三角形。顯然,網(wǎng)格細(xì)分方法的數(shù)據(jù)量相對(duì)較大,但是其計(jì)算過程簡(jiǎn)單,計(jì)量計(jì)算相對(duì)較小,尤其是對(duì)于規(guī)則三角形網(wǎng)格。
綜上,本文采用規(guī)則三角形網(wǎng)格來模擬地形面,并采用網(wǎng)格細(xì)分方法進(jìn)行加密。具體步驟如下:
(1)首先將子域離散成10 m×10 m的正方形,再進(jìn)一步將每個(gè)正方形分為2個(gè)直角三角形,得到地形面的一級(jí)三角形網(wǎng)格。
(2)按照第3節(jié)介紹的開挖面放坡計(jì)算方法,生成三維開挖實(shí)體,得到各開挖高程的土石方工程量。
(3)連接三角形的各邊中點(diǎn),將其直接細(xì)分成4個(gè)小三角形,得到加密后的地形面三角形網(wǎng)格。
(4)重新進(jìn)行開挖面放坡計(jì)算,生成加密后的三維開挖實(shí)體,得到加密后的各開挖高程的土石方工程量。
(5)利用加密前后的土石方工程量,計(jì)算得到相對(duì)誤差,若不滿足計(jì)算精度控制要求,重復(fù)第(3)和第(4)步。
開挖布置圖通常按照建筑物布置要求和邊坡安全要求來確定,包括控制點(diǎn)坐標(biāo)、平臺(tái)高程、開挖坡度及邊界位置等信息。在建立BIM時(shí),需要按照開挖布置圖的信息,從控制點(diǎn)坐標(biāo)開始,逐步生成各開挖平臺(tái)面和開挖坡面,并最終與地形曲面相交,得到邊界曲線。整個(gè)計(jì)算過程稱為放坡,其中,主要難點(diǎn)在于計(jì)算開挖邊界曲線。
Civil 3D軟件具備放坡計(jì)算功能,但是在地形面和開挖面較為復(fù)雜時(shí),操作過程非常復(fù)雜,無法實(shí)現(xiàn)自動(dòng)處理。為此,本文提出一種開挖面自動(dòng)放坡計(jì)算方法,通過開挖面與地形面三角面片的拓?fù)浼皫缀斡?jì)算,得到準(zhǔn)確的開挖邊界曲線。為便于描述,作如下定義(如圖1所示)。
圖1 開挖面示意圖
(1)內(nèi)部開挖面:開挖面中與開挖邊界無關(guān)的多邊形平面,所有頂點(diǎn)均不在開挖邊界上(如圖1所示的S1面)。
(2)邊界開挖面:開挖面中與開挖邊界有關(guān)的多邊形平面,至少有一個(gè)頂點(diǎn)在開挖邊界上(如圖1所示的S2、S3、S4面)。
(3)內(nèi)部控制點(diǎn):開挖面中與開挖邊界無關(guān)的頂點(diǎn)(如圖1所示的P1點(diǎn))。
(4)邊界控制點(diǎn):開挖邊界曲線上同時(shí)與2個(gè)邊界開挖面有關(guān)的頂點(diǎn)(如圖1所示的P2、P3點(diǎn))。
(5)開口線:開挖邊界曲線上2個(gè)邊界控制點(diǎn)之間的多段線(如圖1所示的L2線)。
實(shí)際上,一個(gè)復(fù)雜的三維開挖面往往由多個(gè)內(nèi)部開挖面和邊界開挖面組成。內(nèi)部開挖面的計(jì)算相對(duì)比較簡(jiǎn)單,其頂點(diǎn)或是已知的控制點(diǎn),或是按照3個(gè)平面求交點(diǎn)即可得到。邊界開挖面的計(jì)算涉及地形面,相對(duì)復(fù)雜一些,但是歸納起來可以分為2類問題:由內(nèi)部控制點(diǎn)推求邊界控制點(diǎn)、由邊界控制點(diǎn)推求開口線。
以圖1所示開挖面為例,已知內(nèi)部控制點(diǎn)P1、沿邊界開挖面S2和S3的交線L1,推求邊界控制點(diǎn)P2,屬于由內(nèi)部控制點(diǎn)推求邊界控制點(diǎn)問題。圖2是局部開挖面和地形面的俯視圖,地形面采用規(guī)則三角形網(wǎng)格模擬(圖2只畫出了局部的三角形網(wǎng)格)。待推求的邊界控制點(diǎn)P2實(shí)際上是開挖面與三角形網(wǎng)格的交點(diǎn)。
圖2 由內(nèi)部控制點(diǎn)推求邊界控制點(diǎn)示意圖
計(jì)算方法如下:
(1)通過內(nèi)部控制點(diǎn)P1的平面坐標(biāo),判斷其垂直投影到地形面上后所在的三角形T1。
(2)計(jì)算直線P1P2與三角形Ti在水平投影面上的交點(diǎn)Ni。
(3)分別計(jì)算交點(diǎn)Ni在直線P1P2上和三角形Ti上的高程坐標(biāo)Z1、Z2。
(4)如果Z1 (5)如果Z1>Z2,表明線段上的點(diǎn)已在地形面上方(圖2中所示的N9),則計(jì)算直線P1P2點(diǎn)與三角形Ti+1(圖2中所示的T9)的交點(diǎn)坐標(biāo),即可得到邊界控制點(diǎn)P2,計(jì)算結(jié)束。 仍然以圖1所示開挖面為例,已知邊界控制點(diǎn)P2、沿邊界開挖面S2,推求開口線L2,屬于由邊界控制點(diǎn)推求開口線問題。圖3是局部開挖面和地形面的俯視圖,地形面采用規(guī)則三角形網(wǎng)格模擬(圖3只畫出了局部的三角形網(wǎng)格)。待推求的開口線L2實(shí)際上是開挖面與三角形網(wǎng)格相交的多段線。 圖3 由邊界控制點(diǎn)推求開口線示意圖 計(jì)算方法如下: (1)通過邊界控制點(diǎn)P2的平面坐標(biāo),判斷其垂直投影到地形面上后所在的三角形T1。 (2)計(jì)算平面S2與S4的交線L3方程。 (3)計(jì)算平面S2與三角形Ti的交點(diǎn)Ni。 (4)判斷交點(diǎn)Ni與邊界控制點(diǎn)P2是否在交線L3同側(cè)。 (5)如果在同側(cè),表明該交點(diǎn)尚在邊界開挖面S2內(nèi),則針對(duì)相鄰三角形Ti+1,重復(fù)第(3)和第(4)步。 (6)如果不在同側(cè),表明該交點(diǎn)已在邊界開挖面S2外(圖3中所示的N8),則計(jì)算交線L3與三角形Ti+1(圖3中所示的T8)的交點(diǎn)坐標(biāo),即可得到邊界控制點(diǎn)P3及開口線P2P3,計(jì)算結(jié)束。 采用上述方法計(jì)算出開挖面的所有控制點(diǎn)和開口線后,即可利用Civil 3D軟件的已有功能,直接在BIM上生成完整的開挖面,并通過其與三維地形實(shí)體進(jìn)行布爾操作,得到開挖實(shí)體。實(shí)際工程中,通常需要分高程計(jì)算開挖量,直接用各高程平面切割BIM即可。在開挖實(shí)體生成后,可以直接通過查詢各分層開挖實(shí)體的屬性得到土石方工程量。 為了驗(yàn)證本文方法的有效性,選取某大型土木工程的部分開挖面為例,進(jìn)行計(jì)算分析。該算例原始地形資料為等高線文件,計(jì)算范圍為500 m×300 m,將其分為100 m×100 m的子域進(jìn)行地形模擬(如圖4所示)。 按文中所述方法進(jìn)行計(jì)算,初始三角形網(wǎng)格尺度取為10 m,以各層開挖的土石方量相對(duì)誤差≤0.2%作為精度控制標(biāo)準(zhǔn)。經(jīng)過3次網(wǎng)格細(xì)分后,當(dāng)三角形網(wǎng)格尺度為1.25 m時(shí)得到滿足精度要求的計(jì)算結(jié)果。圖5是生成的分層開挖實(shí)體。 表1是不同網(wǎng)格尺度下的各層開挖土石方工程量,其中,各網(wǎng)格尺度下的計(jì)算結(jié)果相對(duì)誤差均以將其加密一次后的計(jì)算結(jié)果為參照。圖6是不同網(wǎng)格尺度時(shí)的各層土石方量相對(duì)誤差曲線。 注:圖中方框中的數(shù)字表示高程(m)。圖4 算例子域劃分Fig.4 Subdomain division of numerical example圖5 算例分層開挖實(shí)體Fig.5 Layered excavation entities ofnumerical example 表1 土石方量計(jì)算結(jié)果 圖6 不同網(wǎng)格尺度時(shí)的各層土石方量相對(duì)誤差 從圖1、表6中各土石方量計(jì)算結(jié)果可以發(fā)現(xiàn): (1)隨著地形面三角形網(wǎng)格尺度逐漸減小,無論是總的開挖土石方量,還是各分層的土石方量,計(jì)算結(jié)果都更加精確。 (2)對(duì)于開口線附近的開挖層,比如第1和第7層開挖,由于開挖深度相對(duì)較淺,計(jì)算的土石方量相對(duì)誤差受地形面模擬精度的影響更大。 (3)對(duì)于土石方量較大的開挖層,比如第10層開挖,由于開挖深度較深,計(jì)算的土石方量相對(duì)誤差受地形面模擬精度的影響較??;但是由于其涉及的地表范圍大,計(jì)算的土石方量絕對(duì)誤差較大。 針對(duì)大型土木工程的地形面范圍大、開挖面復(fù)雜、土石方工程量計(jì)算繁瑣的特點(diǎn),本文研究并提出了基于BIM的精細(xì)化土石方量計(jì)算方法。主要取得了以下研究成果: (1)提出了模擬大范圍地形面的分片薄板樣條插值函數(shù)方法,采用規(guī)則直角三角形網(wǎng)格來離散地形面,并通過網(wǎng)格自動(dòng)加密來提高和控制地形面模擬精度。 (2)提出了開挖面的自動(dòng)放坡計(jì)算方法,通過開挖面與地形面三角面片的拓?fù)浼皫缀斡?jì)算,由內(nèi)部控制點(diǎn)推求邊界控制點(diǎn)再推求開口線。 (3)在Civil 3D軟件的基礎(chǔ)上,通過二次開發(fā),實(shí)現(xiàn)了大型土木工程的精細(xì)化土石方量計(jì)算。 地形曲面的精細(xì)化模擬除了可以提高土石方量計(jì)算的精度,還可以提高BIM的可視化效果。當(dāng)然,三角形網(wǎng)格的自動(dòng)加密也必然帶來數(shù)據(jù)量的增加。對(duì)于實(shí)際應(yīng)用的很多場(chǎng)景,比如工程全景或者BIM與GIS融合時(shí),為了提高圖形顯示的速度,又需要對(duì)BIM進(jìn)行輕量化處理。自動(dòng)加密的規(guī)則三角形網(wǎng)格中正好包含了多套不同尺度的網(wǎng)格,可以適應(yīng)不同精度的地形曲面模擬需求,因此有望在BIM的輕量化中得到應(yīng)用,這也是下一步需要研究的課題。3.2 由邊界控制點(diǎn)推求開口線
4 算例分析
5 結(jié) 語