工业基础类IFC—如何阅读物理文件

简介: 工业基础类IFC—如何阅读物理文件

前两期的内容 : 《工业基础类IFC—总体架构和空间结构》 和 《工业基础类IFC—EXPRESS语言》 偏重理论,大部分内容也摘自笔者的硕士论文,这一期聊一聊接地气的东西,比如我们在拿到一个 IFC文件之后如何去阅读。


01 确定IFC标准


首先我们需要判别IFC文件的版本。IFC文件的后缀统一为“.ifc”,因为无法通过后缀来获悉,需要利用文本编辑器(包括Windows自带的NotePad以及免费软件Notepad++、付费软件UltraEditor等等)打开物理文件,并在头段内容中进行确认,正如图1所示,案例文件为 IFC4.1 版本。



0704141552231c176391fce0e6466207.png

图1 头段中的版本标识


在确认好文件版本之后,第二步就是去buildingSmart官网找到对应版本的标准,具体链接位置已在图2中标明,这样我们就能进入图3的界面,查询各个IFC版本的内容。如果是想做一些应用型的工作,应该尽量使用稳定的版本,例如目前最为普及的 IFC 2✖3。


fca21c636730235389ed47935dd7251b.png


图2 IFC版本数据库链接位置


99245dd236c7a63623b7c3b8cfc25e61.png


图3 IFC版本数据库


02 IFC实体快速定位


IFC官方文档目前还未提供中文版本,因此要常备翻译软件,在搜索特定的IFC实体时,笔者通常是定位在Alphabetical listings下,然后按字母顺序进行查找,这样查找起来会比较快捷。


4f2aa7ae6d1514ac913199374456c14e.png


图4 按字母次序进行实体查询


03 属性查询


(1) IFC4之前的属性查询方式


IFC4标准之前(包含IFC4),我们并不能直观地获取到属性序列,但可以通过“ 继承结构图(Inheritance Graph)”间接得到。如图5所示,找到ENTITY下方的属性即可(INVERSE反向属性不计入在内),这几个属性就是构成 IfcPropertyListValue 实体的属性,且次序与物理文件中的属性次序一致。


05126253ae15a47a8c74c8b8cc95002f.png


图5 属性查询方式(一)


(2)IFC4 之后的属性查询方式


在IFC4之后的版本中,buildingSmart 好像意识到了这一点,因此优化了文档排版,查询对应关系变得相当简单,直接给一个属性继承表,对应的属性已经给你标明了。


47f9afd18e07262cff849e0c655ad733.png


图6 属性查询方式(二)


04 关于物理文件中 $ 的解释


**A:**The $ character encodes the indefinite value, i.e. it appears if an optional attribute has not been filled in.


**B:**The ‘′ s i g n s t a n d s f o r a v a l u e t h a t i s i n f i n i t e . F o r e x a m p l e w i t h i n t h e e n t i t y , I f c T r a n s i t i o n C u r v e S e g m e n t 2 D , i f i t i s a n e n t e r i n g t r a n s i t i o n t h e r a d i u s i s u s u a l l y i n f i n i t e . I f y o u l o o k a t t h e S T E P f i l e i t w i l l h a v e a ′ ' sign stands for a value that is infinite. For example within the entity, IfcTransitionCurveSegment2D, if it is an entering transition the radius is usually infinite. If you look at the STEP file it will have a '

signstandsforavaluethatisinfinite.Forexamplewithintheentity,IfcTransitionCurveSegment2D,ifitisanenteringtransitiontheradiusisusuallyinfinite.IfyoulookattheSTEPfileitwillhavea

’ sign instead of an infinite sign or similar.


Further some properties within the ifc entities are optional, meaning you don’t have to define them in order to create a valid ifc object. Whenever an object has an optional property, which is not defined by the user, the program aso, it will show as a ‘$’ sign too within the STEP.


All this is documented in the ISO 10303 -21 if you wanna look into this any further. I hope I could help.


在IFC物理文件中,$代表不明确值,当且仅当 IFC Atrribute Cardinality为 **?**时可使用,即该属性为可选属性,无需为其赋值仍然可获得有效的IFC对象。


05 总结


上述内容的加持下,读者基本可以按照流程一步一步地去阅读和理解IFC物理文件了,但由于属性中实体引用的存在,往往会使得纯人工阅读的方式进度十分缓慢,建议大家结合一些IFC浏览或者可视化的软件,可大大提高阅读效率。


相关文章
|
6月前
|
存储 SQL 网络协议
C语言C/S架构PACS影像归档和通信系统源码 医院PACS系统源码
医院影像科PACS系统,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务是把日常产生的各种医学影像(包括核磁、CT、超声、各种X光机、各种红外仪、显微仪等设备产生的图像)通过各种接口(模拟、DICOM、网络)以数字化的方式海量保存起来,并在需要的时候在一定授权下能够快速地调回使用。同时,PACS系统还增加了一些辅助诊断管理功能。
106 11
|
数据可视化 C# C++
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
工业基础类IFC—提取模型结构树
|
5月前
|
vr&ar
VR的光学结构主要基于哪种类型的结构?
【6月更文挑战第25天】VR的光学结构主要基于哪种类型的结构?
66 9
|
4月前
|
存储 SQL 网络协议
什么是PACS系统?一套C语言C/S架构PACS影像归档和通信系统源码
PACS系统是基于C/S架构的医学影像归档和通信系统,遵循IHE和DICOM3.0标准,采用Wintel平台与品牌服务器,配备SQL Server数据库,支持双机热备。它确保图像质量和高效传输,兼容多种医学设备,允许历史胶片扫描存储,并有严格的权限管理与安全机制,包括数据备份和故障恢复功能,旨在实现资源共享和效率提升。系统设计考虑了与医院HIS集成及未来扩展。
66 0
|
6月前
|
存储 安全 Linux
C++文件格式深度解析:从底层结构到关键特性
C++文件格式深度解析:从底层结构到关键特性
417 3
C++文件格式深度解析:从底层结构到关键特性
|
6月前
|
Linux 编译器 Android开发
设备树覆盖:概念与术语
设备树覆盖:概念与术语
109 0
|
存储 SQL 关系型数据库
GIS系统中WKT、SRID、EPSG概念解析
之前一直对WKT、EPSG、SRID不是很理解,总是混淆,今天看了一下,清晰了很多,顺便总结一下。
536 0
|
Python C# C++
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
工业基础类IFC—开源库汇总
西门子S7-1200的数据类型及数据存取方式
数据类型用于指定数据元素的大小,以及如何解释数据。西门子S7-1200支持的基本数据类型包括以下几类:布尔型数据为一位二进制数,其取值为0或1,常数举例如图,取值为TRUE、FALSE或0、1等;字节型数据为八位二进制数,取值范围为16进制00到16进制FF,例如16进制12、16进制AB等;字型数据为十六位二进制数,取值范围为十六进制四个0到十六进制四个F,常数举例如16进制0012、16进制ABCD等。
西门子S7-1200的数据类型及数据存取方式
|
监控 数据可视化
工业基础类IFC—概述
工业基础类IFC—概述
工业基础类IFC—概述