劉聰元 劉文巖



摘要:隨著三維協同設計技術的廣泛應用,水利水電行業對三維地形的應用要求日益提高,使用常規的地質建模軟件如GOCAD、CATIA很難滿足高精度地形建模的要求。Civil 3D符合高精度地形建模的要求,但添加等高線時參數設置較為復雜,同時由于僅支持LandXML和DEM格式導出,大大限制了其應用范圍。通過分析等高線優化及平面三角形消除原理,給出了Civil 3D地形建模參數選擇建議,并結合水利水電工程實例討論了高精度地形的建模過程。最后自主開發了LandXML2ts軟件,將LandXML轉換為廣泛使用的ts格式,極大地拓展了地形模型的應用范圍。
關 鍵 詞:
水利水電工程; 地形建模; Civil 3D; LandXML
中圖法分類號: TV222.1
文獻標志碼: A
DOI:10.16232/j.cnki.1001-4179.2023.S2.034
0 引 言
近年來三維協同設計技術在水利水電行業得到廣泛應用,其所見即所得的設計模式更加符合人類的思維習慣,降低了從三維思考到二維表現過程中出現錯誤的可能,減少了設計修改和設計變更的次數,可以有效提高設計效率[1]。但是所謂萬丈高樓平地起,三維協同設計離不開高精度三維地形的支持。地形不僅是地質、設計、施工等專業的工作基礎,也是水利水電工程協同設計的起點。隨著BIM技術的發展和應用的加深,水利水電行業對于三維地形的精度要求越來越高,常規的地質建模軟件如GOCAD、CATIA等僅支持高程點生成地形模型[2-5],建模效率低,很難取得理想的效果。因此有必要探尋一種新方法,既能充分利用已有地形數據,又能快速、高效地建立高精度地形模型。
Autodesk Civil 3D(簡稱Civil 3D)軟件是Autodesk公司推出的一款面向基礎行業的建筑信息模型解決方案。它為基礎設施行業的各類技術人員提供了強大的設計、分析以及文檔編制功能,廣泛用于勘察測繪、巖土工程、交通運輸、水利水電等眾多領域[6]。國內工程技術人員基于Civil 3D的地形建模技術進行了廣泛研究:李永勇從地形圖提取高程點建立三維地形模型[7];陳立楠等基于高程點建立三維地形模型,并與緯地軟件生成的等高線、谷歌高清衛星影像進行了對比[8];劉莉等梳理了使用高程點和特征線建立地形曲面的流程[9];牛作鵬等實現了多源測繪地理信息數據集成,并對地形較為復雜及需要表現局部地區細節特征的重點地區,采用集成二維地形圖 DWG 數據中的等高線,并手動添加特征點、特征線等方式完成地形曲面模型生成[10];李萬紅利用高程點、等高線、特征線等進行了地形建模[11]。
等高線作為傳統地形圖的重要表達手段,對于地形表達起著重要作用,因此要實現高精度地形建模,必須將等高線作為建模依據之一納入建模過程。Civil 3D支持高程點、等高線和特征線建立地形模型,但加入等高線時參數較為復雜。從目前研究資料看,大部分研究者以高程點為基礎建立地形曲面。牛作鵬、李萬紅等人建模時雖然使用了等高線,但并未詳述建模過程及參數選取原則。
本文參考Autodesk官方文檔,重點討論等高線優化的原理及參數取值原則,并通過自主開發解決了模型格式的轉換問題。
1 地形曲面概念及優化原理
1.1 曲面的概念
Civil 3D中的曲面分為兩大類:一種是真正意義上的“曲面”,一種是體積曲面。按照剖分形式的不同,它們又各自分為“三角網”和“柵格”。其中三角網曲面通過空間上任意一組點進行Delaunay而形成,適用于使用不規則分布的采樣數據來反映復雜多變的曲面和局部區域的分析(大比例地圖)[6]。由于水利水電工程對地形精度要求很高,地形曲面一般采用三角網曲面,以下所述曲面均為三角網曲面。
1.2 等高線優化方法
為提高地形曲面三角網的質量,建模前應對等高線進行優化,優化方法包括頂點消除和頂點補充。
1.2.1 頂點消除
Civil 3D采用三點檢測法進行判斷,消除程度由參數L0(距離)和θ0(角度)共同控制,二者取值越大,剔除的點越多。三點檢測法原理如圖1所示,圖中A、B、C為等高線上相鄰的三點,若AB+BC 1.2.2 頂點補充 頂點補充分別按直線段和弧線段兩種情況處理,前者由補充距離SD控制,后者由中點垂距d0控制,SD和d0取值越小,添加的頂點越多。 直線段補點原理如圖2所示。圖中A、B為等高線上的兩點,當AB>SD時,將按照小于或等于SD的間隔添加頂點;弧線段補點原理如圖3所示。圖中d為中點垂距,如果d>d0,則向圓弧添加頂點,使中點垂距等于或小于d0。 1.3 最小化平面區域方法 平面三角形指三個頂點高程相等的三角形,連接相同高程的同一或不同等高線的三角形邊為平面邊[12]。圖4中陰影覆蓋的為平面三角形,虛線為平面邊。 平面三角形往往并不是真實地形的反映,因此構建地形曲面時應盡量抑制平面三角形的生成。Civil 3D主要采用4條措施消除平面三角形。 (1) 填充間距。 該選項通過填充斷開的兩條或多條高程相同的等高線之間的縫隙,創建一條連續的等高線。 (2) 交換三角形邊。 此選項通過掃描曲面查找與非平面三角形共有非等高線邊的平面三角形。如果這兩個三角形構成凸四邊形,則交換其公共邊將兩個三角形變為非平面三角形,一直持續該操作直到沒有可能交換的邊為止(見圖5)。 (3) 向平面三角形邊添加點。 與交換三角形的邊選項一樣,通過掃描曲面,查找所有點都在數據等高線上且與非平面臨近三角形共享非等高線邊的三角形。不同的是不交換公共邊,而是在公共邊的中點處添加新點。此點的高程可以通過自然臨近內插法來計算(見圖6)。 (4) 向平面邊添加點。 此選項查找是否存在兩個端點都位于數據等高線上的平面邊。如果包含此平面邊的兩個三角形相對點的高程都高于此邊的高程或都低于此邊的高程,那么將在此平面邊的中點處添加新點。新點的高程可以通過自然臨近內插法來計算(見圖7)。 2 參數選擇建議 2.1 頂點消除因子 距離L0:高質量的三角網應盡量避免狹長的三角形。為使地形曲面三角形盡量接近正三角形,頂點消除因子宜與等高線水平間距大致相當。 角度θ0:取值宜與L0適配,取值過小會造成等高線轉彎處節點過于密集,取值過大會降低模型精度,經反復試驗,認為取值30°較為合適(見圖8)。 2.2 頂點補充因子 距離SD:軟件要求頂點補充因子距離必須大于L0,建議SD按L0的2~3倍取值。 中點垂距d0:無特別要求,保留默認值即可。 2.3 最小化平面區域的方法 在平面三角形消除方法中,交換三角形邊與向平面三角形邊添加點的功效是相同的,后者雖然增加了三角形,但可以避免狹長三角形的生成,因此建議選后者。 2.4 參數選擇建議 綜上,地形建模過程中參數取值建議見表1。 3 高精度地形建模實例 以某抽水蓄能電站為例,工程區屬典型的構造剝蝕低山丘陵地貌,總體為向斜山、背斜谷,嶺谷相間的地貌特征。工程區域涉及面積14.6 km2,高程范圍為48.37~764.13 m,高程點2.6萬個,等高線節點191.1萬個。 地形建模的一般順序為數據預處理、新建曲面、添加高程點、添加等高線、網格查看和曲面編輯。 3.1 地形數據預處理 在進行地形建模前,應對地形圖進行預處理,包括數據清理、粗差處理和重復對象刪除等。 (1) 數據清理。 數據清理主要是對原始地形圖進行整理,刪除不相關的內容,僅保留建模需要的高程點、等高線和特征線等圖層,必要時對圖層進行合并或重命名處理。 (2) 粗差處理。 粗差是指離群的誤差[13],在地形圖中主要表現為標高異常的點或線。目前鑒別粗差主要采用“目視法”:通過選擇視圖方向(如切換到前視圖)可以較容易發現粗差對象(如標高或Z值為0的對象)。選擇這些對象并賦予特定顏色,回到俯視圖,查看紅色等高線或高程點,并參考周邊高程修正其標高,對于無法修改的對象則應進行刪除處理。 (3) 重復對象刪除。 有時地形圖會出現重復對象,不僅增加了圖件體積,也不利于后期地形模型的生成,因此需要進行處理。利用Civil 3D的刪除重復對象命令(overkill)可自動刪除重復對象。 3.2 新建曲面 從左側工具箱曲面的右鍵菜單中選擇“創建曲面...”,打開創建曲面對話框。 通過單擊曲面圖層右側的按鈕可以選擇或新建圖層(本例為新建Topo圖層)用于存放曲面對象。將曲面名稱改為“地形面”,點擊【確定】按鈕,工具空間中出現曲面“地形面”。點擊“+”,依次展開“地形面”和“定義”。 在“地形面”的右鍵菜單中選擇【編輯曲面樣式...】彈出曲面樣式對話框,選擇“顯示”選項卡,將“三角形”和“邊界”設置為可見,如圖9所示。 3.3 添加高程點 高程點在地形圖中一般以圖塊或點的形式存在,可以通過定義中的【圖形對象】>【添加...】,彈出對話框。 對象類型根據實際情況選擇(本例為“塊”)。描述輸入“GCD”,點擊【確定】按鈕,根據提示從圖形區域選擇高程點,軟件自動構建三角網,見圖10(a)。由于未控制三角形邊長,因此邊界存在問題,正確設置后如圖10(b)所示。設置方法如下: 在“地形面”的右鍵菜單中選擇“曲面特性...”,在“定義”選項卡中找到“使用三角形最大邊長”設置為“是”,并將“三角形最大邊長”設置為“200 m”(具體根據實際情況確定),點擊【確定】按鈕后,按提示重新生成網格即可。 3.4 添加等高線 選擇【等高線】>【添加...】時需要正確選擇參數。經實測,該地形中等高線水平間距為4 m,設置參數如圖11所示。點擊【確定】按鈕,并選擇等高線完成等高線添加。 3.5 網格查看 選中網格,在頂部菜單選擇“三角網曲面:地形面”,執行命令“網格查看器”,可以多種方式對網格進行查看。必要時刪除等高線,修改參數并重新添加。 3.6 曲面編輯 【定義】>【編輯】的右鍵菜單中提供了多種編輯命令,可對地形模型進行手動修改。 4 模型應用 Civil 3D曲面支持的LandXML格式無法直接用于常用地質建模軟件,通過自行研發的軟件,成功將Civil 3D曲面用于其他三維地質建模軟件。 4.1 導出為LandXML 在“地形面”的右鍵菜單中選擇“導出為LandXML”,彈出對話框。所有參數默認,直接點擊【確定】按鈕,輸入文件名即可完成導出。 4.2 格式轉換 通過解析LandXML 格式和TS格式[14],開發了LandXM2ts程序,實現了文件格式的轉換。 4.3 導入三維建模軟件 ts格式是GOCAD自帶的一種明碼三維模型格式,目前已被BM_GeoModeler、CATIA、3DE等軟件廣泛采用。因此轉出的ts格式文件不僅可用于GOCAD,也可以用于BM_GeoModeler、CATIA和3DE地質建模,有效彌補了其在高精度地形建模方面的不足。 4.4 與傳統建模方法對比 Civil 3D與傳統地質建模軟件三維地形建模性能對比見表2,詳述如下: (1) Civil 3D可直接將CAD格式地形圖用于建立地形模型,圖塊形式的高程點無需額外進行數據提取操作。 (2) 與傳統地質建模軟件將等高線作為“點”建模不同,Civil 3D將等高線作為“線”參與建模。一方面能避免出現跨等高線的三角形,另一方面可以有效抑制平面三角形的生成。 (3) Civil 3D僅需合理設置參數,即可自動完成等高線優化和平面區域最小化操作。 (4) Civil 3D所建地形模型細節表現良好,通過等高線和特征線,可以對微地形進行雕琢,達到良好的效果。 (5) Civil 3D建模效率更高,本例由于數據量較大,在BM_GeoModeler等軟件中建模時均出現假死等待的現象,但在Civil 3D中建模過程非常流暢。 5 結 語 (1) Civil 3D可充分利用CAD格式地形圖中的等高線和高程點,快速建立高質量的地形模型。 (2) 利用等高線優化和平面三角形消除原理,選擇合理的參數,可有效提高地形網格的質量。 (3) Civil 3D曲面支持LandXML格式導出,通過軟件開發可將其轉換為ts格式,可彌補水利水電工程常用地質建模軟件在地形建模方面的不足。 參考文獻: [1] 陳功軍,張金輝,高英.實施水利工程三維協同設計的探索[J].人民長江,2013,44(16):105-108. [2] 王帆,宋文博,洪婷.GOCAD與CATIA結合的三維地質建模方法探討[J].西北水電,2013(6):70-73. [3] 竇帆帆,林子瑜.GOCAD在三維地質建模中的應用進展綜述[J].中國錳業,2017,35(4):147-149. [4] 江二中.基于GOCAD的某水電站三維地質建模技術研究與應用[D].重慶:重慶交通大學,2013. [5] 韓旭,馮明權,向能武,等.基于CATIA V5的三維地質建模應用教程[M].武漢:中國地質大學出版社,2014. [6] 任耀,戴飛靈,黃偉,等.AutoCAD Civil 3D 2013應用寶典[M].上海:同濟大學出版社,2013. [7] 李永勇.基于AutoCAD Civil 3D的水利工程地質三維模型[J].山西水利科技,2017(2):32-34. [8] 陳立楠,安陽,張娟.應用Civil 3D創建三維數字化地形[J].工程測量與檢測,2015(4):145-147. [9] 劉莉,李國杰,喬偉剛.基于Civil 3D 的三維地質建模方法及應用[J].水運工程,2018(8):140-144. [10] 牛作鵬,李國杰,劉莉.一種基于Civil 3D 平臺的三維地質建模改進方法[J].水運工程,2019(10):171-175. [11] 李萬紅.基于Auto Civil 3D的三維地質建模與應用[J].人民長江,2020,51(8):123-129. [12] AUTODESK.關于最小化曲面中的平面面積[Z/OL].https:∥help.autodesk.com/view/CIV3D/2023/CHS/?guid=GUID-E05998AB-69BB-404C-8C17-068273D3384A. [13] 周江文.經典誤差理論與抗差估計[J].測繪學報,1989,18(2):115-120. [14] 段建肖,廖立兵,肖鵬,等.GOCAD三維地質建模成果的二次開發及應用研究[J].人民長江,2015,46(14):51-54. (編輯:鄭 毅)