# Max、Revit、osgb、管线数据处理攻略

xdata-3d 2021-01-28

# 提供数据

数据地址链接:云盘地址 提取码:oigx

image-20210121161853131

# 数据要求

  • 将提供的 max 模型、revit 模型分别导入数据源中,要求 max 纹理和模型尺寸正常,并和 提供的影像、地形匹配。

# 数据处理

# 底图数据处理

image-20210122093136235

# 1 影像数据生成缓存

ud_image

# 2 地形数据生成缓存

ud_dem

# 3 加载展示

ud_load

# Max 数据处理

# 1 准备软件环境

Autodesk_3ds_Max_2016_64bit安装包,附百度云盘下载地址,提取码:ps6c。安装教程可参参考这里

image-20210121161020436

3DMax2014-2020导出插件安装包,附百度云盘下载地址,提取码:8SsM。内有安装及使用说明文档,自行查阅。

image-20210121160631636

# 2 处理流程

原始 max 数据打开如下:

image-20210121165610445

image-20210121162318984

附上SuperMap 问答社区常见三维问题整理,根据文章中涉及到的问题内容。本数据存在两个问题需要处理。

# 2.1 问题一 模型建模的时候参考了某个坐标系
image-20210121163257630

但在超图 3dsMax 插件中导出时是“场景投影信息”选择的是插入点信息,如图:

image-20210121163457075

导致结果:

如此导出的结果会出现距离偏差。 原因可解释为数据导出过程中从投影坐标系变换到经纬度坐标系这个投影变换过程产生了误差,而且较大。

解决方法一:

通过自定义投影告诉插件即将要转的数据是基于什么投影坐标系建模而来的(前提是您知道这个数据是基于某个坐标系建的,比如测试数据,图中有摄像头那个数据,是 WGS84 椭球的高斯 3 度带某带的投影,xml 格式的投影文件可以在 iDesktop 中导出)

解决方法二:

如果不知道原始数据是什么坐标系的,可以在 3dsMax 中选中所有对象,将它们整体平移到原点附近,然后插入点信息设置经纬度导出,也能避免这种问题。

本文采用第二种方法。

首先通过Ctrl + A的方式选中场景内所有的要素,打包成。如下图所示:

ud_group

对选中整个组点击下方小锁可进行锁定选中对象防止选中丢失,鼠标选中平移按钮,可以通过鼠标右键点击下方x,y,z快速归零。如下图所示:

归零后,通过快捷键z,快速把选中对象最大化置于场景中间。可通过快捷键P(透视图)、T(顶视图)、F(前视图)、L(左视图)切换视图进行查看。

ud_translate

为了防止导出模型存在其他非必要的因素,在这里我删除了非建筑之类的要素,如光对象。

最后为了查入的位置可控,我这里修改了组的坐标轴的中心位置,使其底部位于Z轴零处。具体操作如下:

最后在生成模型数据集的时候,需提前通过 iDesktop 建立 udb 数据源,并关闭对数据源的连接。

ud_center

经过多次的平移,选中,最终效果如下:

image-20210121175337795

# 2.2 问题二 模型导出后比例较大

原始 max 模型使用单位比例为米,导出模型,iDesktop 加载,模型显得巨大~~。

解决方法:

修改系统单位比例为:厘米。

ud_scale

# 2.3 导入超图桌面加载展示

模型导入 iDesktop 后,由于模型 Z 值为零,会钻入地下。有两种方式可以解决。 解决方法一:

打开 iDesktop 桌面,找到并打开“三维数据 -> 模型工具 -> 地形修改模型”工具。

image-20210122100533768

image-20210122100750360

解决方法二:

在 3dsmax 界面,导出模型数据集时,指定插入点附带高程即可。

image-20210122101128575

为了与地形精确匹配,可以通过模型编辑微调模型高度,也可提取模型底面,与地形进行精确镶嵌

具体效果如下:

ud_loadmax

# Revit 数据处理

# 1 准备软件环境

Revit 2018安装包下载地址:百度网盘,提取码:3452

本文使用 revit 模型,原始效果如下:

image-20210126130612276

Revit 中存在项目基点,导出后在 SuperMap iDesktop 中查询得到的坐标 = 模型在 Revit 中的坐标 + 项目基点坐标 + 导出界面插入点坐标

注意: 项目测量点、项目基点归零。

# 2 Revit 数据导入

本文采用 iDesktop 10.1 自带的导入 BIM 功能模块(前提,需要安装Revit 2017及以上版本),导入 Revit 样例数据。

动态演示,仅供参考。

注意:

1、设置插入点,需要设置对应坐标系

ud_rvt

# 3 iDesktop 数据适配

问题一:模型部分被地形淹没,如下图所示:

image-20210126153736779

解决方案,详见动态演示:

1、提取地形_rvt模型的投影面,合并处理

2、二维投影面三维面,指定高度为MinZ

3、对 TIN 地形进行镶嵌处理,导入步骤 2 中处理的三维面,执行

ud_xq

问题二:植物丢失纹理,如下图(超图回复,此问题在以提供导入模式中存在,使用其他方式代替此树)

image-20210126151723967

解决方案,详见动态演示:

1、提取植物模型底面,剔除非必要元素

2、数据—>类型转换中,二维面

3、二维点三维点,指定MinZ高度值

4、根据植物类型,制作三维单值专题图

5、修改专题图(在线符号库下载三维点符号:花草 3D,树木 3D)

ud_tree

最终数据展示:

image-20210126161407151

# 三维管线数据处理

三维管线数据处理方法详见,分享文章

image-20210127160407266

本文参照管线数据标准,手作了给水(燃气)排水(褐色)燃气(粉红色)的动态纹理。

蓝色 褐色 粉红
最终效果如下图:

ud_pipe

# 倾斜数据处理

倾斜数据什么情况下需要进行合并根节点?合并几次?具体操作如下:

在 iDesktop 打开倾斜,利用文件选择功能选择某个 Tile,然后量算一下这个Tile的边长300-500最合适。如果边长较小就需要合并根节点,合并根节点是合并一次减少为之前的 1/4。

详见动态演示:

ud_osgb

最终数据成果展示:

image-20210128130101077

# 发布服务

# 生成场景缓存

这里需要注意一点:

三维符号化生成的树,生成缓存格式为矢量(CSV)格式

生成缓存

最终效果如下图所示:

ud_scene