1

是否有人已经使用过 BuildingSmart 的 IFC(工业基础类),通常用于 BIM 项目和建筑领域?我想知道如何导航 IFC 对象以获取 IfcWallStandardCase 或仿射对象(即墙)的坐标。

我对获取所有或至少一个划分墙的顶点的坐标很感兴趣。请指明通过 Ifc 文件的 Ifc 对象的导航,以了解在 Ifc 文件中从 IfcWallStandardCase 或仿射对象开始的坐标信息的位置。

4

1 回答 1

2

首先选择Representation可选的属性IfcProduct。您需要形状表示 ( IfcProductDefinitionShape),而不是材料表示。如果有表示,您可能会得到多个表示,每个表示都有一个指定维度、精度和坐标系的上下文。由于您正在寻找坐标,因此您可能需要 type 的表示IfcShapeRepresentation,而不是IfcTopologyRepresentation。每个表示然后由多个表示项组成。

有几种类型的几何表示 - 检查IfcGeometricRepresentationItem. 这是一个多面 BREP 的示例:每个表示项都是 type IfcFacetedBrep,这在 IFC2x4 规范中得到了很好的解释。使用属性outer,您将获得一个封闭的外壳,其中包含一组IfcFace可通过属性到达的面 ( ) CfsFaces。每个面都有一组边界 ( IfcFaceBound, 属性Bounds),每个边界由循环 ( IfcLoop, 属性Bound) 和方向定义。循环可能又是不同的类型,让我们假设IfcPolyLoopIfcCartesianPoint那些在属性下有一个点列表( ) Polygon,最后给你坐标(类型IfcLengthMeasure是a REAL)和属性Coordinates.

请注意,这些坐标是相对于开头提到的几何上下文的坐标系的。上下文可以嵌套多个要解析的坐标变换,以获得绝对世界坐标。

属性名路径为:Representation, Items, CfsFaces, Bounds, Bound, Polygon, Coordinates.

于 2015-06-11T14:34:04.340 回答