0

如何使用 Xbim.Ifc2x3 获取元素的TotalThickness值?IFCWALL

正如我所看到的,它包含在wallElement.Material=>ForLayerSet=>TotalThickness 或其中,wallElement.IsTypedBy=>Material=>TotalThickness 但是当我尝试通过代码访问它时,它无法识别TotalThickness属性。

4

1 回答 1

0

只需将材料层的所有厚度相加即可。但是不要忘记检查该材质实际上是一个材质层集,因为它可能是其他类型的材质。

var thickness = 
    (ifcWall.HasAssociations.OfType<IfcRelAssociatesMaterial>()
    .FirstOrDefault()?.RelatingMaterial as IfcMaterialLayerSetUsage)?
    .ForLayerSet?.MaterialLayers.Sum(l => l.LayerThickness);

您显然需要添加更多的空值检查逻辑,并且可能还需要检查其他可能的类型RelatingMaterial

于 2021-06-01T12:24:48.860 回答