IFC对象导航以检索Wall坐标

时间:2015-04-15 12:36:07

标签: ifc

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

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

1 个答案:

答案 0 :(得分:2)

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

有几种类型的几何表示 - 检查IfcGeometricRepresentationItem的继承树。以下是分面BREP的示例:每个表示项的类型为IfcFacetedBrep,在IFC2x4规范中为explained nicely。使用属性outer,您将获得一个封闭的shell,其中包含一组可通过属性IfcFace访问的面(CfsFaces)。每个面都有一组边界(IfcFaceBound,属性Bounds),每个边界由循环(IfcLoop,属性Bound)和方向定义。循环可以是不同的类型,我们假设IfcPolyLoop。这些点在IfcCartesianPoint属性下有一个点列表(Polygon),最终为您提供属性为{{1的坐标(IfcLengthMeasure类型的REAL) }}

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

属性名称的路径为:CoordinatesRepresentationItemsCfsFacesBoundsBound,{{1} }。