BIM(Building Information Modeling)建筑信息模型。首先由AutoDesk公司提出的技术,用来帮助实现建筑信息的集成,从建筑的设计、施工、运行直至建筑全寿命的周期终结,将各种信息整合到一个三维模型数据库中。设计团队,施工单位、设施运营等多方面人员协同工作,提高工作效率、节省资源、降低成本、以实现可持续发展。
BIM的核心是通过建立虚拟的建筑工程三维模型,利用数字化技术,为这个模型提供完整的、与实际情况一致的建筑工程信息库。该信息库不仅包含描述建筑物构件的几何信息、专业属性及状态信息,还包含了非构件对象(如空间、运动行为)的状态信息。借助这个包含建筑工程信息的三维模型,大大提高了建筑工程的信息集成化程度,从而为建筑工程项目的相关利益方提供了一个工程信息交换和共享的平台。
BIM有如下特征:它不仅可以在设计中应用,还可应用于建设工程项目的全寿命周期中;用BIM进行设计属于数字化设计;BIM的数据库是动态变化的,在应用过程中不断在更新、丰富和充实;为项目参与各方提供了协同工作的平台。
BIM常用得数据格式包括DWG、DXF、DGN、RVT、NWD等。
数据格式 |
数据介绍 |
导入说明 |
.rvt |
RVT文件是有Revit产品生产的BIM数据。Revit是Autodesk公司一套系列软件的名称。Revit系列软件是专为建筑信息模型(BIM)构建的,可帮助建筑设计师设计、建造和维护质量更好、能效更高的建筑。 |
系统安装有 Revit 软件(目前支持 2016——2022 七个版本)。 Revit2022及以后版本不支持iDesktop直接导入,读rvt数据的接口封了,只支持插件的方式,后续会把插件改造成支持批量处理的方式。 |
.dwg |
DWG是电脑辅助设计软件AutoCAD以及基于AutoCAD的软件保存设计数据所用的一种专有文件格式。 |
【导入方式】: 1.二维矢量的dwg直接以导入数据集的方式导入 2.三维模型的dwg以插件方式导入 【插件说明】: 1.系统安装有 Autodesk AutoCAD Civil 3D 软件; 2.需要超图组件许可 |
.dgn |
DGN 是奔特力(Bentley)工程软件系统有限公司的MicroStation 和Intergraph公司的Interactive Graphics Design System (IGDS)CAD程序所支持的文件格式。 |
【导入方式】: 1.二维矢量的dgn直接以导入数据集的方式导入 2.三维模型的dgn以插件方式导入 【插件说明】:Bentley插件 1.系统安装有 MicroStation CONNECT Edition Update14、15、17版本软件; 2.需要超图组件许可。 3.Bentley其他系列软件,如:OpenBuildings CONNECT Edition;需要通过imodel中转为MicroStation CONNECT Edition通用格式.dgn后再导出 |
.nwd/.nwd/ .nwf |
NWD是Navisworks数据文件,所有模型数据、过程审阅数据、视点数据等均整合在单一nwd文件中,绝大多数情况下在项目发布或过程存档阶段使用该格式。 |
【插件说明】:Navisworks&PDMS 导出插件 1.系统安装有 Navisworks Manage 2020 软件。 2.支持直接读取并导出的数据格式:.nwd 与.rvm。 3.支持 Autodesk Inventor 的.iam 数据,通过 navisworks 中转,再用SuperMap对应插件"Navisworks&PDMS 导出插件"导入udb. 4.支持 Rhino(犀牛)的.3dm 数据,通过 navisworks 中转,再用SuperMap对应插件"Navisworks&PDMS 导出插件"导入udb。 |
.ifc |
IFC标准是国际协同工作联盟IAI为建筑行业发布的建筑工程数据交换标准。目前常用的BIM软件如Revit、Bentley、Tekla等都已支持导出IFC格式的BIM数据。IFC由buildingSMART在维护;IfcOpenShell开源 ( LGPL ) 软件库,用于处理工业基础类 ( IFC ) 文件格式。 |
【插件说明】:IFC导入UDB工具 1、运行IFCToolkit.exe 2、支持的版本:IFC2x3、IFC2x2、IFC2x_、IFC20、IFC4x、IFC4、IFC2x4 |
.gml/.xml |
CityGML是一种用于虚拟三维城市模型数据交换与存储的格式,是用以表达三维城市模板的通用数据模型。它定义了城市和区域中最常见的地表目标的类型及相互关系,并顾及了目标的几何、拓扑、语义、外观等方面的属性,包括专题类型之间的层次、聚合、目标间的关系以及空间属性等。 CityGML是一种开放数据模型,它基于XML来实现虚拟三维城市模型的数据存储与交换,它是GML 3的一种应用模式,GML 3是由OGC和ISO TC 211制订的可扩展的国际标准,可以用于空间数据交换。 CityGML 是国际 OGC 标准,可以免费使用。 |
【插件说明】:GIM2UDB 1.目前工具支持前两种模型:变电站及输电线。 (1)变电站模型将直接导入为 Model 数据集,模型数据集名称为 gim 文件名,电力线以线数据集存储(数据集名称:gim 文件名+“_Wire”)。Web 端使用直接生成 S3M 即可。 (2)输电线路将导出为三维点数据集(数据集名称为 gim 文件名)及对应的模型文件(gim 文件名+“_Models”命名文件夹),电力线以线数据集存储(数据集名称:gim 文件名+“_Wire”)。点数据集外挂模型也可以批量导入为模型数据集(方便检查模型);也可以采用点外挂生成模型缓存的方式加载。推荐第二种用法(数据不膨胀) 2.启动 BIM 工具里的 GIM2UDB.exe。 3.在 log 文件夹中,新增了输出日志,输出 GIM 数据不标准的具体位置。(-999) |
Tekla |
Tekla Structures是芬兰Tekla公司开发的钢结构详图设计软件,它是通过先创建三维模型以后自动生成钢结构详图和各种报表来达到方便视图的功能。 |
【插件说明】:系统安装有 Tekla Structures 软件(目前支持 2018,2019 两个版本)。 |
上述所需导出插件可在下方地址下载
插件下载地址:三维插件
如导出模型出现问题可参考文档SuperMap GIS三维插件使用Q&A
使用插件导出后的BIM数据都统一在数据源中存储为模型数据集,常规的模型都是根据投影坐标系所创建的,而导出我们通常没有给模型设置对应坐标系,而是直接使用平面场景导出的。所以需要根据原始数据设置对应的坐标系。右键【数据源】选择【属性】。在属性面板中选择坐标系中第一个【重设坐标系】,对数据重新配置坐标系。
配置好的模型,通过右键【数据源】,导入到球面场景即可将模型添加至场景中。
为了提升三维的用户体验和性能,此时还需要将数据生成缓存。
将模型数据生成缓存可分为两种方式,一种是多个模型数据集批量生成到一个缓存图层中,另一种是每个数据集分别生成一个缓存图层。对于RVT模型来说,一般采用批量生成缓存的方式,它的主要优势在于能够减少图层数量,加强系统调度。
操作方法:打开数据源文件,使用“批量生成缓存”功能(三维数据-生成缓存-批量生成缓存-模型),添加多个模型数据集,批量生成S3M缓存,以提升模型浏览性能。
设置缓存参数
设置“缓存用途”参数,主要包括普通PC设备和iOS系列设备、Android系列设备和不压缩,对于不同用途的缓存,应用程序将采用不同的纹理压缩方式,以减少纹理图像所使用的显存数量。
若需要将模型添加到平面场景中,可以将“场景类型”改为“平面”。
设置“LOD层数”以及每层数据的简化率,当三维场景拉近看的时候,模型呈现最精细的一层,当浏览整个场景的时候,模型只需要以较粗糙的方式显示即可,这样最大程度的优化资源的占用,提高整个三维场景的性能。
参考文章地址:SuperMap GIS发布三维服务流程
(1)获取三维服务地址
在三维服务根目录下,点击“Realspace”进入3D资源,即三维服务根节点地址:
(http://localhost:8090/iserver/services/3D-BIM/rest/realspace),用于在Web端访问发布的三维场景。
(2)创建WebGIS工程
直接使用SuperMap iServer自带的Tomcat进行工程发布。在SuperMap iServer安装目录下的webapps文件夹中,创建工程目录“HelloWorld”,将SuperMap iClient 3D for WebGL中的Build文件夹复制到工程目录中。其中最重要的是Build\Cesium文件夹,它包含了Cesium.js及所有需要的依赖文件。
(3)实现场景加载
在工程目录中创建HTML文件—HelloWorld.html,添加对Cesium.js文件的引用,添加对widgets.css样式文件的引用,然后在窗体加载响应函数中,实例化Viewer,并通过viewer对象获取到场景对象scene,再获取到在线三维场景服务地址,最后通过scene对象提供的open方法,打开在线三维场景。具体代码如下:
CBD
.min-solider {
background: rgba(51, 51, 51, 1);
border: 1px solid rgba(60, 141, 188, 1);
color: #ffffff;
opacity: 0.6;
}
function onload(Cesium) {
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var widget = viewer.cesiumWidget;
scene.open("http://localhost:8090/iserver/services/3D-BIM/rest/realspace");
}
(4) 使用Chrome浏览器,访问http://localhost:8090/HelloWorld/HelloWorld.html,即可浏览三维场景中的RVT模型数据。
在给模型重设坐标系后,再将模型添加至场景中。偶尔会出现定位模型定位不到,或者直接视角穿到地下。
问题原因:
场景中定位不到模型,通常是由于包围盒范围导致的。而包围盒范围的计算取决于原始数据的范围,建模不规范会导致模型中包含错误数据。而错误数据则会影响到模型包围盒的范围。
解决方法:
如果可以从原始数据中处理掉错误数据则再原始建模软件中处理。如果为已经导入数据,则需要找出错误数据。使用【三维数据】-【模型工具】-【属性提取】功能,对数据进行提取,将顶点数量以及表面积提取出,提取后的属性表中会增加顶点数量以及表面积字段,将顶点数小于等于4的模型删除,或将表面积为0的删除。删除后右键模型数据集,对模型【重新计算范围】即可。
模型在缓存过程中,如果未对模型进行优化处理。个别模型会出现整个软件直接闪退或卡死的情况。
问题原因:
单个模型对象中存在大量的子对象。而子对象过多则会导致整个场景跑不动的情况。我们可以在模型的属性中查看单个模型中包含多少子对象。
解决方法:
1.模型子对象过多,我们需要对模型拆分。如果模型可以在场景中正常加载,我们可以直接在【三维地理设置】-【模型编辑】-【模型拆分】将子对象拆解出来。
当然部分模型会出现放到场景中就会闪退的情况。这个时候我们则需要使用iDesktopX的工具箱中的【模型拆分】工具。iDesktopX的模型拆分不需要将数据添加至场景中即可完成拆分。
2.拆分后模型缓存依然闪退?
拆分后的模型只是将子对象拆出去,但是如果模型中存在单个较大对象,三角网较多的。则依然会导致失败。使用【三维数据】-【模型工具】-【模型检查】查看当前场景中模型三角网个数,出现较大模型继续处理。使用【属性提取】功能,将顶点数量进行提取,针对顶点数量较高的模型单独处理。处理方式根据模型本身情况来修改。如【三角网简化】【模型切分】等。同时【属性提取】后顶点数量小于3的数据也为错误数据要进行删除处理。
问题原因:
导入后的数据集,由于建模不规范可能会出现闪面的情况。
解决方法:
场景属性中开启【深度优化】以及【透明优化】