基于Revit API的BIM数据提取方法研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年10月10日第4卷第19期
现代信息科技
Modern Information Technology
Oct.2020 Vol.4 No.19
21
2020.10
收稿日期:2020-08-24
基金项目:国家级大学生创新创业训练项目(201910616042)
基于Revit API的BIM数据提取方法研究
李栋,王宇杰
(成都理工大学,四川 成都 610059)
摘 要:建筑信息模型技术在现今建筑行业中有着广泛应用,但在技术应用上仍有一些问题亟待解决,比如把BIM 通过Web 端展示将极大提高便携性和跨平台性。

针对上述问题,提出一种基于Revit API 的相对高效的BIM 模型数据和材质信息的提取方法。

通过Revit API 提供的函数对对象的信息结构和获取方法进行研究,形成基于类型过滤的数据提取方案。

所述方法实现了.rvt 文件BIM 模型和材质信息的数据提取,可供前端展示时进行数据库的信息查询、模型渲染、材质数据显示。

关键词:BIM ;三维可视化;Revit ;二次开发;数据库;数据提取中图分类号:P23;TP391
文献标识码:A
文章编号:2096-4706(2020)19-0021-03
Research on BIM Data Extraction Method Based on Revit API
LI Dong ,WANG Yujie
(Chengdu University of Technology ,Chengdu 610059,China )
Abstract :Building information modeling technology is widely used in today ’s construction industry. However ,there are
still some problems to be solved in the technical application. For example ,displaying BIM through Web terminal will greatly improve portability and cross-platform. To address the above problems ,a relatively efficient extraction method of BIM model data and material information based on Revit API is proposed. The information structure and acquisition method of the object are researched through the functions provided by the Revit API to form a data extraction scheme based on type filtering. The method implements data extraction of BIM model and material information from .rvt files ,which can be used for database query ,model rendering and material data display in front-end display.
Keywords :BIM ;3D visualization ;Revit ;secondary development ;database ;data extraction
0 引 言
20世纪70年代,乔治亚理工学院的教授Chuck Eastman 引入了BIM (建筑信息建模)的概念。

中国也非常重视BIM 技术的发展和应用,国务院办公厅2017年《关于促进建筑业持续健康发展的意见》中也明确阐述了BIM 的重要性。

BIM 涉及的行业非常广泛,不仅应用于建筑领域,水利、交通等行业也得到了基本普及。

作为建筑设计的新技术,BIM 技术使用现代信息技术统一各种资源,和实际操作联系在一起,并将各种信息整合在三维模型数据库的设计、建设、运营和完成建筑的整个过程中,从而有效地解决了建筑从设计、建设到运营、维护的整体协同工作的问题。

中国的BIM 技术应用起步较晚,直到2005年,欧特克为推广其软件在国内宣传BIM 进入中国,BIM 的概念才逐
渐在国内得到认知。

《2010中国商业地产BIM 应用研究报告》和《2011中国工程建设BIM 应用研究报告》在一定程度上
说明了BIM 在中国工程建筑行业的发展现状。

根据这两份报告,国内建筑行业对于BIM 的认知水平从2010年的60%上升到2011年的87%。

2011年,共有39%的单位表示他们
使用过BIM 相关的软件,其中大部分是设计单位。

到2020年底,甲级勘察、设计单位以及特级、一级房屋建筑工程施工企业应掌握和实现BIM 与企业管理系统的集成应用程序和其他信息技术。

建筑信息模型技术是建筑业信息化的体现,BIM 技术可将施工周期所有数据信息整合,为施工过程做好前期工作,同时,电子内容减少了信息格式与纸质文件转换,可极大方便人员作业,因此BIM 技术也越来越受到行业重视。

但在上述背景和实际项目需求下,BIM 作为一项快速发展的技术,仍有一些问题亟待解决。

例如,众多BIM 以Autodesk 公司的Revit 软件为工具进行制作,其保存的.rvt 格式文件只能在Revit 软件内查看,便携性较差,存在客户端软件固有的缺点。

