首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IFC的数据结构-文件

IFC的数据结构-文件
EN

Computer Graphics用户
提问于 2020-02-20 12:04:00
回答 1查看 147关注 0票数 0

我知道OBJ-文件本质上是一个或多个n元组列表,包含关于顶点、纹理和法线位置的信息。然而,我不确定这是如何在IFC文件中构建的。

然而,每当我查找IFC -文件的数据结构时,我就会发现有关IFC中元素的层次结构的信息,但是我无法找到关于如何保存几何图形的信息。此外,这与模型中实体的层次结构有什么关系?

我应该学些什么来理解这一点?

EN

回答 1

Computer Graphics用户

回答已采纳

发布于 2020-03-03 22:45:58

您需要学习和理解STEP数据交换格式(ISO 10303-21),这是IFC模式所基于的基本交换格式。不过,这并不容易,特别是与OBJ这样的文件格式相比。OBJ文件被设计用来定义几何学(以及其他信息通过相关的MTL),并为此目的进行了优化。另一方面,IFC被设计用于交换AEC的许多方面,包括建筑、服务、结构、家具、能源模型等,因此要复杂得多,而几何定义只是IFC所提供信息的一个子集。使用现有的IFC库可以更容易地做到这一点,即使这样,仍然需要了解IFC实体的结构及其层次结构,以遍历IFC文件中对象定义之间的关系(反向属性),以便重建所需的几何结构。

OBJ文件显式地定义了表示网格的顶点、法线和面,然而,虽然有一些IFC实体可以以类似的方式(即IfcConnectedFaceSet)表示网格,但是大多数定义在IFC文件中的几何应该被看作是一系列的指令/命令来重新创建几何图形。由于这个原因,您还需要一个几何库(它可以做诸如挤出、布尔/CSG操作、曲线、NURBS等)。例如,许多国际金融公司文件中表示的主要内容之一是建筑物的墙壁、门、窗等,虽然这些数据可以表示为明确的数据或断续,但在我的经验中,这些数据往往被表示为一个IfcExtrudedAreaSolid (https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcgeometricmodelresource/lexical/ifcextrudedareasolid.htm),它提供了挤压路径/轮廓曲线的方向和长度(由IfcProfileDef定义的曲线,它是IfcExtrudedAreaSolid,https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcprofileresource/lexical/ifcprofiledef.htm的属性)。如果有一个开口(即窗口凹槽或墙壁中的门开口),它再次(通过一个逆属性)与表示要通过几何布尔运算(CSG)移除的开口的几何图形相关,这就变得更加复杂了。正如你所看到的,它开始变得相当复杂,它不仅仅是在原始顶点,法线和面孔等中阅读的例子。

IFC文件中的所有几何都由对象定义,这些对象是IfcRepresentationItem (http://dcom.arch.gatech.edu/aci/cic/schema/ifcgeometryresource/lexical/ifcrepresentationitem.htm)的子类型,因此可以开始了解IFC使用的几何定义类型。模型中的其他项(即配置)更有可能由原始的tessellated数据(IfcFacetedBrep,https://standards.buildingsmart.org/IFC/RELEASE/IFC4_1/FINAL/HTML/schema/ifcgeometricmodelresource/lexical/ifcfacetedbrep.htm)表示,这是您更熟悉的几何学,并且有可能将这些定义隔离在IFC文件中,并集中处理(您仍然需要理解STEP格式,即所涉及的逆属性,以便忠实地生成网格几何图形)。此外,这个几何图形也可以显式定位(在世界空间中),但在许多情况下也是通过IfcPlacements (https://standards.buildingsmart.org/IFC/RELEASE/IFC2x3/TC1/HTML/ifcgeometryresource/lexical/ifcaxis2placement3d.htm)本地定位的,因此您需要基于这些定义构建转换层次结构。

简而言之,如果您想要RYO IFC解析器来获取几何学,这将是一个陡峭的学习曲线,要求您了解STEP/IFC之外的许多其他概念,只需了解几何类型和转换即可。更容易使用IFC库和几何图形库(虽然许多IFC库附带了几何图形库来帮助您这样做),但即使这样,根据所使用的库,您可能需要对所涉及的构建层次结构有一个基本的理解,以便正确地放置和重构大部分几何。

还请注意,虽然许多几何概念通过IFC的不同版本(IFc2x3、IFC4、IFC4 ADD1等)保持不变,但在某些情况下,与几何对象定义有关的模式有细微的差异。然而,IFC中的版本差异很大程度上与建筑层次结构有关,以及AEC中各个学科的相关信息。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/9594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档