http://www.gissky.net- GIS空间站

我要投稿 投稿指南 RSS订阅 网站资讯通告:
搜索: 您现在的位置: GIS空间站 >> 技术专栏 >> 地理信息 >> 正文

城市三维快速建模方法创新研究

作者:杨娜娜    文章来源:2014测绘学    点击数:    更新时间:2015-1-4
摘要:本文在总结传统三维建模方法的工艺流程并对其进行深入研究的基础上,使用MaxScript制作成建筑简模批量生成和辅助贴图插件,在充分利用已有测绘数据的基础上开发出更加高效经济(cost effective)的建模方法和工具有效简化程序,减少城市三维建模的工作量,省时省力,在三维建模行业中具有广泛的推广意义和应用价值。

1.引言

目前智慧城市建设开展的如火如荼,三维建模行业也呈现出此欣欣向荣的大好局面,尤其各种三维建模方法和建模软件更是层出不穷,这极大地丰富了三维建模的理论,开拓了三维建模的竞争市场,使三维建模行业得到了长足发展的广阔空间。同时,由于现代建筑形式的多样性、复杂性、变化的频繁性,计算机无法及时捕捉到这些变化,因此在使用其自动建模功能时我们仍面临巨大的挑战。为了制作更加符合三维建模标准的模型,使其能够更真实的反映现实世界,不少三维数据生产单位不得不继续采用传统的人工建模方法,这种方法与计算机自动建模相比较更加耗时、耗力、成本高。本文在研究传统三维建模技术的基础上,通过MaxScript脚本语言开发出了高效实用的建模插件,优化了传统三维建模方法的工艺流程,节约了三维建模的人力、物力和财力,有效提高工作效率,可以为单位带来很好的经济效益。

2.三维快速建模的新思路

用3ds Max建立三维城市建筑模型可分为3个步骤:一、平面建筑CAD矢量底图处理;二、根据建筑高度建立3维立体建筑模型;三、为3维建筑模型赋纹理贴图,使模型显得真实。其具体流程如图1所示。

 

图1.城市三维建模一般流程

 

本文将主要针对步骤二和步骤三进行简化改进,利用MaxScript制作成建筑简模批量生成和辅助贴图插件,将手工操作变成计算机自动操作,使工作流程得到彻底的完善。研究的详细流程如图2所示。

 

图2 创新后的城市三维建模工作流程

 

 

3 创新后的城市三维建模关键技术

3.1 CAD底图预处理技术

在对CAD底图进行预处理的过程中要删除多余要素只保留建筑物轮廓线图层和含层数属性的注释图层,并修正检查到的任何错误,如:建筑轮廓不封闭、存在悬挂线和冗余的内部线等,尽量使每个建筑轮廓连成一条独立的封闭多段线。

3.1.1 CAD底图导入到ArcGIS

为了确保建筑轮廓线图层正确无误,我们创新性的将预处理过的CAD底图导入到ArcGIS 的Geodatabase里进行拓扑重建,具体过程如下:

将CAD导入Geodatabase

对线要素进行拓扑检查,主要通过查看是否有悬挂来检查不封闭的轮廓线。

根据拓扑错误,编辑未闭合的线数据。

修改所有错误之后将线图层转为面图层。

3.1.2计算面对象的中心点XY坐标。

在ArcCatalog目录列表中右击转换生成的面图层,选择【属性】打开要素类属性对话框,在字段选项板中为面图层添加X、Y两个双精度的字段,将面图层添加到ArcMap里,右击面图层打开属性表,然后右击X列的表头选择【计算几何】,选择属性为“质心的X坐标”,点击确定。使用同样的方法计算Y坐标。

3.1.3为面对象追加层数属性

选择【空间连接】工具,选择目标要素为面图层,连接要素为之前导入的注释图层,连接要素的字段映射可以只保留“X(双精度)”、“Y(双精度)”和“Text(文本)”字段。点击确定完成属性追加。

