基于ArcGIS的CAD三维模型简化与转换
2016-12-28张凯选
安 慧,高 飞,张凯选,董 春
(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.1 CAD三维建模方法
CAD三维建模的方法是首先将要得到的三维对象解析成二维对象,再运用建模手段得到三维对象。是一个由点到线、由线到面、由面到体的过程。
1)线框建模。线框建模是利用基本线素来定义目标的棱线部分而构成的立体框架图。这种模型没有面,不能消隐、着色和渲染。
2)表面建模。表面建模是在线框建模的基础上添加表面,可以进行消隐、着色和渲染,从而得到真实的视觉效果。
3)实体建模。实体建模是通过定义基本体素,利用体素的集合运算或基本变形操作来实现构建物体的建模方法。采用类似于表面建模的方法,通过记录构成物体的点、线、面、体的几何信息和拓扑信息来描述物体,但拓扑关系的描述更加严格。
1.2 CAD数据转换为ArcGIS数据的方法
AutoCAD的数据格式主要有DWG和DXF两种,而ArcGIS的通用格式是Shapefile,可以采用不同的方法来实现两种平台数据的转换,转换方式主要分为直接转换和间接转换,其中直接转换方法有3种,分别是文件转换、直接读取和数据库的共享访问[3]。
2 关键技术
2.1 CAD三维建模
CAD三维建模的方法主要有以下几种:
1)基本体命令方法。基本体包括长方体box、球体sphere、圆柱体cylinder、圆锥体cone、楔体wedge、圆环体torus等。
2)拉伸Extrude与旋转Revolve。对于已经存在的二维封闭图形可以沿某一方向拉伸,使其具有厚度而形成三维实体模型,既可以直接在工具栏中选择此命令,也可以在命令栏输入Extrude命令。另外还可以通过旋转闭合多段线、多边形、圆等构建三维模型。
3)布尔运算。布尔运算有三种:求并运算Union、求差运算Subtract和求交运算Intersect[4]。求并运算是将若干个实体(面域)合并为一个新实体(面域),这些实体可无公共部分;求差运算是用一个实体(面域)减掉另一个实体(面域)中与之相交的部分,要求实体(面域)间必须有公共部分;求交运算是指对含有公共部分的若干实体(面域)作布尔运算,将公共部分作为新的实体(面域)。
4)实心体基本编辑命令。基本编辑命令主要包括剖切Slice、倒直角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 实验分析与结果
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所示。
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 系统中实现规模化建筑物的三维建模方法[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。