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