В базовых c операциях в примерах xbim https://docs.xbim.net/examples/basic-model-operations.html показано, как получить свойства с одним значением указанного c IfcElement. На основании этого я попытался получить данные материала.
Я написал следующее:
var id = "3NBPkknun6EuV9fpeE6rFh";
var theWall = model.Instances.FirstOrDefault<IIfcElement>(d => d.GlobalId == id);
var materials = theWall.HasAssociations
.Where(r => r.RelatingMaterial is IIfcMaterialProfileSet)
.SelectMany(r=> ((IIfcMaterialProfileSet)r.RelatingMaterial).MaterialProfiles)
.OfType<IIfcMaterialProfile>();
Это дает мне такую ошибку:
«IIfcRelAssociates» не содержит определения для «RelatingMaterial», и не может быть найден доступный метод расширения «RelatingMaterial», принимающий первый аргумент типа «IIfcRelAssociates» (вам не хватает директивы using или ссылки на сборку?)
Я понимаю, что мне нужно использовать IfcRelAssociatesMaterial, но не могу понять, как это сделать. Как я могу получить информацию о материалах?