GeometryGym.Ifc.IfcUnitAssignment.SetUnits C# (CSharp) Méthode

SetUnits() private méthode

private SetUnits ( Length length ) : void
length Length
Résultat void
        internal void SetUnits(Length length)
        {
            if (length == Length.Millimetre)
            {
                mUnits.Add(new IfcSIUnit(mDatabase, IfcUnitEnum.LENGTHUNIT, IfcSIPrefix.MILLI, IfcSIUnitName.METRE).mIndex);
                mDatabase.ScaleSI = 0.001;
            }
            else if (length == Length.Centimetre)
            {
                mUnits.Add(new IfcSIUnit(mDatabase, IfcUnitEnum.LENGTHUNIT, IfcSIPrefix.CENTI, IfcSIUnitName.METRE).mIndex);
                mDatabase.ScaleSI = 0.01;

            }
            else if (length == Length.Inch)
            {
                IfcMeasureWithUnit mwu = new IfcMeasureWithUnit(new IfcLengthMeasure(0.0254), mDatabase.Factory.SILength);
                mUnits.Add(new IfcConversionBasedUnit(IfcUnitEnum.LENGTHUNIT, "Inches", mwu).mIndex);
                mDatabase.ScaleSI = 0.0254;
            }
            else if (length == Length.Foot)
            {
                IfcMeasureWithUnit mwu = new IfcMeasureWithUnit(new IfcLengthMeasure(FeetToMetre), mDatabase.Factory.SILength);
                mUnits.Add(new IfcConversionBasedUnit(IfcUnitEnum.LENGTHUNIT, "Feet", mwu).mIndex);
                mDatabase.ScaleSI = FeetToMetre;
            }
            else
            {
                mUnits.Add(mDatabase.Factory.SILength.mIndex);
                mDatabase.ScaleSI = 1;
            }
            SetUnits();
        }

Same methods

IfcUnitAssignment::SetUnits ( ) : void

Usage Example

Exemple #1
0
		protected IfcContext(DatabaseIfc m, string name, IfcUnitAssignment.Length length) : base(m)
		{
			Name = name;
			if (m.mGeomRepContxt != null)
				mRepresentationContexts.Add(m.mGeomRepContxt.mIndex);
			IfcUnitAssignment u = new IfcUnitAssignment(m);
			u.SetUnits(length);
			mUnitsInContext = u.mIndex;
			mIsDecomposedBy.Clear(); //??? Jon
		}