是否有人已经使用过 BuildingSmart 的 IFC(工业基础类),通常用于 BIM 项目和建筑领域?我想知道如何导航 IFC 对象以获取 IfcWallStandardCase 或仿射对象(即墙)的坐标。
我对获取所有或至少一个划分墙的顶点的坐标很感兴趣。请指明通过 Ifc 文件的 Ifc 对象的导航,以了解在 Ifc 文件中从 IfcWallStandardCase 或仿射对象开始的坐标信息的位置。
是否有人已经使用过 BuildingSmart 的 IFC(工业基础类),通常用于 BIM 项目和建筑领域?我想知道如何导航 IFC 对象以获取 IfcWallStandardCase 或仿射对象(即墙)的坐标。
我对获取所有或至少一个划分墙的顶点的坐标很感兴趣。请指明通过 Ifc 文件的 Ifc 对象的导航,以了解在 Ifc 文件中从 IfcWallStandardCase 或仿射对象开始的坐标信息的位置。
首先选择Representation
可选的属性IfcProduct
。您需要形状表示 ( IfcProductDefinitionShape
),而不是材料表示。如果有表示,您可能会得到多个表示,每个表示都有一个指定维度、精度和坐标系的上下文。由于您正在寻找坐标,因此您可能需要 type 的表示IfcShapeRepresentation
,而不是IfcTopologyRepresentation
。每个表示然后由多个表示项组成。
有几种类型的几何表示 - 检查IfcGeometricRepresentationItem
. 这是一个多面 BREP 的示例:每个表示项都是 type IfcFacetedBrep
,这在 IFC2x4 规范中得到了很好的解释。使用属性outer
,您将获得一个封闭的外壳,其中包含一组IfcFace
可通过属性到达的面 ( ) CfsFaces
。每个面都有一组边界 ( IfcFaceBound
, 属性Bounds
),每个边界由循环 ( IfcLoop
, 属性Bound
) 和方向定义。循环可能又是不同的类型,让我们假设IfcPolyLoop
。IfcCartesianPoint
那些在属性下有一个点列表( ) Polygon
,最后给你坐标(类型IfcLengthMeasure
是a REAL
)和属性Coordinates
.
请注意,这些坐标是相对于开头提到的几何上下文的坐标系的。上下文可以嵌套多个要解析的坐标变换,以获得绝对世界坐标。
属性名路径为:Representation
, Items
, CfsFaces
, Bounds
, Bound
, Polygon
, Coordinates
.