右击新生成的面图层,查看属性,在字段选项卡中设置显示字段为X、Y和Test。打开属性表,将表导出为文本文档。如图3。

 

图3 新生成面图层属性

3.2处理后的数据导出

将修改过拓扑错误的面图层数据导出至CAD,然后将CAD数据导入3ds Max。注意选择按“实体”导出CAD图元,并勾选【几何体选项】组里的“焊接附近顶点”和“封闭闭合样条线”复选框。导入后,将建筑轮廓线转换为可编辑多边形。

 

图4 可编辑多边形轮廓

3.3使用MaxScript脚本插件批量生成3维立体模型

插件原理:顺序读取属性文本文档里的每一行记录,然后循环遍历每个多边形直至找到X、Y坐标同属性记录的X、Y值之差小于设定的坐标容差的多边形,然后将该多边形挤出以生成3维立体模型,挤出高度为:层高X层数。

 

图5快速建模属性文件导入过程1图6快速建模属性文件导入过程2

3.4使用MaxScript脚本插件进行辅助贴图

 

图7 使用插件贴图

将贴图库里的纹理贴图分别绑定到<ImgTag>控件上,同时新建以纹理贴图为漫反射贴图的标准材质,并将材质命名为贴图文件的名称,然后其追加到当前材质库(currentmaterialLibrary)中。当点击一个<ImgTag>时就可以通过对应的贴图文件名称找到相应的材质,然后赋给选择的面。贴图过程中省时主要体现在两方面,第一:自动完成UVW贴图修改器的参数设置,包括设置贴图样式为长方体,根据层高和Gizmo坐标的长、宽、高来自动计算贴图UV平铺数以及用固定的UV值进行贴图等。当输入UV值进行调整时只需点击Tab键或Enter键就可以自动进行更新;第二:选择面时无需切换到面层级就能准确选择贴图表面。

为此我们专门设计了相关的程序,进行插件的开发。其函数代码在此省略。

3.5建筑物批量接地

对任意一个建筑模型,取空间一点,使它的X、Y坐标为建筑模型的中心点X、Y坐标,点的Z坐标为地形模型的最高点的Z坐标。以该点为起点向地形模型做竖直向下的射线,得到射线与地形表面的交点坐标,将建筑模型移动到交点的位置即完成接地工作。

fn find_intersection node_Target node_Move =

(

local testRay = ray node_Move.pos [0,0,-1]

local nodeMaxZ= node_Target.max.z

......

4小结

本文在充分阅读文献,并在实际使用三维建模软件进行实践操作的基础上,发现传统建模流程中出现的一系列问题,并在反复实验的基础上,利用MaxScript制作成建筑简模批量生成软件和辅助贴图插件,开发出了更加自动化、高性能的建模工具,优化了工作流程,简化了三维建模程序,一方面缩短了工作时间,一方面在很大程度上提高了工作效率。它的广泛推广和应用必然为单位带来比较乐观的经济收益。同时,在研究中还存在少许问题,比如处理CAD底图会增加一些工作量,如果建筑多而且底图制作不规范,这部分工作量会很大,得不偿失;批量起来的盒模型的屋顶都是平面,结构还需人工处理等等,这些都是我们今后研究的主要内容,笔者在使用和研究过程中会更加对这些问题侧重,以期获得更为有效的解决方法。

 

参考文献:

[1] 陈丽金.基于3DSMax的城市三维建筑模型建模方法研究[J]. 测绘技术装备,2012,14(1):7-9.

[2] 谭仁春,彭清山,邓凌雯. 基于空间信息技术的城市三维快速建模方法研究[J].

[3]徐克科,姚笛.基于Supernatural GIS 的复杂三维模型建模方法研究[J].测绘通报,2009(7):28~30.

[4]段海朋,关振华.中文版3ds Max 2010 完全学习手册[M].北京:清华大学出版社,2010.

Tags:智慧城市,三维,批量建模  
责任编辑:gissky
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 中国地图