(1.湘潭大学土木工程与力学学院,湘潭 411105;2.中建科技湖南有限公司,长沙 410600)
装配式建筑作为建筑工业化的重要组成部分,已成为建筑行业的发展方向和趋势。针对装配式建筑的整体安全,可从预制构件的生产、进场验收、施工质量验收等各个环节进行归纳总结[1]。当前,装配式质量检测发展到能够较成熟地完成数据采集工作,但对于如何将检测数据及时处理并实现可视化的研究相对较少。检测信息可视化技术可以将大量检测数据自动地处理成完全、精确、一致的信息知识,并通过数据可视化技术将抽象的一维数据处理成形象的实时多维图形、图像[2],从而改善检测信息不够直观,表现方式单一,交互性差等现状。
Revit是BIM技术的核心软件,能够有效建立三维数字化模型,提供三维可视化、可开发的数字表达环境,便于开发人员自主开发适用于工程实际的相关功能,因此,基于Revit的二次开发研究和应用得到了快速发展。Park[3]等基于BIM建立了在线监测系统,对结构所处的环境进行监测并将数据在BIM软件中进行显示,有效提高了数据的可视化。Kensek[4]通过RevitAPI结合Dynamo,将采集的传感器数据导入为三维模型参数,利用伺服器改变物理模型。徐桂明等[5]基于BIM技术开发了公路隧道病害检测系统,利用BIM技术融合CAD软件和Revit二次开发,实现隧道病害检测的三维可视化管理。综上所述,BIM技术具有三维可视化以及信息集成的优点,开发者能够通过Revit API应用程序集成到Revit系列产品中,应用广泛,实用性强。
BIM技术的核心是建筑全生命周期的信息的交换与共享,PC构件检测信息是建筑生命周期的重要组成部分[6]。因此,开展基于BIM技术的PC构件检测信息可视化管理研究尤为必要。本文拟将BIM技术引入到PC构件检测,以期利用BIM技术的优势有效管理不同类型的PC构件检测信息,提高检测信息管理效率,为检测信息分析与处理功能提供平台,提高检测信息与模型的交互性,实现对检测信息进行实时处理及可视化设计,为构件安全评估提供有效依据。
本文以Microsoft Access2010数据库为后台管理系统,以Visual Studio 2012(VS2012)为前台开发工具,采用SQL语句及C#混合的方式进行编辑,通过RevitAPI(Application Programming Interface)封装的类和方法实现基于Revit的检测数据库的创建与检测数据的导入。Visual Studio是一个全面的开发工具箱,集成了开发环境和代码编辑器,提高代码的可读性,使代码易于理解; RevitAPI封装一系列Revit的命名空间和类库,为用户在Revit平台上根据自身需求扩充相应功能提供便利。
数据库由内容设计和操作界面设计两部分组成。采用Revit进行三维可视化建模,模型中的每个构件都有独特的ID号,检测数据库由传感器ID及检测仪器数据组成。操作界面设计通过VS2012完成,首先在所建的类库中添加窗体,然后在窗体中添加VS2012工具箱中相应控件,最后为相应控件添加用C#编写的程序代码,数据库的开发流程如图1所示。
图1 数据库开发流程
数据库与Revit的链接建立在ADO.NET结构体系基础之上,ADO.NET是一组包括在.NET框架中的库,用于在.NET应用程序各种数据储存之间的通信,ADO.NET库中包含了可与数据源连接、提交查询并处理结果的类。ADO.NET中有很多重要的对象,可大体分为两大类。一类是与数据库直接连接的联机对象,其中包含了Connection对象、Command对象、DataReader对象以及DataAdapter对象等,通过这些类对象,可以在应用程序里完成连接数据源以及数据维护等相关操作。另一类则是与数据源无关的断线对象,例如DataSet对象和DataView对象等。通过使用这些对象,使得对数据库的操作更加简单[7]。
本文基于Revit对数据库中的数据进行操作,首先在VS2012中导入有关的命名空间,输入对象为using System.Data.OleDb。然后使用Connection对象建立数据库链接。通过注册Microsofe.ACE.OLEDB.12.0提供程序,”data source=”表示连接的数据的数据源的名称,conn.open()表示打开数据库连接,当数据库不需要使用的时候,可以使用conn.open()关闭数据库链接。成功链接数据库之后,需要对数据库中的数据进行相应的操作。读取代码如下:
Private void instrtData(string tablename,List
{
oleDbConnection conn=new OleDbConnection(“provide=
Microsoft.ACE.oLEDB.12.0;”+@”data source=”+mdb_path);
Conn.open()
}
Revit检测信息可视化插件,通过C#语言进行编辑,C#运行于.NET Framework之上,是专门在.NET Framework上开发应用程序的一种常用语言。Revit API是基于.NET Framework的一个类库,通过应用C#语言在Revit的应用层面进行二次开发具有实用优势。
以VS2012作为软件开发平台,利用RevitAPI封装类库,以及平台工具箱中的各类控件,对RevitAPI.dll和RevitAPIUI.dll进行添加和调用,实现对Revit的二次开发。具体开发流程如图2所示。
图2 Revit二次开发流程
本文首先在新建的类库项目中添加引用RevitAPI.dll和RevitAPIUI.dll两个动态链接库,然后利用RevitAPI.dll和RevitAPIUI.dll程序集内封装的函数和方法完成类层次的定义和实现检测信息可视化的代码编辑,将通过代码生成的动态链接路径导入Revit生成addin文件,运行插件反复调试,直到运行成功。
根据检测信息可视化功能的需要,将Revit检测信息可视化插件分为数据导入、测点定位、检测信息可视化、运维管理四个功能模块,各模块功能如图3所示。
图3 功能模块分布
该插件每一个功能对应一个按钮,针对按钮功能给他们添加各类控件编辑代码实现其功能,同时为每个按钮设计图标,使其更加直观,便于操作。界面如图4所示。
图4 插件界面
2.3.1 实验概况
本实验是利用冲击回波法对预制墙中的套筒进行灌浆饱满度检测。冲击回波法是利用击振器冲击混凝土表面,冲击产生的弹性波(主要是纵波)被位移或者加速度感应器接收,传感器接收的信号可以通过相关软件进行快速傅里叶变换来得到频谱曲线。由于混凝土结构物和缺陷处波阻抗存在差异,会对频谱图中的频率、相位等参数产生影响,根据频谱之间的差异得出混凝土缺陷分布情况[8]。采用湖南天功测控科技有限公司研发的H-X101型钢筋套筒灌浆质量无损检测仪对装配式构件钢筋套筒进行检测,分别对1/2、1/3、1/4等不同饱和度的钢筋套筒进行检测,建立钢筋套筒灌浆饱满度的数据库,为系统智能识别检测奠定一定的基础。
2.3.2 实验数据的导入
通过钢筋套筒灌浆质量无损检测仪对不同灌浆饱满度的PC构件套筒进行检测,得到大量的声波数据,为了实现Revit对这些数据的调用,需要完成检测数据的实时传输并建立信息数据库。通过无线网卡数据线将检测仪器与笔记本电脑进行有效连接如图5所示。获取相关IP地址,建立一条链接的数据链路,添加网络基本协议才能正常工作。NetBIOS协议是IBM开发的用于给局域网提供网络以及其他特殊功能的命令集,为了建立连接,区域网还需要TCP/IP协议,TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的协议来完成自己的需求。检测仪器与计算机进行有效连接,实现检测数据的实现共享与存储。
图5 检测仪器与电脑进行连接
无损检测仪传输的检测数据以txt格式数据存储在共享文档中,通过VS2012平台对txt格式数据进行整理并添加到access数据库,建立预制墙检测信息Access数据库,嵌入到revit面板中,实现Revit对这些数据的调用。
2.3.3 检测数据可视化处理
测点的精确定位,用户可选择在测点部位安置传感器,选择按ID选择功能,以传感器ID为关键字进行精确定位。
图6 测点的数据记录
图7 测点的声波曲线
测点的数据记录,系统在构件分类的基础上,针对预制构件的生产、进场验收、施工质量验收等各个环节进行归纳整理。以装配式构件墙为例,其检测信息可分为生产过程检测信息、生产成品检测信息及构件出厂检测信息,其中主要信息由构件材质、检测人员、检测时间、检测数值等组成。根据上述构件及其信息的分类情况,我们可以将大量的不同类型的数据添加到模型当中去,并与每个构件独特ID进行关联,系统可以根据构件ID进行构件质量信息查询[9]。如图6所示。
测点的声波曲线,用户可选择声波曲线功能键,查看相应的声波曲线图,数据曲线如图7所示。数据的曲线图查看是通过VS平台工具箱Chart控件显示,Chart控件提供了各种图表类型,如曲线图、柱状图、饼图、散点图等。用户可以自主设置图表名称,横纵坐标的名称及单位。
本文从PC构件套筒灌浆饱满度检测信息管理实际应用需求出发,通过创建检测信息数据库系统,结合检测信息管理相关功能的开发,初步解决了检测数据的实时传输和可视化管理问题。通过对PC构件套筒灌浆饱满度检测的实际应用验证了本文所开发功能的可行性和有效性,从而为提高PC构件检测数据集成管理水平和信息管理系统的交互性,实现检测信息可视化管理奠定了一定的基础。