Esempio n. 1
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     base.parse(str, ref pos, release, len, dictionary);
     mRecurrencePattern = ParserSTEP.StripLink(str, ref pos, len);
     mStart             = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
     mFinish            = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
 }
Esempio n. 2
0
        internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
        {
            mName        = ParserSTEP.StripString(str, ref pos, len);
            mDescription = ParserSTEP.StripString(str, ref pos, len);
            string s = ParserSTEP.StripField(str, ref pos, len);

            if (s.StartsWith("IFC"))
            {
                mAppliedValue = ParserIfc.parseValue(s);
            }
            else
            {
                mAppliedValue = dictionary[ParserSTEP.ParseLink(s)] as IfcAppliedValueSelect;
            }
            mUnitBasis = ParserSTEP.StripLink(str, ref pos, len);
            if (release < ReleaseVersion.IFC4)
            {
                mSSApplicableDate = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
                mSSFixedUntilDate = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
            }
            else
            {
                mApplicableDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
                mFixedUntilDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
                mCategory       = ParserSTEP.StripString(str, ref pos, len);
                mCondition      = ParserSTEP.StripString(str, ref pos, len);
                s = ParserSTEP.StripField(str, ref pos, len);
                if (s.StartsWith("."))
                {
                    Enum.TryParse <IfcArithmeticOperatorEnum>(s.Replace(".", ""), true, out mArithmeticOperator);
                }
                mComponents = ParserSTEP.StripListLink(str, ref pos, len);
            }
        }
Esempio n. 3
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     base.parse(str, ref pos, release, len, dictionary);
     Enum.TryParse <IfcInventoryTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
     mJurisdiction = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
     mResponsiblePersons.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcPerson));
     if (release < ReleaseVersion.IFC4)
     {
         mLastUpdateDateSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCalendarDate;
     }
     else
     {
         mLastUpdateDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
     }
     mCurrentValue  = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCostValue;
     mOriginalValue = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCostValue;
 }
Esempio n. 4
0
        internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
        {
            mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
            mName           = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
            mDescription    = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
            if (release < ReleaseVersion.IFC4)
            {
                mDocumentReferences = ParserSTEP.StripListLink(str, ref pos, len);
            }
            else
            {
                mLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
            }
            mPurpose          = ParserSTEP.StripString(str, ref pos, len);
            mIntendedUse      = ParserSTEP.StripString(str, ref pos, len);
            mScope            = ParserSTEP.StripString(str, ref pos, len);
            mRevision         = ParserSTEP.StripString(str, ref pos, len);
            mDocumentOwner    = ParserSTEP.StripLink(str, ref pos, len);
            mEditors          = ParserSTEP.StripListLink(str, ref pos, len);
            mCreationTime     = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
            mLastRevisionTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
            if (release < ReleaseVersion.IFC4)
            {
                mSSElectronicFormat = ParserSTEP.StripLink(str, ref pos, len);
            }
            else
            {
                mElectronicFormat = ParserSTEP.StripString(str, ref pos, len);
            }
            mValidFrom  = IfcDate.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
            mValidUntil = IfcDate.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
            string s = ParserSTEP.StripField(str, ref pos, len);

            if (s[0] == '.')
            {
                Enum.TryParse <IfcDocumentConfidentialityEnum>(s.Replace(".", ""), true, out mConfidentiality);
            }
            s = ParserSTEP.StripField(str, ref pos, len);
            if (s[0] == '.')
            {
                Enum.TryParse <IfcDocumentStatusEnum>(s.Replace(".", ""), true, out mStatus);
            }
        }
Esempio n. 5
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     base.parse(str, ref pos, release, len, dictionary);
     mIdentification       = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
     mOriginalValue        = ParserSTEP.StripLink(str, ref pos, len);
     mCurrentValue         = ParserSTEP.StripLink(str, ref pos, len);
     mTotalReplacementCost = ParserSTEP.StripLink(str, ref pos, len);
     mOwner             = ParserSTEP.StripLink(str, ref pos, len);
     mUser              = ParserSTEP.StripLink(str, ref pos, len);
     mResponsiblePerson = ParserSTEP.StripLink(str, ref pos, len);
     if (release < ReleaseVersion.IFC4)
     {
         mIncorporationDateSS = ParserSTEP.StripLink(str, ref pos, len);
     }
     else
     {
         mIncorporationDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
     }
     mDepreciatedValue = ParserSTEP.StripLink(str, ref pos, len);
 }