zoukankan      html  css  js  c++  java
  • CesiumLab V1.4 新功能 BIM数据处理

     我也没想到,BIM数据处理一下拖了这么久才有个交代。我们照例先放图

     
    Revit官方的示例数据
     
    隐藏屋顶+俯视
     
    曾经因为太大而无法导出无法处理的医院模型
     
    室内装修方案模型

         最近和很多做bim的同行聊天,业内公认,目前 revit 在国内的BIM软件占有率大约在80%~99% ,也就是说搞定rvt模型,基本满足了绝大部分的需求。最开始可选的几种方案:

    1,revit 导出 ifc,cesiumlab处理ifc格式;

         此方案很快被否,原因是ifc并不能很好的保持revit内的相关属性,而且revit对ifc的导出和导入极度不友好。

    2,revit 导出dae,obj等模型格式;

        这个方案部分模型基本没有问题,但是对于大模型,基本没有几个插件能成功导出。另外这些格式不能保存bim属性,所以也被否决。

    3,revit直接导出3dtiles; 

            这个方案对大多数用户来说是比较方便的。但是这种一步到位的方案,对我的开发带来极大的工作量,涉及到大量c#到c++之间的接口封装,短期内是不可完成的,遂放弃。

    4,revit导出自定义格式;

        这就是目前用的方式,我导出的中间格式有三种文件:

         1) .lab 模型索引文件,引用了element文件

          2) .ele element定义文件,包含了element的bim属性以及 三角网数据

          3).ins instance定义文件,包含了instance的三角网数据。对部分rvt模型,里面有大量重复的instance标示不同位置的elements,这个文件会被多个ele文件共享引用,这样大大加速导出过程。

      注意:因为实在精力有限,目前插件仅仅支持 revit 2018版本,请不要问我低版本怎么办,解决办法你懂的。

    ok,大家是等不及了吧,我们来说说怎么做。

    一,安装revit插件

     
    cesiumlab安装目录下的revit导出插件

         把这三个文件拷贝到如下图所示位置

     
    插件拷贝到这里

    二,打开revit 2018

         第一次会提示是否加载插件,请选择 总是加载。

          打开你准备的rvt模型,切换到3d视图

     
    调用导出插件菜单
     
    导出插件界面

    自上而下:

    第一行:方便我调试的功能,请忽略。

    第二行:导出元素,【全部】就是所有element,【导出选中】就是导出当前选中的element。第三个调试使用,请忽略。

    第三行:LOD,revit 通过Lod 来控制当前模型显示的精细程度,因为没有找到相关资料,大概测试这个LOD的范围是 0~15

                  0 表示最粗略,15表示最精细。对于一些超大模型,建议LOD选低一些。

    第四行:右侧按钮选择一个待输出的.lab文件。

    第五行:进度条 和 【导出】按钮

    三,cesiumlab内处理

     
    选择这个功能
     
    导出参数界面

         这个界面基本和场景处理没有任何区别。就不在赘述了。

          处理结束后,一样可以发布为3dtiles服务,并预览。

    后记:

    这次耗时超过预期的主要原因是:

    1,从小白开始学习revit二次开发,加上不断的修改导出格式,加快导出速度,时间就多了一些。

    2,在做bim的同时,其实也在优化场景处理。底层场景处理和bim处理目前基本是一致的,只是输入不同。

        最后感谢在开发过程中给我提供过帮助的 @李仙伟  @丰,两位无私的分享加快了开发的速度,谢谢。也同时感谢提供我测试数据的各位朋友,以及一直在使用cesiumlab的朋友们,没有你们,就不会有cesiumlab的进步。

     
    中国最专业的Cesium开发者社区




  • 相关阅读:
    SQL Server 2008R2 附件数据库问题记录
    关于.NET C#调用Sqlite的总结二
    关于.NET C#调用Sqlite的总结一
    MS Server中varchar与nvarchar的区别
    Intellij IDEA中使用Debug调试
    使用idea关联mysql时报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon'
    学Redis这篇就够了
    java的动态代理机制详解
    mybatis-sql执行流程源码分析
    mybatis
  • 原文地址:https://www.cnblogs.com/cesium1/p/10062832.html
Copyright © 2011-2022 走看看