public void SetOrChangeConversionUnit(IfcUnitEnum unitType, ConversionBasedUnit conversionUnit) { if (UnitsInContext == null) { UnitsInContext = Model.Instances.New <IfcUnitAssignment>(); } IfcUnitAssignment unitsAssignment = UnitsInContext; unitsAssignment.SetOrChangeConversionUnit(unitType, conversionUnit); }
public static void SetOrChangeConversionUnit(this IfcProject ifcProject, IfcUnitEnum unitType, ConversionBasedUnit conversionUnit) { IModel model = ifcProject.ModelOf; if (ifcProject.UnitsInContext == null) { ifcProject.UnitsInContext = model.Instances.New <IfcUnitAssignment>(); } IfcUnitAssignment unitsAssignment = ifcProject.UnitsInContext; unitsAssignment.SetOrChangeConversionUnit(unitType, conversionUnit); }
public void SetOrChangeConversionUnit(IfcUnitEnum unitType, ConversionBasedUnit unit) { var si = Units.OfType <IfcSIUnit>().FirstOrDefault(u => u.UnitType == unitType); if (si != null) { Units.Remove(si); try { Model.Delete(si); } catch (Exception) { // ignored } } Units.Add(GetNewConversionUnit(Model, unitType, unit)); }
private static IfcConversionBasedUnit GetNewConversionUnit(IModel model, IfcUnitEnum unitType, ConversionBasedUnit unitEnum) { IfcConversionBasedUnit unit = model.Instances.New <IfcConversionBasedUnit>(); unit.UnitType = unitType; switch (unitEnum) { case ConversionBasedUnit.INCH: SetConversionUnitsParameters(model, unit, "inch", 25.4, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.FOOT: SetConversionUnitsParameters(model, unit, "foot", 304.8, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.YARD: SetConversionUnitsParameters(model, unit, "yard", 914, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.MILE: SetConversionUnitsParameters(model, unit, "mile", 1609, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, null, GetLengthDimension(model)); break; case ConversionBasedUnit.ACRE: SetConversionUnitsParameters(model, unit, "acre", 4046.86, IfcUnitEnum.AREAUNIT, IfcSIUnitName.SQUARE_METRE, null, GetAreaDimension(model)); break; case ConversionBasedUnit.LITRE: SetConversionUnitsParameters(model, unit, "litre", 0.001, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.PINT_UK: SetConversionUnitsParameters(model, unit, "pint UK", 0.000568, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.PINT_US: SetConversionUnitsParameters(model, unit, "pint US", 0.000473, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.GALLON_UK: SetConversionUnitsParameters(model, unit, "gallon UK", 0.004546, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.GALLON_US: SetConversionUnitsParameters(model, unit, "gallon US", 0.003785, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.OUNCE: SetConversionUnitsParameters(model, unit, "ounce", 28.35, IfcUnitEnum.MASSUNIT, IfcSIUnitName.GRAM, null, GetMassDimension(model)); break; case ConversionBasedUnit.POUND: SetConversionUnitsParameters(model, unit, "pound", 0.454, IfcUnitEnum.MASSUNIT, IfcSIUnitName.GRAM, IfcSIPrefix.KILO, GetMassDimension(model)); break; case ConversionBasedUnit.SQUARE_FOOT: SetConversionUnitsParameters(model, unit, "square foot", 92903.04, IfcUnitEnum.AREAUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetAreaDimension(model)); break; case ConversionBasedUnit.CUBIC_FOOT: SetConversionUnitsParameters(model, unit, "cubic foot", 28316846.6, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetVolumeDimension(model)); break; } return(unit); }
public static void SetOrChangeConversionUnit(this IfcUnitAssignment ua, IfcUnitEnum unitType, ConversionBasedUnit unit) { IModel model = ua.ModelOf; IfcSIUnit si = ua.Units.OfType <IfcSIUnit>().FirstOrDefault(u => u.UnitType == unitType); if (si != null) { ua.Units.Remove(si); try { model.Delete(si); } catch (Exception) {} } ua.Units.Add(GetNewConversionUnit(model, unitType, unit)); }
private static IfcConversionBasedUnit GetNewConversionUnit(IModel model, IfcUnitEnum unitType, ConversionBasedUnit unitEnum) { IfcConversionBasedUnit unit = model.Instances.New<IfcConversionBasedUnit>(); unit.UnitType = unitType; switch (unitEnum) { case ConversionBasedUnit.INCH: SetConversionUnitsParameters(model, unit, "inch", 25.4, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.FOOT: SetConversionUnitsParameters(model, unit, "foot", 304.8, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.YARD: SetConversionUnitsParameters(model, unit, "yard", 914, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetLengthDimension(model)); break; case ConversionBasedUnit.MILE: SetConversionUnitsParameters(model, unit, "mile", 1609, IfcUnitEnum.LENGTHUNIT, IfcSIUnitName.METRE, null, GetLengthDimension(model)); break; case ConversionBasedUnit.ACRE: SetConversionUnitsParameters(model, unit, "acre", 4046.86, IfcUnitEnum.AREAUNIT, IfcSIUnitName.SQUARE_METRE, null, GetAreaDimension(model)); break; case ConversionBasedUnit.LITRE: SetConversionUnitsParameters(model, unit, "litre", 0.001, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.PINT_UK: SetConversionUnitsParameters(model, unit, "pint UK", 0.000568, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.PINT_US: SetConversionUnitsParameters(model, unit, "pint US", 0.000473, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.GALLON_UK: SetConversionUnitsParameters(model, unit, "gallon UK", 0.004546, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.GALLON_US: SetConversionUnitsParameters(model, unit, "gallon US", 0.003785, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.CUBIC_METRE, null, GetVolumeDimension(model)); break; case ConversionBasedUnit.OUNCE: SetConversionUnitsParameters(model, unit, "ounce", 28.35, IfcUnitEnum.MASSUNIT, IfcSIUnitName.GRAM, null, GetMassDimension(model)); break; case ConversionBasedUnit.POUND: SetConversionUnitsParameters(model, unit, "pound", 0.454, IfcUnitEnum.MASSUNIT, IfcSIUnitName.GRAM, IfcSIPrefix.KILO, GetMassDimension(model)); break; case ConversionBasedUnit.SQUARE_FOOT: SetConversionUnitsParameters(model, unit, "square foot", 92903.04 , IfcUnitEnum.AREAUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetAreaDimension(model)); break; case ConversionBasedUnit.CUBIC_FOOT: SetConversionUnitsParameters(model, unit, "cubic foot", 28316846.6, IfcUnitEnum.VOLUMEUNIT, IfcSIUnitName.METRE, IfcSIPrefix.MILLI, GetVolumeDimension(model)); break; } return unit; }
public static void SetOrChangeConversionUnit(this IfcUnitAssignment ua, IfcUnitEnum unitType, ConversionBasedUnit unit) { IModel model = ua.ModelOf; IfcSIUnit si = ua.Units.OfType<IfcSIUnit>().FirstOrDefault(u => u.UnitType == unitType); if (si != null) { ua.Units.Remove(si); try { model.Delete(si); } catch (Exception){} } ua.Units.Add(GetNewConversionUnit(model, unitType, unit)); }
public static void SetOrChangeConversionUnit(this IfcProject ifcProject, IfcUnitEnum unitType, ConversionBasedUnit conversionUnit) { IModel model = ifcProject.ModelOf; if (ifcProject.UnitsInContext == null) { ifcProject.UnitsInContext = model.Instances.New<IfcUnitAssignment>(); } IfcUnitAssignment unitsAssignment = ifcProject.UnitsInContext; unitsAssignment.SetOrChangeConversionUnit(unitType, conversionUnit); }