若使用B/S 架构将BIM 置于Web 端进行展示,则能够极大方便设计和施工人员查看。

故本文提出一种方法,可将.rvt 格式模型文件的关键数据提取出来以供Web 端展示所用。

本课题小组隶属于成都理工大学信息科学与技术学院软件工程系,在合作项目的建筑施工设计阶段遇到设计沟通烦琐、效率低下等问题,故开展此项研究,以解决BIM 展示方式单一等问题,从而节省时间的目的。

项目整体流程大致为“数据提取-信息持久化-渲染展示”。

前期任务主要是确定提取方法和信息持久化数据结构,即所述研究内容,并为课题小组内其他后续研究如“Revit 几何模型提取与Web 可视化研究”提供基础。

DOI:10.19850/ki.2096-4706.2020.19.005
第19期现代信息科技
22
2020.10
1 基于Revit API 数据提取方法介绍
1.1 Revit API 简介
Revit API 是Autodesk 公司为开发者提供的Revit 应用程序的开发接口,为开发者基于Revit 软件的二次开发工作提供了强有力的支持。

Revit 为开发者提供了丰富而强大的.net API ,可用于自动化重复性的任务,扩展Revit 的核心功能。

Revit 提供的.net API 允许用户使用 、C#和C++/CLI 等任何.net 兼容的语言进行编程。

1.2 Revit API 的优点
通过Revit API 可以极大程度地将Revit 的强大功能应用
在其他平台上,可以更高效的二次开发,实现性能、便捷等方面需求。

它使用两种方式来扩展Revit 功能:一种是Revit 自带的,使用Revit API 中直接为开发者提供的函数;另一种是开发者自行编写。

本文所述方法利用Revit API 使用数据名称进行查找访问所需数据。

1.3 数据提取方法
在Revit 中有一个重要概念——族(family )。

本文所述的方法即使用Revit API 依次确定族类别、族类型、族实例。

首先使用类型过滤,即可得到每种数据类型。

根据得到数据类型的不同,使用相应的用于获取数据的Revit API 函数进行数据提取。

程序运行过程中函数返回的结果存放于内存中,待模型信息和颜色信息提取完成写入JSON 文件持久化保存,材质预算等信息在提取完成后存入搭建好相应表结构的MySQL 数据库。

两部分数据在Web 端展示时可由系统同时调用组合展示。

2 数据提取主要方法
2.1 设计思路
本小节介绍数据提取的思路要点和注意事项。

主要思路为使用Revit API 提供方法提取BIM 中的数据属性信息和模型信息,存放在已建立完整数据结构的数据库表中。

实现过程需要注意以下要点:
(1)一般的BIM 模型材质信息都十分复杂、细节较多,所以对于建筑模型中的各项具体构件,将其在数据库中按一定规则进行存放;
(2)将模型的图形构建信息和模型各材质的参数属性信息分开提取,模型文件变为纯图形文件,不带任何参数信息,存放在本地或服务器中。

各构件属性信息通过其ID 访问,由其对应的Revit API 获取其材质参数(若是在Revit API 中没有对应的参数,需要先在该文件中写好),提取后放入各构件所对应的数据表中;
(3)构件的信息除自身拥有的由数据提取所需的ID 外还映射对应模型的ID 及对其信息文件的操作所需的ID ,并为所有的映射建立一个映射表。

2.2 数据库设计
以建筑的词汇按照规定的建筑语法进行构建设计的建筑能给人们带来更为直观的感受,所以在庞大的建筑词汇中,有必要归纳总结出一些常用的词汇,便于设计和使用,从而提高工作效率。

故根据Revit 自身元素参数进行分类,以常
用参数举例,如:墙体(wall )、楼板(floor )、柱(column )、屋顶(roof )等常用结构构件以及门(door )、窗(window )、家具(elseelement )、植物(plant )等附着构件。

