基于Revit与Matlab的监测数据更新与处理的集成系统及方法与流程

文档序号:11864945阅读:1179来源:国知局
本发明属于建筑业信息
技术领域
:,具体涉及一种基于Revit与Matlab的监测数据更新与处理的集成系统及方法。
背景技术
::随着科学的进步、经济的发展以及相应研究理论的成熟,结构设计的发展趋于大型化、复杂化,使得大型结构的健康监测系统也趋于大型化、复杂化。大型结构的健康监测测点数量大且监测时间长,容易产生大量的监测数据,在建筑生命期中,结构的安全施工以及安全运营、维修与养护是项目各个参与方所共同关注的,因此需要及时更新、存储并且与各方共享这批数据。同时结构的复杂性与荷载的不确定性还增加了结构健康评判的难度,对监测信息的分析与处理也成了国内外学者关注的热点与难点。只有通过合理精确的数据分析与处理,才能够对结构的安全性进行科学的评价,从而完成结构损伤的诊断以及结构寿命的预测。近年来,BIM(buildinginformationmodeling)建筑信息模型,自从建筑全生命周期管理的概念提出以来,BIM的诞生引起了建筑行业的广泛关注。BIM是一个具有信息集成、信息共享特性的平台,因此通过BIM技术与结构健康监测的集成,可以为结构健康监测提供一个三维可视化的、可开发的数字表达环境,有效提高监测信息的可视化与共享。同时,Revit软件是BIM中较为常用的软件,Revit具有开放的API,提供了可视化、可开发的友好界面,便于开发人员自主开发并完善与建筑工程相关的功能,因此基于Revit的研究和应用得到了快速发展。杨党辉等利用RevitAPI开发的接口,确保了结构的物理模型和分析模型在转换过程中的精度,解决了IFC只能够转换物理模型的问题;Chen等提出了二次开发Revit插件的方法,有效的促进了BIM技术的发展;Zhang基于Revit理想的三维的计算环境,将BIM技术与RFID技术相结合实现结构状态评估的自动化,通过收集结构生命期的监测信息实现结构状况的快速检查,提高了信息与模型的交互性;Park等基于BIM建立了在线监测系统,对结构所处的环境进行监测并将数据在BIM软件中进行显示,有效提高了数据的可视化,实现了数据的直观表达。但以上方法仅实现了数据在BIM中的可视化,并未有效解决数据的存取与分析,随着结构形式愈加复杂,在满足健康监测数据可视化的同时还需要满足监测数据存取与分析的需求,从而提高健康监测系统的性能。技术实现要素:有鉴于此,本发明的目的是基于BIM提供的开放与可视化的平台,满足健康监测数据可视化的同时满足监测数据存取与分析的需求,提供一种有效降低数据的理解难度,提高监测信息的管理效率,实现监测数据处理与分析的基于Revit与Matlab的监测数据更新与处理的集成系统及方法,从而提高健康监测的决策效率,更好地保证结构安全。为实现以上目的,本发明采用如下技术方案:基于Revit与Matlab的监测数据更新与处理的集成系统,该系统能够实现结构健康监测数据的集成与分析,该系统包括:监测数据更新模块、Matlab数据分析模块和监测数据可视化模块;监测数据更新模块,基于Revit实现传感器采集到的监测数据与分析处理后数据的更新,实现监测数据自动导入数据库中;Matlab数据分析模块,将传感器采集到的原始数据经过分析得到目标数据,将数据自动写入到数据库中,以便Revit对数据进行调用;监测数据可视化模块,基于Revit开放的API与ADO.NET数据访问体系实现对SQLSever数据库中数据的提取,通过应用程序提供的控件实现监测数据的可视化。进一步的,该系统能够实现监测数据的文本文件与SQLSever后台数据库系统之间的数据交互,用于自动保存和提取数据。进一步的,该系统能够实现Revit与SQLSever后台数据库系统之间的数据交互,可以实现数据的存储与可视化。本发明还提供一种基于Revit与Matlab的监测数据更新与处理的方法,该方法实现上述的集成系统,该方法包括基于监测数据更新模块提出Revit读取Windows文件夹以及文件的方法,实现将采集到的监测数据自动导入数据库中;具体步骤如下:步骤21,打开指定文件夹:通过Windows的浏览对话框打开保存监测数据的文件夹,并记录文件夹的路径;步骤22,读取文件列表:批量读取文件夹当前目录以及所有子目录下的监测数据文件;步骤23,使用流读取文件数据:使监测数据文件处于打开状态,以文件流的形式依次读取文件中的数据;步骤24,数据写入数据库:将所读取的文件数据写入数据库的数据表中,实现数据自动写入数据库中并实现数据表的自动更新。进一步的,所述基于监测数据更新模块提出Revit读取Windows文件夹以及文件的方法还包括:Revit通过Windows的浏览对话框读取保存监测数据文件的文件夹,并将数据自动写入数据库中;所述步骤24中,数据写入数据库便于Revit对数据进行调用。进一步的,在所述步骤24中,数据写入数据库步24中,首先需要在数据库的相应位置创建与监测数据相对应字段的数据表,字段是每一列数据的标识,不同的列具有不同的字段,便于将每一行数据放在相对应的字段下。需要补充说明的是,所述步骤24具体实现步骤如下:步骤241,创建数据表:在SQLSever数据库中利用相应的SQL语句在相应的数据库中创建数据表用于保存读取的监测数据;步骤242,按行读取文件中的数据:采用FileStream类使文件处于打开状态,然后用StreamReader类依次读取文件中每一行的数据;步骤243,写入数据表中:根据创建数据表时所创建的字段的顺序,将每一行的数据按照分隔的形式插入到对应的字段下,每一个字段还设置了相应的数据类型;步骤244,是否为空:以循环的方式遍历文件中的监测数据,当监测值不为空时依次写入到数据表中,当监测值为空时,则停止循环表示数据导入完成。此外,本发明在基于Matlab数据分析模块提出数据在Matlab中分析与处理的方法以及数据写入数据库的方法,实现原始数据与目标数据的保存与管理,有利于Revit对数据的调用,具体步骤如下:步骤41,Matlab读取excel数据:将监测到的原始数据保存为excel文件的格式,然后导入Matlab软件中;步骤42,算法程序处理数据:在Matlab中采用与健康监测相关的算法对导入的数据进行分析与处理,包括信息的筛选、优化等算法程序,从而得到目标数据;步骤43,导出目标数据的excel文件:将经过Matlab算法处理后的数据从Matlab的工作空间中导出,仍然将数据保存为excel的格式;步骤44,访问对象读取excel数据:通过相应的数据访问方式链接数据的excel文件,此数据访问方式为OleDb,可以直接链接数据源中的数据;步骤45,数据写入DataTable:在建立与excel数据文件的链接后,把数据缓存入DateSet数据集中,以数据表DataTable的形式保存;步骤46,数据记录插入数据库:将DataTable中保存的数据记录插入到数据库的对应数据表中,必须满足DataTable中的列名与数据库中的列名一一对应。另一方面,本发明在基于数据可视化模块提出Revit调用数据并显示的方法,需要通过相应的编程软件实现Revit对数据库中数据的访问,然后将数据绑定到相应的控件中进行显示,实现监测数据的可视化,具体步骤如下:步骤51,SQLSever后台:SQLSever为后台数据库管理系统,对数据进行保存与管理,便于与应用程序实现数据交换;步骤52,VisualStudio界面设计:VisualStudio(VS)为前台开发工具,提供不同的编程语言为Revit的二次开发提供支持,在VS可以利用工具箱实现不同功能的界面设计;步骤53,添加Revit的引用:编写代码之前,需要在VS中添加Revit的动态链接库,其中封装了Revit二次开发的类和代码,从而实现开发的界面在Revit中的嵌入;步骤54,打开数据库的链接:ADO.NET结构体系可以实现数据库与应用程序之间的访问,通过.NETFramework数据提供程序的Connection对象可以实现SQL数据库与Revit之间的链接,并使其处于打开的状态;步骤55,将数据与控件进行绑定:打开与数据库的链接后可以直接读取数据库中的数据,然后将数据填充至VS提供的控件中,包括表格控件与曲线图控件等;步骤56,在Revit中实现可视化:将编写代码的.dll文件加载到Revit中,运行该代码实现监测数据的可视化。本发明以Revit为开发平台,基于Revit开放的API,集成Windows文件操作系统与Matlab分析软件。提出为Revit、SQLSever数据库以及Matlab分析软件三者之间提供搭接的方法,包括Revit读取Windows文件夹以及文件的方法、数据写入数据库的方法、数据在Matlab中分析与处理的方法以及Revit调用数据并显示的方法,实现一种基于Revit与Matlab监测数据更新与处理的集成系统。本发明将Windows文件操作系统集成到Revit可以帮助用户直接将健康监测的数据文件通过文件夹操作导入到Revit中,有效提高了监测数据集成的效率;Matlab分析软件集成到Revit可以为健康监测的数据分析提供支持,解决了Revit无法对监测数据进行分析处理的缺点,从而更科学地评估结构的安全状态。附图说明图1是本发明基于Revit与Matlab的监测数据更新与处理的集成系统的示意图;图2是本发明基于Revit与Matlab的监测数据更新与处理的集成系统之Revit读取Windows文件夹以及文件的方法流程图;图3是本发明基于Revit与Matlab的监测数据更新与处理的集成系统之数据写入数据库的方法流程图;图4是本发明基于Revit与Matlab的监测数据更新与处理的集成系统之数据在Matlab中分析与处理的方法流程图;图5是本发明基于Revit与Matlab的监测数据更新与处理的集成系统之Revit调用数据并显示的方法流程图。图1中:1、监测数据更新模块;2、Matlab数据分析模块;3、监测数据可视化模块。具体实施方式本发明提出Revit、SQLSever数据库以及Matlab分析软件三者之间提供搭接的方法,有效提高了监测数据集成的效率,解决了Revit无法对监测数据进行分析处理的缺点。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。如图1所示,本发明提供一种基于Revit与Matlab的监测数据更新与处理的集成系统,该系统能够实现结构健康监测数据的集成与分析,该系统包括监测数据更新模块1、Matlab数据分析模块2和监测数据可视化模块3监测数据更新模块1,基于Revit用于更新传感器采集到的监测数据与分析处理后数据的更新,实现监测数据自动导入数据库中;需要基于Revit与Windows文件操作系统的集成实现;Matlab数据分析模块2,将传感器采集到的原始数据经过分析得到目标数据,将原始数据与目标数据在利用监测数据更新模块的基础上写入到数据库中,以便Revit对数据进行调用;监测数据可视化模块3,基于Revit开放的API与ADO.NET数据访问体系实现对SQLSever数据库中数据的提取,通过应用程序设计的界面以及提供的控件实现监测数据的可视化。需要补充说明的是,该系统能够实现监测数据的文本文件与SQLSever后台数据库系统之间的数据交互,用于自动保存和提取数据。该系统能够实现Revit与SQLSever后台数据库系统之间的数据交互,可以实现数据的存储与可视化。如图2所示,本发明还提供一种基于Revit与Matlab的监测数据更新与处理的方法,该方法采用上述的集成系统,该方法包括基于监测数据更新模块1提出Revit读取Windows文件夹以及文件的方法,实现将采集到的监测数据自动导入数据库中;具体包括的步骤如下:步骤21,打开指定文件夹:通过Windows的浏览对话框打开保存监测数据的文件夹,并记录文件夹的路径;具体讲就是在VS的命名空间在添加System.IO的引用,通过OpenFileDialog可以打开Windows的浏览对话框架,选择保存监测数据的文件夹,并记录文件夹的路径;步骤22,读取文件列表:批量读取文件夹当前目录以及所有子目录下的监测数据文件;具体讲就是通过System.IO.Directory类读取文件夹,设定为读取当前目录以及所有子目录下的监测数据文件;步骤23,使用流读取文件数据:使监测数据文件处于打开状态,以文件流的形式依次读取文件中的数据;具体讲就是采用FileStream类使监测数据文件处于打开状态,用StreamReader类以文件流的形式依次读取文件中的数据;步骤24,数据写入数据库:将所读取的文件数据写入数据库的数据表中,实现数据自动写入数据库中并实现数据表的自动更新。作为一种优选的实施方案,所述基于监测数据更新模块1提出Revit读取Windows文件夹以及文件的方法还包括:Revit通过Windows的浏览对话框读取保存监测数据文件的文件夹,并将数据自动写入数据库中;所述步骤24中,数据写入数据库便于Revit对数据进行调用。在所述步骤24中,数据写入数据库步24中,首先需要在数据库的相应位置创建与监测数据相对应字段的数据表,字段是每一列数据的标识,不同的列具有不同的字段,便于将每一行数据放在相对应的字段下。如图3所示,需要补充说明的是,所述步骤24具体实现步骤如下:步骤241,创建数据表:在SQLSever数据库中利用相应的SQL语句在相应的数据库中创建数据表用于保存读取的监测数据;具体讲就是,在SQLSever数据库中利用相应的SQL语句在相应的数据库中创建数据表,语句为use数据库名cratetable表格名(列名类型(大小),……),数据表的字段和数据类型要和读取文件的数据相对应,实现监测数据在数据库中的正确保存;步骤242,按行读取文件中的数据:采用FileStream类使文件处于打开状态,然后用StreamReader类依次读取文件中每一行的数据;步骤243,写入数据表中:根据创建数据表时所创建的字段的顺序,将每一行的数据按照分隔的形式插入到对应的字段下,每一个字段还设置了相应的数据类型;比如,语句为insertinto表格名values(@字段名,……);步骤244,是否为空:以循环的方式遍历文件中的监测数据,当监测值不为空时依次写入到数据表中,当监测值为空时,则停止循环表示数据导入完成。如图4所示,本发明在基于Matlab数据分析模块2提出数据在Matlab中分析与处理的方法以及数据写入数据库的方法,实现原始数据与目标数据的保存与管理,有利于Revit对数据的调用,具体步骤如下:步骤41,Matlab读取excel数据:将监测到的原始数据保存为excel文件的格式,然后导入Matlab软件中;Matlab导入excel数据文件的语句为load数据文件名.xls,这样在Matlab的工作空间中便会出现相应的数据;步骤42,算法程序处理数据:在Matlab中采用与健康监测相关的算法对导入的数据进行分析与处理,包括信息的筛选、优化等算法程序,从而得到目标数据;此过程在Matlab的编辑器中完成,可充分利用Matlab封装的函数功能;步骤43,导出目标数据的excel文件:将经过Matlab算法处理后的数据从Matlab的工作空间中导出,仍然将数据保存为excel的格式;导出命令为xlswrite(‘路径\文件名.xls’,数据名),便会相应的路径下便会得到目标数据的excel文件;步骤44,访问对象读取excel数据:通过相应的数据访问方式链接数据的excel文件,此数据访问方式为OleDb,可以直接链接数据源中的数据;通过OleDbDataAdapter链接并读取数据表;步骤45,数据写入DataTable:在建立与excel数据文件的链接后,把数据缓存入DateSet数据集中,以数据表DataTable的形式保存;步骤46,数据记录插入数据库:将DataTable中保存的数据记录插入到数据库的对应数据表中,必须满足DataTable中的列名与数据库中的列名一一对应。如图5所示,本发明在基于数据可视化模块提出Revit调用数据并显示的方法,需要通过相应的编程软件实现Revit对数据库中数据的访问,然后将数据绑定到相应的控件中进行显示,实现监测数据的可视化,具体步骤如下:步骤51,SQLSever后台:SQLSever为后台数据库管理系统,对数据进行保存与管理,便于与应用程序实现数据交换;步骤52,VisualStudio界面设计:VisualStudio(VS)为前台开发工具,提供不同的编程语言为Revit的二次开发提供支持,实现将数据库中读取的数据以窗体界面的形式进行展现,在VS中利用工具箱实现不同功能的界面设计;步骤53,添加Revit的引用:编写代码之前,需要在VS中添加Revit的动态链接库,其中封装了Revit二次开发的类和代码,用到了commandData、message、elements等参数,从而实现开发的界面在Revit中的嵌入;步骤54,打开数据库的链接:ADO.NET结构体系可以实现数据库与应用程序之间的访问,需要先在VS的命名空间中添加System.Data.SqlClient的引用,通过.NETFramework数据提供程序的Connection对象可以实现SQL数据库与Revit之间的链接,并使用sqlcon.open使其处于打开的状态;步骤55,将数据与控件进行绑定:打开与数据库的链接后可以直接读取数据库中的数据,然后将数据填充至VS提供的控件中,包括dataGridView表格控件与MSChart曲线图控件,实现数据的表格显示与曲线图显示等;步骤56,在Revit中实现可视化:将编写代码的.dll文件加载到Revit中,运行该代码实现监测数据的可视化。本发明以Revit为开发平台,基于Revit开放的API,集成Windows文件操作系统与Matlab分析软件。提出为Revit、SQLSever数据库以及Matlab分析软件三者之间提供搭接的方法,包括Revit读取Windows文件夹以及文件的方法、数据写入数据库的方法、数据在Matlab中分析与处理的方法以及Revit调用数据并显示的方法,接实现基于Revit集成Windows文件操作系统与Matlab分析软件,并以SQLSever为后台数据库管理系统。本发明将Windows文件操作系统集成到Revit可以帮助用户直接将健康监测的数据文件通过文件夹操作导入到Revit中,有效提高了监测数据集成的效率;Matlab分析软件集成到Revit可以为健康监测的数据分析提供支持,解决了Revit无法对监测数据进行分析处理的缺点,克服了Revit无法集成结构健康监测以及无法对监测数据进行分析处理的问题,有效提高了监测数据集成的效率,通过数据的分析与处理提高决策效率,从而更科学地评估结构的安全状态。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1