安 慧,高 飛,張凱選,董 春
(1.遼寧工程技術大學 測繪與地理科學學院,遼寧 阜新123000;2.中交一公局第一工程有限公司,北京 102205;3.中國測繪科學研究院,北京 100830)
基于ArcGIS的CAD三維模型簡化與轉換
安 慧1,高 飛2,張凱選1,董 春3
(1.遼寧工程技術大學 測繪與地理科學學院,遼寧 阜新123000;2.中交一公局第一工程有限公司,北京 102205;3.中國測繪科學研究院,北京 100830)

根據CAD三維建模以及CAD與ArcGIS數據轉換方法,結合不同地理實體的特點,對三維建模的方法進行分類研究,得到了三維建模的簡化方法以及CAD數據向Shapefile格式轉換的方法,以便于進一步的處理與分析。通過將不同圖層的DWG文件單獨保存并在ArcGIS中批量轉換,實現了CAD三維模型在ArcGIS平臺下的顯示,解決了兩者因軟件平臺的差異和數據結構不同產生的數據丟失問題。
CAD;三維模型;ArcGIS;數據轉換
通過建立模型來描述事物的不同屬性是現代科學探索事物發展和運行規律的一個普遍而重要的方法,在許多領域三維建模都是一個不斷興起的課題,簡化三維建模,提高建模效率也成為了研究的重要方向[1]。本文也以AutoCAD為平臺進行三維建模的研究。
不同的地理實體類型,其三維模型的構建方法也不相同,即使同一地理實體,也會有不同的構建方式,若采用錯誤的構建方法,會導致建模效率低下甚至建模失敗。以本次實驗為例,在創建樹木模型時,如果采用旋轉命令,需要先繪制出樹木的二維平面圖,再旋轉得到立體模型,此方法過程復雜,建模效率低下;若采用插入圖塊法,導入已有的樹木圖塊并插入到指定位置,再復制粘貼到其他位置,可以大大提高工作效率。當模型較為復雜時,如果不關閉某些圖層,會導致視線內模型重疊,對模型編輯產生干擾,甚至建模失敗。因此,簡化三維建模就成了必不可少的步驟。
與此同時,GIS技術正迅猛發展并應用于各行各業。目前雖然很多GIS軟件都提供了數據格式轉換功能,但由于CAD軟件在數據存儲、圖元定義、管理模式等方面與GIS軟件有很大的差別,數據轉換效果并不是很理想[2]。本文通過研究CAD三維建模的簡化方法以及CAD數據到Shapefile格式的數據轉換方法,實現了從建模到數據轉換的高效性與完整性。
1.1 CAD三維建模方法
CAD三維建模的方法是首先將要得到的三維對象解析成二維對象,再運用建模手段得到三維對象。是一個由點到線、由線到面、由面到體的過程。
1)線框建模。線框建模是利用基本線素來定義目標的棱線部分而構成的立體框架圖。這種模型沒有面,不能消隱、著色和渲染。
2)表面建模。表面建模是在線框建模的基礎上添加表面,可以進行消隱、著色和渲染,從而得到真實的視覺效果。
3)實體建模。實體建模是通過定義基本體素,利用體素的集合運算或基本變形操作來實現構建物體的建模方法。采用類似于表面建模的方法,通過記錄構成物體的點、線、面、體的幾何信息和拓撲信息來描述物體,但拓撲關系的描述更加嚴格。
1.2 CAD數據轉換為ArcGIS數據的方法
AutoCAD的數據格式主要有DWG和DXF兩種,而ArcGIS的通用格式是Shapefile,可以采用不同的方法來實現兩種平臺數據的轉換,轉換方式主要分為直接轉換和間接轉換,其中直接轉換方法有3種,分別是文件轉換、直接讀取和數據庫的共享訪問[3]。
2.1 CAD三維建模
CAD三維建模的方法主要有以下幾種:
1)基本體命令方法?;倔w包括長方體box、球體sphere、圓柱體cylinder、圓錐體cone、楔體wedge、圓環體torus等。
2)拉伸Extrude與旋轉Revolve。對于已經存在的二維封閉圖形可以沿某一方向拉伸,使其具有厚度而形成三維實體模型,既可以直接在工具欄中選擇此命令,也可以在命令欄輸入Extrude命令。另外還可以通過旋轉閉合多段線、多邊形、圓等構建三維模型。
3)布爾運算。布爾運算有三種:求并運算Union、求差運算Subtract和求交運算Intersect[4]。求并運算是將若干個實體(面域)合并為一個新實體(面域),這些實體可無公共部分;求差運算是用一個實體(面域)減掉另一個實體(面域)中與之相交的部分,要求實體(面域)間必須有公共部分;求交運算是指對含有公共部分的若干實體(面域)作布爾運算,將公共部分作為新的實體(面域)。
4)實心體基本編輯命令?;揪庉嬅钪饕ㄆ是蠸lice、倒直角Chamfer、倒圓角Fillet。針對實體模型,最常見的剖切就是平面剖切,平面剖切是用一個無邊界的平面對被剖物體進行分割操作[5]。倒直角以距離(或距離加角度)為條件,倒圓角以半徑為條件。
2.2 CAD向GIS數據轉換的關鍵技術
ArcGIS中的轉換工具可以幫助用戶更好地使用數據。轉換方法大致可以歸納為以下幾種:
1)Arciew GIS 3.X保存為Shapefile。
2)ArcGIS:ArcCatalog——Simple Data Loader。
3)ArcGIS:ArcToolbox——CAD到Shapefile轉換工具。
4)ArcGIS:Geodatabase——裁剪和粘貼。5)ArcGIS:Geodatabase——Export Data。
6)ArcSDE CAD Client[6]。
3.1 簡化CAD三維建模
針對原始數據,本次實驗將三維模型分為兩類:一類為建筑物三維模型,另一類為相關附屬物三維模型。建筑物三維建模涉及到的簡化操作有:
1)平面視口。建筑物四面墻體均需繪制窗戶,利用平面視口可以同時對各個面進行繪制(圖1)并檢查是否有位置偏移。