本文提出的方法需要对数据库进行设计实现,将整理设计好的建筑词汇制作成数据库表的形式添加所需数据列,其数据结构如图1所示。

边长边长
体积体积
位置
位置
材质
材质刚体构件
附着构件
表面积
表面积
质量质量
组合
N
N 图1 模型构件数据E-R 图
运用Revit API 将需提取的元素参数数据存入数据库中并标记所属模型ID 和所属用户ID 以实现多用户和多模型数据。

由于Revit 二次开发是以C#进行代码编程的,因此本课题选取了SqlSugar ORM 作为数据库连接访问库,其优势在于以下几点:
(1)高性能,达到原生最高水准,比SqlHelper 性能要高,比Dapper 快30%,比EF 快50%;
(2)支持多种数据库,可以在多种数据库中用一种编程方式;
(3)支持.netCore ;
(4)支持多库并行计算;
(5)带有实体生成函数和T 4模版生成实体;(6)无须任何配置,主键可为若干个;
(7)轻量级,一个DLL 只有150 kB ,一个EFDLL 有5 MB ,一个EF 扩展DLL 有500多kB 。

因此在众多.NET 框架中,SqlSugar ORM 是较为容易使用的数据库访问库。

运用所给出的API 可以很好地实现本文中所述方法对数据的处理。

2.3 实现过程
为实现数据的分别提取,并尽可能减少程序运行时的负担,提高数据存取速度,实现对Revit API 高效二次开发的目的,该小节设计实现了一个将基本功能进行封装的插件。

插件的工作流程如图2所示。

开始
手动模式建立客户端连接输入Revit 文件地址输入模型文件导出地址
结束
与客户端自动完成交互并导出
建立客户端连接自动模式仅模型导出仅数据导出全部导出
图2 插件工作流程图
Revit API的二次开发可以有效地将BIM模型的材质属性数据与三维图形数据分离,并分别保存,关系型数据库能够实现各属性值相互关联的存储办法。

数据部分可单独用于数据分析,模型部分可结合属性参数用于网页端快速该提取技术在一定程度上提高了BIM模型的加载速简化了参数信息的获取,模型信息和参数信息既单独存储用又同步加载展示,在智能建造领域有引鉴之处。

.基于二次开发方法的BIM模型数据提取方法研究
2019,38(8):159-161.
李驰,孙红,等.面向BIM模型二次开发数据提取
沈阳建筑大学学报(自然科学版),2019,35(3):560-566.
[3] 伍丹琪,陈俊涛,肖明.基于Revit二次开发的泵站厂房参数化BIM解决方案[J].水电与新能源,2019
18+68.
[4] 陈志杨,罗飞.基于WebGL的Revit三维建筑模型重建[J].浙江工业大学学报,2016,44(6):608-613.
[5] 陈宁.试析Revit三维显示技术的开发与应用
术与应用,2019,37(1):117-118.
[6] 王凤起.BIM技术应用发展研究报告
2017,48(11):1124-1126.
[7] 包行健.BIM技术在建筑设计中运用和发展趋势
室内装饰装修天地,2019(24):177.
作者简介:李栋(1998.11—),男,汉族,
科在读,研究方向:软件工程。

图3 提取效果
.统计信息化和统计在大数据时代下的发展 [J].中(23):68.
大数据背景下统计信息化的应用研究 [J].中国管理22(15):152-154.
大数据环境下统计信息化建设的思考 [J].科技创新):59-60.
.大数据时代下对统计工作的思考 [J].中国管理信息化,2018,21(10):155-156.
[5] 汪兢兢.大数据环境下的服务业统计构想
实践,2014(6):48-50.
[6] 郝利娟,刘冬枝.智慧城市时空大数据云平台建设技术大纲研究 [J].地理空间信息,2019(6):33-35+5.
[7] 梅兵.探索新时期的智慧统计体系[J].
通,2017(8):273.
作者简介:洪德法(1985—),男,汉族,山东聊城人
职称,硕士,研究方向:地理信息系统研发。

相关文档
最新文档