获取IFCWALL元素的TotalThickness值



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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新