圖1 不同平面視口下的模型圖
2)管理圖層。繪制窗戶時先將其他建筑物的圖層關閉或凍結,否則圖形在視覺上會有重疊,不便于觀察和繪制。
3)拉伸命令。拉伸命令大量應用于建筑物三維建模,如建筑物墻體模型、草坪(圖2)、臺階等,這樣避免了剖切、組合以及布爾運算帶來的復雜工序,提高建模效率。

圖2 “拉伸法”繪制草坪模型圖
4)復制與粘貼。在需要繪制多個相同圖形時,可以利用復制與粘貼命令快速完成。
相關附屬物三維建模涉及到的簡化操作有以下3個:
1)拉伸命令。適合于綠化帶、池塘、草坪的繪制,生成效率高。
2)實體編輯命令。用于池塘的圍墻建模,涉及布爾運算中的求差運算。
3)插入圖塊法。用于樹木和路燈的建模,直接導入圖塊并插入到指定位置,代替利用拉伸、旋轉、基本體組合、剖切等繪制立體模型的復雜操作,達到簡化的目的。
簡化CAD三維建模要注意以下幾點:
1)靈活運用用戶坐標系。
2)使用多視口。
3)對圖層進行適當管理。
4)掌握拉伸和旋轉命令。
5)熟練運用實體的編輯命令。
6)正確使用圖塊插入的方法[7]。
實驗發現,簡化CAD三維建模方法能大幅提高三維建模效率。將原二維平面圖繪制成三維模型的效果如圖3所示。

圖3 CAD三維模型成果圖
3.2 數據格式轉換
本次實驗采用ArcToolbox工具來完成CAD文件到Shapefile文件的格式轉換,此工具可將DWG文件批量轉換成SHP格式。實驗過程中遇到的問題以及解決方案如下:
1)臺階、綠化帶等附屬物導入到ArcScene后有丟失。其原因是部分圖形在多段線描邊時沒有封閉,需要對丟失數據的圖形重新描邊,使其構成閉合多邊形。
2)樹木和路燈等附屬物導入到ArcScene后丟失。原因是在CAD平臺插入圖塊時,圖層未選定用于定義塊的“0”圖層。定義塊前,應先將所有圖元均設置為“0”層(排除特殊情況),此時在哪一圖層插入塊,該塊就屬于哪一層。
3)插入到CAD中的圖塊過于繁雜,導致其加載到ArcGIS中無法完全顯示。解決方法是采用“三維多段線”命令對原圖中的塊重新描邊。
4)CAD數據轉換為Shapefile格式后會產生大量數據冗余,需要刪除屬性表中的無用字段,如線型、線劃顏色、線劃寬度等。
5)CAD數據轉成Shapefile格式時,Point類型和Annotation類型要素在圖像中沒有顯示。在利用ArcToolbox進行格式轉換時,可以忽略Point類型和Annotation類型要素,而只轉換Polyline、Polygon和MultiPatch類型的要素。
CAD數據向ArcGIS數據轉換的過程中部分數據丟失的原因主要有以下幾點:
1)初期繪圖不規范。
2)圖塊要素在ArcGIS中無法正確識別。
3)AutoCAD的圖形數據沒有與ArcGIS符號庫進行匹配[4]。
解決上述問題后發現,將單獨保存的各DWG文件批量轉換成SHP文件格式并加載,可直接顯示出完整的三維模型圖,并且與CAD平臺下的三維模型基本一致。利用上述的數據轉換方法,將CAD下創建的三維模型在ArcGIS中顯示的效果如圖4所示。
CAD三維建模有多種方法,掌握三維建模的簡化方法可以達到快速建模的目的;采用正確的數據轉換方法可以有效避免數據丟失的問題,提高轉換效率。兩個部分的實驗實現了從建模到轉換的一系列過程,速度快且保證了數據的完整性,但也有不足之處,比如實驗只涉及了幾何建模,紋理貼圖的簡化方法需要進一步研究[8]。
[1] 欒悉道,應龍,謝毓湘,等.三維建模技術研究進展[J].計算機學,2008,35(2):208-210
[2] 丁華貴,陳景平.DXF格式應用及GIS的數據格式轉換[J].江西測繪,2010,83(2):62-64
[3] 劉娟,沙月進.AutoCAD向ArcGIS轉換的數據丟失問題的探討[J].現代測繪,2008,31(4):22-24
[4] 楊蘭.三維網格模型實體布爾運算方法的研究與實現[D]. 長沙:中南大學,2011
[5] 曾俊剛.三維矢量圖形的切剖算法研究與實現[D].長沙:中南大學,2008
[6] 趙南,許彥紅,楊強.從AutoCAD到ArcGIS數據轉換的實踐[J].昆明冶金高等專科學校學報,2013,29(1):33-36
[7] 岳海云.如何使用AutoCAD提高三維實體建模效率[J].2006,22(12):67-68
[8] 周靖斐,章皖秋,林紫峰,等.GIS 系統中實現規?;ㄖ锏娜S建模方法[J].地理空間信息,2011,9(1):85-87
P208
B
1672-4623(2016)12-0052-03
10.3969/j.issn.1672-4623.2016.12.017
安慧,碩士研究生,研究方向為空間數據挖掘。
2015-03-31。