private static CcManufacturerProductDetail GetDetailsFromProperty(IfcProperty prop) { CcManufacturerProductDetail result = null; if (prop is IfcPropertySingleValue) { IfcPropertySingleValue single = prop as IfcPropertySingleValue; result = new CcManufacturerProductDetail() { AttributeName = single.Name }; result.AttributeValue = GetNominalValue(single.NominalValue); } else if (prop is IfcPropertyEnumeratedValue) { IfcPropertyEnumeratedValue enumval = prop as IfcPropertyEnumeratedValue; result = new CcManufacturerProductDetail() { AttributeName = enumval.Name, AttributeDescription = enumval.Description }; result.AttributeValue = GetEnumeratedValue(enumval.EnumerationValues); } else { throw new NotImplementedException(); } return(result); }
private static List <CcManufacturerProductDetail> GetAttributesForProduct(Document document, IfcPropertySet pset) { List <CcManufacturerProductDetail> details = new List <CcManufacturerProductDetail>(); foreach (IfcProperty prop in pset.HasProperties.Items) { CcManufacturerProductDetail det = GetDetailsFromProperty(prop); if (det != null) { details.Add(det); } } return(details); }