我也没想到,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开发者社区

CesiumLab V1.4 新功能 BIM数据处理的更多相关文章

  1. CesiumLab V1.2 新功能 倾斜数据处理

    一转眼又是一周的时间,我们的实验室功能又强大了. 照旧我们先放毒,放图,图,太晚了,字都敲不到一起了   lod以及包围盒   大雁塔实例,按楼层单体化   倾斜数据处理参数设置 简单介绍一下 Ces ...

  2. CesiumLab V1.1 新功能 (免费Cesium处理工具集)

    Cesiumlab 自从上周(3月20日)发布之后,赢得小伙伴一致好评. 本周继续推出重大更新: 建筑物矢量数据 转 3dtiles,  建筑物矢量数据 转 3dtiles,  建筑物矢量数据 转 3 ...

  3. CesiumLab V1.3 新功能 MAX场景处理(免费Cesium处理工具集)

    每次到写文章的时候就很高兴,意味着又有重大功能更新了,也意味着10多天昏天黑地的闭关日子暂时结束了. 依照惯例,先放图   小范围精模型cesium加载效果   大范围白模cesium加载效果     ...

  4. 直播预告 | 猪齿鱼V1.1发布,线上新功能详解邀您参加

    2021年11月11日,数智化效能平台猪齿鱼 Choerodon发布 V1.1版本,多项功能新增或优化,多管齐下,全面提升团队工作效能! 通过提供体系化方法论和协作.测试.DevOps及容器工具,猪齿 ...

  5. OpenStack Q版本新功能以及各核心组件功能对比

    OpenStack Q版本已经发布了一段时间了.今天, 小编来总结一下OpenStack Q版本核心组件的各项主要新功能, 再来汇总一下最近2年来OpenStack N.O.P.Q各版本核心组件的主要 ...

  6. JPA2.1 中三个提升应用性能的新功能

    经常在网上看到开发者们抱怨 JPA 性能低下的帖子或文章,但如果仔细查看这些性能问题,常会发现导致问题的根本原因大致包括以下几个: 使用过多的 SQL 查询从数据库中获取所需的实体信息,即我们常说的n ...

  7. CloudStack 4.2 新功能:集成SNMP进行系统监控(原理篇)

    作者微博:http://weibo.com/tianchunfeng CloudStack 4.2 版本发布在即,相信不久后对 4.2 版本新功能(共有13个)的介绍会逐渐多起来.因为无论是从架构底层 ...

  8. [译] OpenStack Pike 版本中的 53 个新功能盘点

      原文:https://www.mirantis.com/blog/53-things-to-look-for-in-openstack-pike/ 作者:Mirantis Nick Chase 发 ...

  9. Eviews 8.0&9.0界面新功能介绍

    Eviews 8.0&9.0界面新功能介绍 本文其中一些是自己的整理,也有一些是经管之家论坛中一位热心.好学坛友的整理,其中只是简单介绍一下这两个新版本的部分特性,分享出来,有兴趣的看客可以一 ...

随机推荐

  1. commons lang3的StringUtils中isEmpty()方法和isBlank()方法的区别

    先给结论: 1. StringUtils.isEmpty()中的空格作非空处理2. StringUtils.isNotEmpty()是StringUtils.isEmpty()取反后的结果3. Str ...

  2. nodejs vue-cli 微信公众号开发(一) 申请域名搭建服务器

    一.搭建本地服务器 1.首先保存本地的80端口被node监听,利用内网穿透工具把80端口映射出去.(ngrok工具可以穿透内网使本地ip作为外网使用) 2.打开https://natapp.cn/tu ...

  3. SpringData_03_Specifications动态查询

    有时我们在查询某个实体的时候,给定的条件是不固定的,这时就需要动态构建相应的查询语句,在Spring Data JPA中可以通过JpaSpecificationExecutor接口查询.相比JPQL, ...

  4. SpringCloud学习笔记(一):SpringCloudt相关面试题

    什么是微服务? 看笔记二 微服务之间是如何独立通讯的? 服务与服务间采⽤轻量级的通信机制互相协作(通常是基于HTTP协议的RESTful API) SpringCloud和Dubbo有什么区别? Du ...

  5. Git 之 版本回退

    1. git log 定义:该命令显示从最近到最远的提交日志.每一次提交都有对应的 commit id 和 commit message.    

  6. Spring MVC(十二)--使用ModelView实现重定向

    上一篇总结了使用返回字符串的方式实现重定向以及重定向过程中传递字符串参数和pojo参数的过程,本篇总结另一种重定向的实现方式--返回ModelAndView 这次的场景是这样的:在页面输入一些信息添加 ...

  7. Linux查看温度

    step 1: centos $ sudo yum install lm_sensors ubuntu $ sudo apt-get install lm_sensors step2$ sudo se ...

  8. linux socket error code

    errno.00 is: Successerrno.01 is: Operation not permittederrno.02 is: No such file or directoryerrno. ...

  9. MySQL模拟Oracle序列使用

    https://www.runoob.com/mysql/mysql-using-sequences.html   一篇笔记开始看 注意:创建序列表时一定要有 主键id自增,否则为只读状态不能修改递增 ...

  10. sshd配置文件详解

    [root@test ~]# cat /etc/ssh/sshd_config # $OpenBSD: sshd_config,v // :: reyk Exp $ # This is the ssh ...