是否有人已经使用过BuildingSmart的IFC (工业基础类),通常用于BIM项目和构建域?我想知道如何导航IFC对象以获得IfcWallStandardCase或仿射对象的坐标(也就是墙)。
我感兴趣的是获得所有或至少一个划定隔离墙的顶点的坐标。请指出通过Ifc文件的Ifc对象的导航,以知道从IfcWallStandardCase或仿射对象开始在Ifc文件中定位坐标信息的位置。
发布于 2015-06-11 14:34:04
首先是Representation属性,它是IfcProduct的可选属性。您需要形状表示(IfcProductDefinitionShape),而不是物质表示。如果存在表示,则可以得到多个表示,每个表示都具有指定维度、精度和坐标系统的上下文。因为您正在寻找坐标,所以您可能需要IfcShapeRepresentation类型的表示,而不是IfcTopologyRepresentation。然后,每个表示都由多个表示项组成。
有几种几何表示形式--检查IfcGeometricRepresentationItem的继承树。下面是一个分面BREP的示例:然后每个表示项都是IfcFacetedBrep类型的,这是IFC2x4规范中的解释得很好。使用属性outer,您将得到一个封闭的外壳,它由一组可以通过属性CfsFaces访问的faces (IfcFace)组成。每个面都有一组边界(IfcFaceBound,属性Bounds),每个边界由一个循环(IfcLoop,属性Bound)和一个方向定义。循环可能是不同的类型,让我们假设IfcPolyLoop。它们在属性Polygon下有一个点列表(Polygon),它最终给出了带有属性Coordinates的坐标( IfcLengthMeasure类型为REAL)。
请注意,这些坐标是相对于开始提到的几何上下文的坐标系。上下文可以与要解析的多个坐标转换嵌套,以获得绝对世界坐标。
属性名的路径是:Representation、Items、CfsFaces、Bounds、Bound、Polygon、Coordinates。
https://stackoverflow.com/questions/29650409
复制相似问题