• ISSN: 1674-7461
  • CN: 11-5823/TU
  • 主管:中国科学技术协会
  • 主办:中国图学学会
  • 承办:中国建筑科学研究院有限公司

工程设计模型数据库应用系统开发

刘照球, 李云贵, 张汉义

刘照球, 李云贵, 张汉义. 工程设计模型数据库应用系统开发[J]. 土木建筑工程信息技术, 2011, 3(3): 16-21.
引用本文: 刘照球, 李云贵, 张汉义. 工程设计模型数据库应用系统开发[J]. 土木建筑工程信息技术, 2011, 3(3): 16-21.
Liu Zhaoqiu, Li Yungui, Zhang Hanyi. Development of a Database Application System for Engineering Design Model[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2011, 3(3): 16-21.
Citation: Liu Zhaoqiu, Li Yungui, Zhang Hanyi. Development of a Database Application System for Engineering Design Model[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2011, 3(3): 16-21.

工程设计模型数据库应用系统开发

基金项目: 

“十一五”国家科技支撑计划重点课题(2006BAJ01B01-01)

“十一五”国家科技支撑计划重点课题 2006BAJ01B01-01

详细信息
    作者简介:

    刘照球(1974-),男,工学博士,讲师。主要从事信息技术在工程中应用、工程抗震与防灾等方面研究

    李云贵(1962-),男,工学博士,研究员,博士生导师。主要从事高层结构分析与设计、信息技术在建设领域的应用等方面研究

  • 中图分类号: TU311.41

Development of a Database Application System for Engineering Design Model

  • 摘要: IFC标准所建立的工程设计模型包含海量的数据信息和复杂的非图形信息,不利于设计者对数据信息的有效查询和管理。通过对IFC模型数据集成机制和EXPRESS数据类型映射规则分析,结合IFC中性文件交换技术和标准数据访问接口原理,以及工程设计模型数据信息的特点,在基于PKPM的CFG图形显示平台上设计和开发了工程模型数据库应用系统。通过对北京某一体育馆IFC格式模型的读取,对该系统所提供的用于模型的读取、查询、创建、二维显示等管理功能进行实际应用。结果表明,该系统有助于提高设计者对基于IFC格式的工程设计模型数据信息的日常维护和管理操作。
    Abstract: The engineering design model based on IFC standard contains vast amount of data and complex non-graphic information, which often results in lower efficiency for designers to inquire and manage the data information. Through the analysis of the data integration mechanisms of IFC model and the mapping rules of EXPRESS data types, as well as the exchange technologies of IFC neutral files, the principles of standard data access interface and the data features of engineering design model, a database application system of engineering model, which based on the CFG Graphic platform of PKPM software, was designed and developed. A gymnasium project, which locates at Beijing, was used as the case study. The IFC format model of the gymnasium was read, and the main functions of the application system such as read, query, create, and two-dimensional display were applied respectively. The results show that the system can help designers to improve the daily maintenance and management operation of the IFC format data of engineering design model.
  • 基于IFC标准建立的工程设计模型往往包含海量的数据信息,尤其是复杂的非图形信息,不利于工程设计者有效查询和管理[1]。另一方面,IFC标准提供的用于不同应用系统数据交换的中性文件机制,不适合设计者对模型数据的日常维护和存储[2]。利用数据库技术和IFC标准模型的结合,可以使工程设计者顺利实现对模型数据的查询、存档、修改和更新等操作,并保证数据信息的安全性、可靠性和持久性[3-4]。该文通过分析IFC模型数据集成机制和EXPRESS各种数据类型的映射规则,在基于PKPM的CFG图形显示平台上设计和开发工程设计模型数据库应用系统框架,并通过一个工程实例对系统的主要功能进行应用演示,为其他用于工程信息交换的数据库系统开发提供技术参考。

    IFC是基于STEP标准的一个建筑工程信息表达与交换标准,其用于数据集成(交换或共享)的实现方式类似于STEP标准,主要分为物理文件(中性文件)、标准数据访问接口SDAI、共享数据库三种数据集成方式[5]。物理文件实现数据集成,即是指实现IFC的中性文件与其他系统模式交换数据。工程设计中各专业子系统可以根据全局产品数据模型确定相互间要交换数据的模式,然后根据这一模式确定相互间交换文件的结构。这一集成方式的核心技术是首先实现EXPRESS数据格式到对应的IFC中性文件格式的映射,形成底层数据库,再开发与中性文件间的数据转换接口,从而实现各专业的数据集成[6]。基于标准数据访问接口SDAI的数据集成提供了可以操作EXPRESS数据模型的应用程序接口,应用系统通过程序接口层的SDAI操作与底层数据相通,实现数据的共享与交换。这一集成方式,其核心是全局的、统一的产品数据模型(由EXPRESS描述),这一模型支配着各应用程序的数据需求模型并指导着各应用系统的基于SDAI的数据输入、输出接口的生成。共享数据库集成方式的主要工作仍然是建立全局共享产品数据模型及编制各应用系统的数据共享与交换接口[6]。采用共享数据库进行系统的数据交换手段更为灵活和高效,这一实现方式的目的是要在应用系统和底层数据库之间建立一个标准化接口,这个接口提供了符合IFC标准的数据管理功能,并将应用与具体数据库形式独立开来。

    EXPRESS语言不但具有面向对象特征,而且具有丰富的语义,因此要实现EXPRESS语言描述的产品数据的持久化,数据库系统必须能够很好地存储和管理复杂的嵌套实体结构和丰富的数据类型,同时能够支持大量常驻内存数据的管理和计算[7]

    IFC标准的EXPRESS描述文件格式主要包含模式、数据类型、实体、算法、规则等几个方面[8]。模式是EXPRESS文件格式的最外层框架,在每个模式中定义了一些相关的对象,模式说明为相关实体和其他数据类型的集合定义了一个公共的范围,诸如几何可以是包含点、曲线、面和其他相关数据类型的模式名。EXPRESS的数据类型主要有简单数据类型、定义数据类型、构造数据类型(又包括枚举类型和选择类型)、聚合数据类型、实体数据类型等。EXPRESS到面向对象程序语言和数据库数据模式之间的映射主要是各种数据类型之间的映射,由于实体数据类型同时又包含其他几种数据类型,因此,对EXPRESS数据类型的映射主要是实体类型的映射。

    IFC2×4模型中共定义了707个实体数据类型,是IFC标准的核心内容。实体数据类型里面包含其他数据类型或者其他实体,还包含了某些关系算子和约束规则[9]。IFC模型中实体概念与面向对象程序语言中类的概念相对应,实体数据类型可以映射为程序语言比如C++中的一个类,实体的属性值可以变为C++中的成员变量,规则约束映射为C++的成员函数。实体之间的关系也用类之间的关系表示,实体之间的包含与引用关系可以映射为类的继承关系。实体的父类和子类可以映射为实体类型对应的父类和子类实体,以C++语法表达的实体与EXPRESS的描述在结构与关系上保持一一对应[10]。在IFC数据的存储过程中,实体中只有属性被保存,因此,在程序实现时为每一个属性建立字段,并按照EXPRESS定义保持类之间的继承关系。

    以IFC实体IfcStructuralLoadSingleForce为例,具体的EXPRESS描述和C++映射代码分别如下所示。

    (1) EXPRESS描述:

    ENTITY IfcStructuralLoadSingleForce

    SUPERTYPE OF (IfcStructuralLoadSingleForceWarping)

    SUBTYPE OF (IfcStructuralLoadStatic);

    ForceX : OPTIONAL IfcForceMeasure;

    ForceY : OPTIONAL IfcForceMeasure;

    ForceZ : OPTIONAL IfcForceMeasure;

    MomentX : OPTIONAL IfcTorqueMeasure;

    MomentY : OPTIONAL IfcTorqueMeasure;

    MomentZ : OPTIONAL IfcTorqueMeasure;

    END_ENTITY;

    (2) 对应的C++映射实现代码:

    void Add_IFCSTRUCTURALLOADSINGLEFORCE(long _enID, long & iNo)

    {

    IFCSTRUCTURALLOADSINGLEFORCE.nID=_enID;

    Get_Name(IFCSTRUCTURALLOADSINGLEFORCE.name);

    IFCSTRUCTURALLOADSINGLEFORCE.fX=Get_value1();

    IFCSTRUCTURALLOADSINGLEFORCE.fY=Get_value1();

    IFCSTRUCTURALLOADSINGLEFORCE.fZ=Get_value1();

    IFCSTRUCTURALLOADSINGLEFORCE.mX=Get_value1();

    IFCSTRUCTURALLOADSINGLEFORCE.mY=Get_value1();

    IFCSTRUCTURALLOADSINGLEFORCE.mZ=Get_value1();

    iNo=gIFCSTRUCTURALLOADSINGLEFORCE.size();

    gIFCSTRUCTURALLOADSINGLEFORCE.insert(gIFCSTRUCTURALLOADSINGLEFORCE.end(), IFCSTRUCTURALLOADSINGLEFORCE);

    nextToken();

    }

    IFC模型实体实例在产品建模过程中被用来表达产品的各种属性信息,实体实例需要持久化的数据主要是自身的属性数据。实体的属性数据既可以存储在关系数据库中,也可以存储在面向对象数据库中、文件以及其他任何存储机制中。SDAI是STEP提供的标准数据访问接口,这一机制操作的数据必须是以EXPRESS语言建模和描述为基础。由于IFC标准是基于STEP的一个工业基础类,因此,可以考虑选择共享数据库集成方式并结合SDAI的原理开发工程模型数据库应用系统。底层数据库的创建选用IFC中性文件集成技术并结合关系数据库二维表格技术,中性文件交换方式主要是通过文件交换器来实现,实现方式通常是把中性文件读入内存,然后以内存工作区方式访问,最后再写入中性文件。

    针对应用系统框架的开发,借鉴目前现有的技术,采用内存工作区读入IFC中性文件并手动编写与EXPRESS语言描述实体相对应的各个C++类,采用关系数据库二维表格技术形成底层数据库提供对实体类的描述(相当于数据字典)功能。在实现过程中,可以先设计IFC类库,再将EXPRESS模式文件通过IFCtoCPP(C++转换器)转换为基于IFC基础类库的C++语言类库,将相关的类库一起编译创建能访问IFC中性文件的数据接口,然后设计数据库访问接口的函数,利用这些接口函数把读入的数据进行存储以实现数据的持久化,并且还要实现数据的读取、查询、更新等基本操作功能。IFC中性文件到工程模型数据库转换接口的设计流程如图 1所示。

    图 1 IFC中性文件到数据库转换接口设计流程
    图  1  IFC中性文件到数据库转换接口设计流程

    图 1中的“中性文件主程序读入”为工程模型数据库应用系统设计的关键环节,中性文件主程序读入设计流程如图 2所示。主程序读入IFC格式中性文件时,为了避免重复读取和冗余数据产生,为每个IFC实体实例号进行ASCII编码,比如针对IFC描述单位的实体“#2=IFCSIUNIT”,给每个字母按数字顺序进行编号,自动默认IFC三个字母分别对应数字0、1、2,则其余字母S=3、I=4、U=5、N=6、I=7、T=8,将这些对应数字和其字母对应的ASCII码相乘再相加则代表“#2=IFCSIUNIT”,即IFCSIUNIT =3×83+4×73+5×85+6×78+7×73+8×84=2 617,则2617唯一代表“IFCSIUNIT”。

    图 2 “IFC中性文件读入”主程序设计流程
    图  2  “IFC中性文件读入”主程序设计流程

    工程设计模型数据库应用系统采用中国建筑科学研究院自主开发的CFG为图形显示平台,在此基础上实现对模型数据的读取、查询、保存、创建等功能,通过在CFG图形显示平台右侧设计一组控件来实现应用系统的开发(图 3所示)。根据工程设计模型数据的特点,应用系统的开发主要遵循以下原则:(1)应用程序接口API与具体采用的数据库结构设计方案无关;(2)实现多态查询,并细致地控制数据迟加载和每个类的属性;(3)对数据量大的部分(如几何数据)运用集中单表技术,以实现高效的数据存取;(4)在数据库缓存的基础上,配置二级缓存功能以提升系统的性能。

    图 3 模型读取
    图  3  模型读取

    目前应用系统实现的主要功能有模型读取、对象查询、目录创建、三维漫游、平面显示以及模型更新。“模型读取”主要提供读取IFC格式的建筑模型,生成结构模型并在CFG图形平台上显示和保存IFC数据信息;“对象查询”功能提供设计者对生成工程模型中任意对象的IFC信息进行查询,包括该对象的IFC实例号、类型(梁、柱、墙、板、洞口等)、位置实例号、形状实例号、对象的局部坐标等详细信息;“目录创建”功能向设计者提供整个工程模型的所有IFC实例号信息,即与IFC中性文件(工程文件)对该模型的描述相对应,设计者通过该控件可以了解整个工程模型的IFC实例号数量、类型(梁、柱、墙、板、洞口等)数量、几何实体类型(拉伸体还是BREP模型)、开洞口数量等;“三维漫游和平面显示”提供了对工程模型的缩放、旋转等显示功能;“模型更新”控件提供用于模型的三维实体重新生成功能。下面通过一个具体工程实例分别演示对系统上述六个功能的应用。

    (1) 模型读取

    图 3为通过“模型读取”控件读取的一栋IFC格式结构模型,由于IFC格式建筑模型包含大量的数据信息,且这些数据都是以实体类的形式存在,实体对象的属性可能具有不同的数据类型,既可以是简单数据类型,也可能是复杂的结构数据。因此,要求“模型读取”控件能够将提取获得结构模型的IFC数据进行保存并支持对可变数据类型的查询。

    (2) 对象查询

    图 4显示了通过“对象查询”功能提供的模型中某个实体对象(图中为柱)的IFC实例号形成的形状信息详细报告。通过放大显示模型,点选模型中的某一个构件,即可以显示该构件的详细IFC描述信息,设计者通过这些信息可以了解该构件的几何形状、截面类型、拉伸长度等基本信息。

    图 4 对象查询
    图  4  对象查询

    (3) 目录创建

    图 5为“目录创建”功能提供的该栋结构模型所形成的IFC实例号数量、对象类型、洞口数量以及几何实体描述类型等信息。“目录创建”提供了组成该模型所有对象的IFC描述信息,设计者选择任意一个实例号,即选择了一个对象(实体构件),类同“对象查询”将显示该对象的详细信息。

    图 5 目录创建
    图  5  目录创建

    (4) 三维漫游

    图 6为“三维漫游”所提供的功能,可以实现对整个模型的渲染、旋转、平移、缩放、原地观察、动画观察等多种操作。针对图 5中IFC实例号为24 850的某根梁,通过“三维漫游”控件还可以显示该梁的具体三维几何形状,截面几何信息等,即该控件还可以提供对模型中的单个对象进行渲染、平移、缩放等操作。

    图 6 三维漫游
    图  6  三维漫游

    (5) 平面显示

    “平面显示”控件提供对读取模型的平面布置显示。图 7为“平面显示”控件提供的该栋模型标准层的二维布置形式,通过该控件向设计者提供模型的二维尺寸信息,有利于对该模型的进一步修改和优化设计等工作。

    图 7 平面显示
    图  7  平面显示

    (6) 模型更新

    在“对象查询”或“目录创建”过程中,若对某个构件的IFC描述信息进行修改,则通过“模型更新”控件可以实现对该构件的IFC信息以及整个模型进行更新,并重新生成三维模型。

    (1) 对IFC模型的三种数据集成方式进行阐述和对比,主要对IFC中性文件实现交换的方式进行分析。对EXPRESS各种数据类型映射规则进行分析,其中着重分析了实体数据类型到C++程序语言的映射技术。

    (2) 设计IFC中性文件到数据库的转换流程和中性文件主程序读入流程,对内部模型转换、底层数据库和外部应用框架分别进行创建,在基于PKPM的CFG图形显示平台上开发工程设计模型数据库应用系统访问界面。

    (3) 通过一个具体工程实例分别对系统的模型读取、对象查询、目录创建、三维漫游、平面显示、模型更新六个功能进行应用演示。由于该系统界面是基于PKPM的CFG图形显示平台,因此,为日后的推广、扩展奠定了基础,也为其他用于工程信息交换的数据库系统的开发提供了技术参考。

  • 图  1   IFC中性文件到数据库转换接口设计流程

    图  2   “IFC中性文件读入”主程序设计流程

    图  3   模型读取

    图  4   对象查询

    图  5   目录创建

    图  6   三维漫游

    图  7   平面显示

  • [1]

    Robert R. Lipman.Details of the mapping between the CTS/2 and IFC product data models for structural steel [J]. Journal of Information Technology in Construction, 2009, 14(1): 1-13. http://ws680.nist.gov/publication/get_pdf.cfm?pub_id=861673

    [2]

    LIU Zhaoqiu, LI Yungui, LU Xilin, ZHANG Hanyi. A software platform for information conversion from IFC-based architectural model to PKPM structural model [C]// The International Conference on Computing in Civil and Building Engineering (ICCCBE), Nottingham, UK, 30 June-2 July, 2010: 331-336.

    [3] 张汉义, 邱奎宁. IFC标准形状表达及空间结构实例介绍[J]. 土木建筑工程信息技术, 2(2), 2010: 83-86. http://www.cqvip.com/QK/89808X/201002/37153755.html
    [4] 张建平, 张洋, 张新. 基于IFC的BIM及其数据集成平台研究[C]. 第十四届全国工程设计计算机应用学术会议论文集(中国杭州), 北京: 中国建材工业出版社, 2008: 227-232.

    ZHANG Jianping, ZHANG Yang, ZHANG Xin. Study on BIM and its data integrated platform based on IFC [C] // The fourteenth national conference for computer application in engineering design field (Hangzhou, China), Beijing: China Building Material Industry Publishing House, 2008: 227-232. (in Chinese)

    [5]

    BuildingSMART. http://www.buildingsmart.com/, 2011-2-15.

    [6]

    Rezgui Y, Zarli A, Hopfe C J. Performance of different (BIM/IFC) exchange formats within private collaborative workspace for collaborative work [J]. Journal of Information Technology in Construction, 2009, 14(48): 736-752. http://www.itcon.org/papers/2009_48.content.09073.pdf

    [7]

    Lam K.P., Wong N. H., Shen L. J. Mapping of industry building product model for detailed thermal simulation and analysis[J]. Advances in Engineering Software, 2006, 37 (3):133-145. DOI: 10.1016/j.advengsoft.2005.05.005

    [8]

    Tarek Elghamrawy, Frank Boukamp. Managing construction information using RFID-based semantic contexts[J]. Automation in Construction, 2010, 19 (8): 1056-1066. DOI: 10.1016/j.autcon.2010.07.015

    [9]

    Ma Zhiliang, Wei Zhenhua, Song Wu, Lou Zhe. Application and extension of the IFC standard in construction cost estimating for tendering in China [J]. Automation in Construction, 2011, 20 (2): 196-204. DOI: 10.1016/j.autcon.2010.09.017

    [10]

    IFC2×4. http://www.buildingsmart-tech.org/, 2011-2-15.

    [11]

    Schevers, Hans A., Drogemuller, Robin M. Converting the Industry Foundation Classes to the Web Ontology Language[C] // First International Conference on Semantics, Knowledge and Grid (SKG'05), Beijing, China, 27-29 November, 2005: 73-75.

图(7)
计量
  • 文章访问数:  1464
  • HTML全文浏览量:  709
  • PDF下载量:  14
  • 被引次数: 0
出版历程
  • 发布日期:  2011-08-31
  • 刊出日期:  2011-08-31

目录

/

返回文章
返回