Ejemplo 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);
     if (release < ReleaseVersion.IFC4)
     {
         mIdentification = ParserSTEP.StripString(str, ref pos, len);
         mSSCreationDate = ParserSTEP.StripLink(str, ref pos, len);
         Creators.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPerson));
         mPurpose      = ParserSTEP.StripString(str, ref pos, len);
         mSSDuration   = ParserSTEP.StripDouble(str, ref pos, len);
         mSSTotalFloat = ParserSTEP.StripDouble(str, ref pos, len);
         mSSStartTime  = ParserSTEP.StripLink(str, ref pos, len);
         mSSFinishTime = ParserSTEP.StripLink(str, ref pos, len);
         string s = ParserSTEP.StripField(str, ref pos, len);
         if (s.StartsWith("."))
         {
             Enum.TryParse <IfcWorkControlTypeEnum>(s.Replace(".", ""), true, out mWorkControlType);
         }
         mUserDefinedControlType = ParserSTEP.StripString(str, ref pos, len);
     }
     else
     {
         mCreationDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
         Creators.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPerson));
         mPurpose    = ParserSTEP.StripString(str, ref pos, len);
         mDuration   = ParserSTEP.StripString(str, ref pos, len);
         mTotalFloat = ParserSTEP.StripString(str, ref pos, len);
         mStartTime  = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
         mFinishTime = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
     }
 }
Ejemplo n.º 2
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);
     ActualDate   = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
     EarlyDate    = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
     LateDate     = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
     ScheduleDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
 }
Ejemplo n.º 3
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     mName      = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
     mVersion   = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
     mPublisher = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
     if (release < ReleaseVersion.IFC4)
     {
         mVersionDateSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCalendarDate;
         mLibraryReference.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcLibraryReference));
     }
     else
     {
         mVersionDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
         mLocation    = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
         mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
     }
 }
Ejemplo n.º 4
0
        internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
        {
            TimeStamp = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
            string s = ParserSTEP.StripField(str, ref pos, len);

            if (s != "$")
            {
                List <string> ss = ParserSTEP.SplitLineFields(s.Substring(1, s.Length - 2));
                for (int icounter = 0; icounter < ss.Count; icounter++)
                {
                    IfcValue v = ParserIfc.parseValue(ss[icounter]);
                    if (v != null)
                    {
                        mListValues.Add(v);
                    }
                }
            }
        }
Ejemplo n.º 5
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);
            }
        }