Maxscript以及ArcGIS在城市三维建模中的应用.pdf

Maxscript以及ArcGIS在城市三维建模中的应用.pdf

ID:52060516

大小:595.25 KB

页数:2页

时间:2020-03-22

Maxscript以及ArcGIS在城市三维建模中的应用.pdf_第1页
Maxscript以及ArcGIS在城市三维建模中的应用.pdf_第2页
资源描述:

《Maxscript以及ArcGIS在城市三维建模中的应用.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、鱼Q型型丛iQD墨旦!璺Q[鱼!

2、笾科技信息化Maxscript以及ArcGIS在城市三维建模中的应用潘雅静郑睿博西安煤航信息产业有限公司管网工程院陕西西安710054摘要本文在总结传统三维建模方法的工艺流程并对其进行深入研究的基础上,使用MaXsc唧c批量生成建筑模型,在充分利用已有测绘数据的基础上开发出更加高效经济的建模方法和工具有效简化程序,减少城市三维建模的工作量,省时省力,在三维建模行业中具有广泛的推广意义和应用价值。1引言目前智慧城市建设正在广泛开展,如何能够快速制作符合城市三维建模技术规范的模型,困扰着大多数三维数据生产单

3、位。传统建模工艺流程以大比例尺地形网CAD数据为基础进行白模制作,模型纹理图片用数码相机拍照,再经过照片纠正处理后进行模型贴图,最终生成城市三维场景。本文在此基础上,利用MaxScript脚本语言。结合ArcGIS数据处理软件对此流程进行了优化,可以大大提高工作效率。2三维快速建模的新思路传统建模工艺流程分为3个步骤⋯:一、平面建筑CAD矢量底图处理;二、根据建筑高度建立3维立体建筑模型;三、为3维建筑模型赋纹理贴图;四、导出模型供其他三维平台使用。本文将主要针对步骤二和步骤四进行简化改进,利用MaxScript制作成建筑简模批量生成和

4、批量导出插件,将手工操作变成计算机自动操作,使工作流程得到改善。3创新后的城市三维建模关键技术3.1CAD数据转换在对CAD底边数据进行预处理的过程中,先要删除其他图层的要素,只保留建筑物底面轮廓和含相关属性的注释图层,并保证每个多边形的属性完整性。然后将预处理完成的CAD底图数据导入到ArcGIS中,通过要素类转shapfile(批量)工具转换为shapfile面图层。面图层的属性表中应该包括有模型材质、模型层数、模型名字、模型底面面积等字段,并将该表导出为文本文档。3.2处理后的数据导出将修改过拓扑错误的面图层数据通过ArcGIS的

5、要素转CADlT具导m至CAD,然后将CAD数据导人3dsMax中。注意选择按“实体”导出cAD图元,并钩选【几何体选项】组里的“焊接附近顶点”和“封闭闭合样条线”复选框。导人后,将建筑轮廓线转换为可编辑多边形。3.3使J钉MaxScript脚本插件批量q二成3维扛体漠型批量生成3维立体模型的思想,即利用脚本逐行顺序渎取属性文本文档里的每一行记录,然后循环遍历每个多边形,直至找到“名字”字段值同属性记录的名字政榴嗣的多边形.然后将该多边形挤出高度以生成3维江{本模型一挤出高度为:层高x层数:层数为属性表咿i己录的值.层离通过该插件进行自

6、行设置?向模生成之后,进行人I:贴阁i3.4建筑物批量导出导出插件要做的第一步是如何遍历场景中感兴趣的节点。Maxscript提供了两个全局变量rootNode和selection,用来分别得到场景的根节点和被选中的节点数组。模型导出插件的要做的第二步就是从节点里获取几何数据,并对几何数据进行解码。先要在3DSMax里先使用EditMesh修改器把模型转换为EditMesh才能正常导出l=”。在maxscript里面使用eanConvertTo笋lJ断一个节点是否可以转化成包含几何数据的mesh。在确定一个节点中含有mesh数据后,则继

7、续对mesh数据进行解码和进行数据转换。对于节点的几何数据进行解码的步骤如下所示∞I:(1)手巴应用此节点的变换cache,使其变换数据成为最终的建筑与装饰2016年6期175科技信息化QQD地鲤Q!墨旦§盟匦呦世界矩阵,通过调用invalidateWS函数来实现。(2)得到此节点的mesh数据,通过snapshotAsMesh函数实现。(3)得到转换后mesh的顶点数据,通过getNumVerts、getVert、getNormal的顶点个数、局部坐标系的位置和法线。(4爝到mesh的三角形索引数据和纹理坐标数据。导出模型的第三步是获

8、取节点的材质数据。解码材质数据比较简单,先从node得到对应的material对象,然后遍历material的子material对象,直到找到material叶节点,导出materialnf节点可以分两个小步骤进行:(1)得到标准材质数据,这只需要直接把node.material的相关属性直接读取出来即可。(2)获取材质中的纹理贴图数据。导出纹理贴图具体是通过material.maps来得到纹理数组,再遍历此纹理数组,得到每个texture的类型,如果是图片纹理(BitmapTexture)贝lJ直接取BitmapTexture的相关属

9、性。4小结本文利用MaxScript开发了建筑简模批量生成插件和模型批量导出插件,并利用ArcGIS进行了批量建模前的矢量底图的处理。优化了工作流程,提供了在对模型精细程度不是特别高的情况下的快速三维建模。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。