public IBimMaterial Convert (XbimMaterial material) { string matName = material.Name; IBimMaterial tMaterial = Target.GetMaterial(matName); if (tMaterial != null) return null; string lookUpMaterial = material.SingleProperties.GetProperty_string("nbl_MaterialCommon", "RevitMaterial"); try { if (lookUpMaterial == null) { tMaterial = Target.NewMaterial(matName); } else { tMaterial = Target.NewMaterial(matName, lookUpMaterial); } } catch (Exception e) { throw new Exception("Error while creating new material '" + matName + "':" + e.Message); } Source.PropertiesHelper.Convert(tMaterial.SingleProperties, material.SingleProperties); Source.AddConvertedObject(material); return tMaterial; }
public double? GetMaterialArea(XbimMaterial material) { IfcLabel materialName = material.Name; IfcValue value = _object != null ? _object.GetPropertyTableItemValue(_pSetName, _pAreaName, materialName) : _typeObject.GetPropertyTableItemValue(_pSetName, _pAreaName, materialName); if (value == null) return null; IfcAreaMeasure volumeMeasure = (IfcAreaMeasure)value; return (double)volumeMeasure; }
public void SetMaterialArea(XbimMaterial material, double area) { IfcAreaMeasure volumeMeasure = area; IfcLabel materialName = material.Name; if (_object != null) _object.SetPropertyTableItemValue(_pSetName, _pAreaName, materialName, volumeMeasure); else _typeObject.SetPropertyTableItemValue(_pSetName, _pAreaName, materialName, volumeMeasure); }
public void SetMaterialVolume(XbimMaterial material, double volume) { IfcVolumeMeasure volumeMeasure = volume; IfcLabel materialName = material.Name; if (_object != null) _object.SetPropertyTableItemValue(_pSetName, _pVolumeName, materialName, volumeMeasure); else _typeObject.SetPropertyTableItemValue(_pSetName, _pVolumeName, materialName, volumeMeasure); }