(5) IFC 总体架构 (Industry Foundation Class)

1 EXPRESS语言


    IFC架构采用 EXPRESS 语言定义,EXPRESS语言是由STEP(Standard for the Exchange of Product Model Data)开发的概念性架构语言。STEP是计算机可读的用于交换和描述产品制造信息的标准。

EXPRESS用于面向对象的信息描述语言,处于STEP的基础和核心地位。它将IFC模型的结构描述为:规范的类,与类相关联的属性,类的约束,以及类与其他约束之间的关系。

2. 总体架构

  IFC架构分为四个层:领域层、共享层、核心层、资源层。

名称描述
领域层 定义特定专业领域所需的实体对象,如电气领域的电缆、电气设备等。
共享层提供了通用性的对象,包括建筑服务元素、组件元素、建筑元素、管理元素、设备元素等。用于领域层多个领域共享。
核心层具体化的定义了模型的基本结构,基础关系和共用概念。
资源层定义了可重复利用的实体与类型,包括几何资源、属性资源、材料资源等。该层的实体不能独立存在,只能通过被其他层引用的方式出现。

      实体能引用本层或下面各层的实体资源,即领域层可以引起其他三层的实体对象共享层能引用核心层和资源层核心层只能引用资源层

      IFC架构将所有的对象与类按概念进行分类:类型、实体、函数、规则、属性集及量集。

   

名称描述
类型(Types)包括:定义类型(Defined Types)、枚举类型(Enumeration Types)、选择类型(Select Types)
实体 (Entities)有属性与约束定义的信息类,模型由大量实体对象组成
函数(Functions)用于计算实体的属性,规则(Rules)用于约束实体属性的范围及验证模型的正确性
属性集(Property Sets)一组属性的集合,可被不同的对象所引用。属性表达了对象的说明信息,属性集通过关系实体IfcRelDefinesByProperties将属性关联到具体的构件。
量集(Quantity Sets)对定量信息的集合,可被不同的对象引用。IfcElementQuantity是量集的描述实体,表示构件定量属性的集合,通过关系实体IfcRelDefinesByProperties将量集关联到具体的构件。



    3.基本概念和继承关系

       IFC文件中,任何一个实体(如IfcBeam)都是通过属性来描述自身信息,属性分为:直接属性、反属性,导出属性。

 名称    描述
直接属性指标量或直接信息,如GlobalId、Name等
导出属性由其他实体表述的属性,如OwnerHistory、ObjectPlacement、Representation。
反属性通过关联实体进行链接的属性。如HasAssociations通过关联实体IfcRelAssociates可以关联构件的材料信息。

        IFC实体的的属性是通过继承关系获得的,如构件IfcBeam在IFC4版本中总共有33个属性,而自身只有Predefined Type这一个属性,其余的32个属性都是继承而来.

      在IFC物理文件中语句IfcBeam则只显示了9个属性,包括直接属性和导出属性,其余的24个属性为反属性。如下图只显示了直接属性和导出属性,反属性详见官方文档。

    
    

 
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: IFCIndustry Foundation Classes)可以理解为是一种开放标准的模型文件格式,主要用于建筑和工程领域中的数据交换和共享。IFC格式解析C,则是指通过C语言读取、分析和处理IFC文件的过程。 IFC文件通过XML或STEP格式进行编码存储,但是直接解析很困难。一种有效的解析方法是使用IFC SDK,例如“Open IFC Tools”和“IFC++”,它们提供了可预编译的库文件和API函数,可以使用C语言进行调用和使用,以完成IFC文件的解析和数据提取。 解析IFC文件的主要步骤包括以下几个方面: 1. 读取IFC文件:使用C语言的文件操作功能,打开字符串数组或者IFC文件对象,读取文件内容。 2. 解析IFC结构:IFC文件中有很多以“#”开头的唯一标识符,这些标识符可以让我们在IFC文件中找到对应的实体,例如物体、属性、关系等。C语言的字符串操作函数可以帮助我们把这些IFC标识符解析出来,以及提取实体的属性信息。 3. 建立IFC对象模型:将解析出的IFC实体转化为C语言中的对象模型,例如结构体或者类,以方便我们在程序中访问和操作IFC数据。 4. 数据处理:利用C语言中的算法和数据结构,对IFC数据进行处理和分析。 5. 输出结果:将处理后的IFC数据输出到文件或者其他数据格式中。 IFC格式解析C的实现需要一定的编程技能和C语言基础知识,但是在建筑和工程领域中,掌握IFC文件的解析和处理能力是非常重要的。 ### 回答2: IFC 是“Industry Foundation Classes”的缩写,是一种用于描述建筑、工程和建筑管理行业的信息模型标准,它是由建筑信息模型 (BIM) 产生的标准。 IFC 格式数据的解析需要一定的技术。在解析 IFC 格式数据时,首先需要了解 IFC 数据模型及其架构IFC 数据模型包含了一系列的实体类型和关系,这些实体和关系是通过实体关系模型 (ERM) 进行定义的。因此,在解析 IFC 格式数据时,需要重新创建一个模型,以便从 IFC 数据模型中提取和导出数据。 同时,解析 IFC 数据需要使用 IFC 库,如 OpenIFC Library 和 IfcOpenShell。这些库提供了一些接口和工具,可以帮助开发者处理 IFC 数据格式,提取模型中的三维几何信息,或将其转换到其他格式。例如,IfcOpenShell 可以使用 Python 脚本进行数据处理,并提供了一些可视化工具。 总结而言,解析 IFC 格式数据需要具备一定的计算机技术和编程经验,需要了解 IFC 数据模型及其架构,以及相应的 IFC 库来协助解析过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值