一、使用条件:
1.系统安装有 Revit 软件;
2.需要超图组件许可;
3.在 Revit 中的三维视图下导出数据。
二、使用方法:
1.根据安装的 Revit 版本,将对应版本的插件库文件 RevitPlugin.dll 及配置程序 WriteAddin.exe 拷贝覆盖至组件包(Bin_x64)目录下,并运行该配置程序。
2.将组件包(Bin_x64)文件夹设置为系统环境变量,并确保其在path路径的最前端。
3.启动方式:打开Revit软件,在主菜单-附加模块中,点击UDB图标,弹出导出窗口。
4.导出网络数据集:如果Revit中存在管线、风管、电缆架桥等,勾选后可以导出相应的三维点、线数据集,由三维点、线构成三维网络数据集。
三、常见问题及解决方法:
3.1 插件安装导致的错误
3.1.1 导出模块未能引用到正确的RevitPlugin.dll 文件
首次使用时,Revit会弹出一个提示框,里面显示了当前使用的 RevitPlugin.dll文件的位置,可据此进行判断引用的dll文件是否正确。
如果没能引用到正确的RevitPlugin.dll文件,需手动设置其位置:
C:\Users\Administrator\AppData\Roaming\Autodesk\Revit\Addins\2017 文件夹下(如果是
2018版本的Revit,则进入2018文件夹),通过记事本打开SuperMapExporter.addin文件,将
RevitPlugin.dll文件的地址填入 之间。
3.1.2 系统环境变量设置有误
运行插件时,需要将组件包(Bin_x64)文件设置为系统环境变量,并确保其在path路径的最前端。且组件包(Bin_x64)文件夹不能重命名。不建议放到系统盘。如果设置正确,仍提示错误,需重启电脑。
3.2 模型的绝对位置发生偏移
Revit中存在项目基点,导出后在SuperMap iDesktop中查询得到的坐标=模型在Revit 中的坐标+项目基点坐标+导出界面插入点坐标。
项目基点打开设置:视图->可见性/图形->模型类别->场地,勾选项目基点。
后续也可通过SuperMap iDesktop中的配准,平移等功能进一步调整模型的位置。
3.3 模型对象有丢失或增加
3.3.1 丢失体量相关的数据
早期插件版本可能存在没能导出体量模型的情况,目前更新后的插件版本都会对体量数据进行导出。
另外,在通过SuperMap iDesktop直接导入Revit数据的方式中,默认是不导出体量数据的,但可以通过高级设置中的“导出体量”勾选框来进行控制。
3.3.2 丢失 dwg 格式的模型对象
有些数据中dwg格式的对象是作为底图存在的,并不希望被导出,因此目前版本的插件默认不导出该类对象。后期有些用户把dwg格式的对象作为模型的一部分,希望能够导出,这种用户可以先出临时包,后续我们会开放出来进行选择导出。
3.4 模型的材质发生变化
3.4.1 如何导出模型过滤色
如果模型在属性中设置了过滤,见下图所示,如何导出与Revit中的颜色一致的效果:修改插件文件夹下 RevitPlugin.xml 文件中“ FilterColor ”的参数为“ true ”。
3.4.2 多重纹理导致的问题
主要表现为在Revit的材质-外观面板中,除了设置了常规的图像贴图之外,还设置了其它类型的贴图(图中所示在高级高光控制中另设置了一个贴图)。导出之后,在SuperMap iDesktop中查看材质,发现在SuperMap iDesktop中对两个贴图进行了混合显示,导致图像的显示变暗。
解决方法:建议在Revit中,只使用一张基本纹理贴图。这里将高级高光控制中的贴图改为纯白色,重新导出即可得到正确的效果。
3.4.3 模型上的贴花导出之后发生丢失
目前并不支持通过贴花插入的图片。
解决方法:1.通过使用材质贴图的方式插入图片;2.通过SuperMap iDesktop给模型重新赋纹理。
3.4.4纹理贴图的比例发生了变化
这种问题不太常见,但是在个别用户的数据中碰到过,这里一并说下。
首先在Revit中进行观察,材质浏览器中该贴图的宽度设置为0.55m,但在界面中量算发现该贴图却占了近5m的宽度。显示出的效果与设置的效果并不一致。
将数据导出后,在SuperMap iDesktop中测量发现,该贴图的宽度为0.55m,与Revit 材质浏览器中设置的宽度一致。
解决方法:在Revit中重新设置合适的贴图样例尺寸,当Revit显示效果与设置宽度一致后,再进行导出。
3.4.5 玻璃材质未能够导出
Revit中的玻璃材质有两种制作方法:1.设置一个透明度(图1所示,设置颜色的透明度为90);2.设置玻璃的反射率(图2所示,设置玻璃的反射为15,即透过75%的光,反射
15%的光线)。
早期版本的插件,只支持方式1 中的半透明效果;2020-06-30 之后的插件版本,对方式2设置的玻璃材质也进行了支持。因此如果碰到类似效果的数据,只需更新插件版本重新导出即可。下图为对应的导出结果。
注:部分数据导出的模型数据集在加载显示的时候,玻璃的透明效果不正确,比如,透过玻璃直接看到了天空或者地球。这是由于建模的时候,模型的法线有误导致的。解决方法就是将模型数据集生成缓存,并开启场景中的OIT功能。
3.5 导出过程缓慢
3.5.1 模型本身存在较多的顶点个数导致的导出缓慢
一般情况下,异形结构的模型,自定义的族,复杂的模型常出现此现象。例如,下图数据中的一个栏杆模型,顶点个数就多达17万个,整个数据的导出用了将近2个小时。
解决方式:插件导出的时候默认会进行去处重复点以及创建LOD这两个步骤,如果碰到很复杂的模型,就会占用大量的时间。通过修改RevitPlugin.xml文件中“IsClosed”及“ExportLOD” 的属性为“false”;跳过这两个步骤进行导出。图中数据重新导出耗时仅2分钟。
后续如果需要去处重复点及生成模型LOD,可以使用SuperMap iDesktop中的“三维数据-模型校正-移除重复点”及模型数据集右键“创建模型LOD”功能进行处理。
注:通过SuperMap iDesktop直接导入Revit数据时,在设置面板中,同样可以通过取消勾选“导出LOD”和“拓扑闭合”来加快数据的导入。
原则上如果不是导出特别缓慢,不建议使用此方法。因为有时候后期重建LOD的效果会跟导出数据时建立的原生LOD有差别。我们目前正在优化原生LOD的构建方式,进一步缩短构建LOD所占的时间。
另外可以通过修改导出模型精细度“ExportDetail”值小于1,加快导出。具体设置的数值,根据项目上对模型精细度的要求来确定。
导出之后的处理:这样的数据导出之后无论是处理还是生成缓存都比较慢,如果存在较多的子对象,可以进行模型打散的处理;如果没有子对象,可以进行模型切分。
3.5.2 使用高版本的 Revit 软件导出低版本的数据导致的缓慢
该情况主要发生于电脑上安装有多个版本的Revit,且通过SuperMap iDesktop直接导入Revit数据的时候。因为SuperMap iDesktop默认调用的是电脑上最高版本的Revit,在对数据升级之后,再进行导入处理。
解决方法:通过指定SuperMap iDesktop调用的Revit版本来避免模型升级。通过记事本打开 Configuration 文件夹下的 SuperMap.Desktop.Parameter.xml 文件,修改:
。
还有一种情况就是一个文件链接了很多低版本的数据,导出的时候同样存在先升级链接文件,再进行导出的问题。建议先分别对链接文件进行升级,避免导出过程重复升级,保存后再进行导出。
3.6 属性相关问题
3.6.1 为什么导出后的数据集存在多个相同名称的属性
比如下图所示的一个数据中,在Revit里面查看,初支的“分项工程”属性值为“喷射混凝土支护”;门洞族的“分项工程”属性值为“洞门和翼墙浇筑”。通过插件导出后在 SuperMap iDesktop中查看发现,初支的属性“分项工程_1”值为“喷射混凝土支护”,“分项工程_2”无值;门洞族的属性“分项工程_2”值为“洞门和翼墙浇筑”,“分项工程_1”无值。
这是由于虽然在Revit中不同族对象都有分项工程这个属性,但在不同的族里面,分项工程的 ID 可能是不一样的。我们在导出后使用分项工程_1,分项工程_2的方式表示区别。
3.6.2 模型组的属性导出后丢失
有时在规划阶段设计的BIM模型,单个构件没加属性,只是给模型组对象设置了属性信息。在导出后,模型组的属性信息丢失。
目前并不支持导出模型组的属性。
3.7 语言相关问题
3.7.1 如何将 Revit 及导出插件设置为英文界面
将Revit界面设置为英文:首先我们找到Revit启动图标的桌面快捷方式,选中之后右键,选择属性;在快捷方式-目标中,将后缀CHS改成ENU。
插件界面的修改方式:在下载的插件资源中,找到 en-US 文件夹,将其拷贝到 Bin 包下,重启插件界面即可。
3.8 如何选择适合的导入方式
目前可以将Revit数据导入SuperMap iDesktop的方式有三种:1.启动Revit软件,通过插件的方式导出UDB数据;2.通过10.0.1版本的桌面直接导入Revit数据;3.通过10.1.0 版本的桌面直接导入Revit数据。
在这三种方式里面一共使用了两套方法:第一套方法用在10.0.1版本的桌面上;第二套方法用在插件及10.1.0版本的桌面上。第二套方法相对较新,目前比较推荐使用。
两套方法在处理数据上各有特点,有时存在某些数据更适合某个方法的情况,下面根据其中的一些区别进行介绍。
3.8.1 实例化对两种导入方式的影响
实例化处理时,第一套方法需要对族下面的对象及对象下的子对象分别依次进行比对,相对较为繁琐,尤其是在碰到下面两种类型的数据时,差别更为明显:
1.当数据中的大部分对象都在某一个族下面时,就会大大延长比对的时间,导致速度缓慢;
2.当单个对象下面的子对象很多时,也会导致速度缓慢。
第二套方法可以直接获取到模型的实例化信息,大大缩减了导出的时间。
3.8.2 曲面类模型对两种导入方式的影响
在模型导出的时候,第一套方法使用的是Face的方式;第二套方法使用的是Polymesh 的方式。
二者的主要区别在于对圆,圆弧,曲面等模型的处理上。
第一套方法,得到的结果法线稍差,顶点数较少,单个模型效果比较差;第二套方法,得到的结果法线比较好,顶点数也比较多,单个模型的效果比较好。
如果数据中有很多圆,圆弧,曲线这种模型,使用第二套方法的话,数据量膨胀就会比较明显,使用第一套方法,数据量就会比较小。如果数据中存在大量的曲面类模型,推荐使用第一套方法。