예제 #1
0
 internal static void parseFields(IfcImageTexture t, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     try
     {
         IfcSurfaceTexture.parseFields(t, arrFields, ref ipos, schema);
         t.mUrlReference = arrFields[ipos++].Replace("'", "");
     }
     catch (Exception) { }
 }
예제 #2
0
 protected void Parse(string str, ref int pos, int len, ReleaseVersion schema)
 {
     base.Parse(str, ref pos, len);
     if (schema != ReleaseVersion.IFC2x3)
     {
         string s = ParserSTEP.StripField(str, ref pos, len);
         if (s[0] == '.')
             Enum.TryParse< IfcWallTypeEnum >(s.Substring(1, s.Length - 2), out mPredefinedType);
     }
 }
예제 #3
0
 internal static IfcQuantityArea Parse(string str, ReleaseVersion schema)
 {
     IfcQuantityArea q = new IfcQuantityArea();
     int pos = 0, len = str.Length;
     q.Parse(str, ref pos, len);
     string s = ParserSTEP.StripField(str, ref pos, len);
     if (!double.TryParse(s, System.Globalization.NumberStyles.Any, ParserSTEP.NumberFormat, out q.mAreaValue))
     {
         if (s.StartsWith("IFCAREAMEASURE"))
         {
             s = s.Substring(15, s.Length - 16);
             double.TryParse(s, out q.mAreaValue);
         }
     }
     if (schema != ReleaseVersion.IFC2x3)
         q.mFormula =  ParserSTEP.StripString(str, ref pos, len);
     return q;
 }
예제 #4
0
		internal static void parseFields(IfcExternalReferenceRelationship m, List<string> arrFields, ref int ipos, ReleaseVersion schema)
		{
			IfcResourceLevelRelationship.parseFields(m, arrFields, ref ipos,schema);
			m.mRelatingReference = ParserSTEP.ParseLink(arrFields[ipos++]);
			m.mRelatedResourceObjects = ParserSTEP.SplitListLinks(arrFields[ipos++]);
		}
예제 #5
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + ",#" + mPoints.Index + (mSegments.Count == 0 ? ",$," : ",(" + string.Join(",", mSegments) + "),") +
            (mSelfIntersect == IfcLogicalEnum.UNKNOWN ? "$" : (mSelfIntersect == IfcLogicalEnum.TRUE ? ".T." : ".F.")));
 }
예제 #6
0
 internal static void parseFields(IfcWindowLiningProperties p, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcPropertySetDefinition.parseFields(p, arrFields, ref ipos);
     p.mLiningDepth = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mLiningThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mTransomThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mMullionThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFirstTransomOffset = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mSecondTransomOffset = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFirstMullionOffset = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mSecondMullionOffset = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mShapeAspectStyle = ParserSTEP.ParseLink(arrFields[ipos++]);
     if (schema != ReleaseVersion.IFC2x3)
     {
         p.mLiningOffset = ParserSTEP.ParseDouble(arrFields[ipos++]);
         p.mLiningToPanelOffsetX = ParserSTEP.ParseDouble(arrFields[ipos++]);
         p.mLiningToPanelOffsetY = ParserSTEP.ParseDouble(arrFields[ipos++]);
     }
 }
예제 #7
0
 internal static IfcWorkSchedule Parse(string strDef, ReleaseVersion schema)
 {
     IfcWorkSchedule s = new IfcWorkSchedule(); int ipos = 0; parseFields(s, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return s;
 }
예제 #8
0
 internal static IfcFurnitureStandard Parse(string strDef, ReleaseVersion schema)
 {
     IfcFurnitureStandard s = new IfcFurnitureStandard(); int ipos = 0; IfcControl.parseFields(s, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return s;
 }
예제 #9
0
 internal static IfcImageTexture Parse(string strDef, ReleaseVersion schema)
 {
     IfcImageTexture t = new IfcImageTexture(); int ipos = 0; parseFields(t, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return t;
 }
예제 #10
0
 internal static IfcQuantityWeight Parse(string str, ReleaseVersion schema)
 {
     IfcQuantityWeight q = new IfcQuantityWeight();
     int pos = 0, len = str.Length;
     q.Parse(str, ref pos, len);
     string s = ParserSTEP.StripField(str, ref pos, len);
     if (!double.TryParse(s, out q.mWeightValue))
     {
         IfcMeasureValue mv = ParserIfc.parseMeasureValue(s);
         if (mv != null)
             q.mWeightValue = mv.Measure;
     }
     if (schema != ReleaseVersion.IFC2x3)
         q.mFormula = ParserSTEP.StripString(str, ref pos, len);
     return q;
 }
예제 #11
0
 protected virtual string BuildStringSTEP(ReleaseVersion release)
 {
     return("");
 }
예제 #12
0
 internal abstract void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary);
예제 #13
0
 internal static IfcLShapeProfileDef Parse(string strDef, ReleaseVersion schema)
 {
     IfcLShapeProfileDef p = new IfcLShapeProfileDef(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return(p);
 }
예제 #14
0
 internal static void parseFields(IfcLShapeProfileDef p, List <string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcParameterizedProfileDef.parseFields(p, arrFields, ref ipos);
     p.mDepth        = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mWidth        = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mThickness    = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mEdgeRadius   = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mLegSlope     = ParserSTEP.ParseDouble(arrFields[ipos++]);
     if (schema == ReleaseVersion.IFC2x3)
     {
         p.mCentreOfGravityInX = ParserSTEP.ParseDouble(arrFields[ipos++]);
         p.mCentreOfGravityInY = ParserSTEP.ParseDouble(arrFields[ipos++]);
     }
 }
예제 #15
0
 internal static void parseFields(IfcLaborResource r, List <string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcConstructionResource.parseFields(r, arrFields, ref ipos, schema);
     if (schema != ReleaseVersion.IFC2x3)
     {
         string str = arrFields[ipos++];
         if (str[0] == '.')
         {
             r.mPredefinedType = (IfcLaborResourceTypeEnum)Enum.Parse(typeof(IfcLaborResourceTypeEnum), str.Substring(1, str.Length - 2));
         }
     }
 }
예제 #16
0
 internal static IfcLaborResource Parse(string strDef, ReleaseVersion schema)
 {
     IfcLaborResource r = new IfcLaborResource(); int ipos = 0; parseFields(r, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return(r);
 }
예제 #17
0
 internal static void parseFields(IfcLibraryReference f, List <string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcExternalReference.parseFields(f, arrFields, ref ipos);
     if (schema != ReleaseVersion.IFC2x3)
     {
         f.mDescription       = arrFields[ipos++].Replace("'", "");
         f.mLanguage          = arrFields[ipos++].Replace("'", "");
         f.mReferencedLibrary = ParserSTEP.ParseLink(arrFields[ipos++]);
     }
 }
예제 #18
0
		internal static void parseFields(IfcEnvironmentalImpactValue v, List<string> arrFields, ref int ipos, ReleaseVersion schema) { IfcAppliedValue.parseFields(v, arrFields, ref ipos, schema); v.mImpactType = arrFields[ipos++]; v.mEnvCategory = (IfcEnvironmentalImpactCategoryEnum)Enum.Parse(typeof(IfcEnvironmentalImpactCategoryEnum), arrFields[ipos++].Replace(".", "")); v.mUserDefinedCategory = arrFields[ipos++]; }
예제 #19
0
 internal static void parseFields(IfcQuantityLength q, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcPhysicalSimpleQuantity.parseFields(q, arrFields, ref ipos);
     string str = arrFields[ipos++];
     if (!double.TryParse(str, out q.mLengthValue))
     {
         if (str.StartsWith("IFCLENGTHMEASURE"))
         {
             str = str.Substring(17, str.Length - 18);
             double.TryParse(str, out q.mLengthValue);
         }
     }
     if (schema != ReleaseVersion.IFC2x3)
         q.mFormula = arrFields[ipos++].Replace("'", "");
 }
예제 #20
0
 public VersionAddedAttribute(ReleaseVersion release)
 {
     Release = release;
 }
예제 #21
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(Math.Max(0, mLengthValue)) + (release < ReleaseVersion.IFC4 ? "" : (mFormula == "$" ? ",$" : ",'" + mFormula + "'")));
 }
예제 #22
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     mElements = ParserSTEP.StripListLink(str, ref pos, len);
     Enum.TryParse <IfcDerivedUnitEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mUnitType);
     mUserDefinedType = ParserSTEP.StripString(str, ref pos, len);
 }
예제 #23
0
 internal static IfcLibraryReference Parse(string strDef, ReleaseVersion schema)
 {
     IfcLibraryReference f = new IfcLibraryReference(); int ipos = 0; parseFields(f, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return(f);
 }
예제 #24
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + "," + ParserSTEP.LinkToString(mUnit) + "," + ParserSTEP.IntToString(mExponent));
 }
예제 #25
0
 internal static void parseFields(IfcFastenerType t, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcElementComponentType.parseFields(t, arrFields, ref ipos); if (schema != ReleaseVersion.IFC2x3) t.mPredefinedType = (IfcFastenerTypeEnum)Enum.Parse(typeof(IfcFastenerTypeEnum), arrFields[ipos++].Replace(".", ""));
 }
예제 #26
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     mUnit     = ParserSTEP.StripLink(str, ref pos, len);
     mExponent = ParserSTEP.StripInt(str, ref pos, len);
 }
예제 #27
0
 protected void Parse(string str, ref int pos, int len, ReleaseVersion schema)
 {
     base.Parse(str, ref pos, len);
     mOverallHeight = ParserSTEP.StripDouble(str, ref pos, len);
     mOverallWidth = ParserSTEP.StripDouble(str, ref pos, len);
     if (schema != ReleaseVersion.IFC2x3)
     {
         string s = ParserSTEP.StripField(str, ref pos, len);
         if (s.StartsWith("."))
             mPredefinedType = (IfcWindowTypeEnum)Enum.Parse(typeof(IfcWindowTypeEnum), s.Replace(".", ""));
         s = ParserSTEP.StripField(str, ref pos, len);
         if (s.StartsWith("."))
             mPredefinedType = (IfcWindowTypeEnum)Enum.Parse(typeof(IfcWindowTypeEnum), s.Replace(".", ""));
         mUserDefinedPartitioningType = ParserSTEP.StripString(str, ref pos, len);
     }
 }
예제 #28
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + "," + mLengthExponent + "," + mMassExponent + "," + mTimeExponent + "," + mElectricCurrentExponent + "," + mThermodynamicTemperatureExponent + "," + mAmountOfSubstanceExponent + "," + mLuminousIntensityExponent);
 }
예제 #29
0
 internal static new IfcWindowStandardCase Parse(string str, ReleaseVersion schema)
 {
     IfcWindowStandardCase w = new IfcWindowStandardCase(); int pos = 0; w.Parse(str, ref pos, str.Length, schema); return w;
 }
예제 #30
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     mAnnotatedBySymbols = ParserSTEP.StripListLink(str, ref pos, len);
 }
예제 #31
0
		internal static IfcExternalReferenceRelationship Parse(string strDef, ReleaseVersion schema) { IfcExternalReferenceRelationship m = new IfcExternalReferenceRelationship(); int ipos = 0; parseFields(m, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return m; }
예제 #32
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 <IfcDimensionExtentUsage>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mRole);
 }
예제 #33
0
		internal new static IfcEnvironmentalImpactValue Parse(string strDef, ReleaseVersion schema) { IfcEnvironmentalImpactValue v = new IfcEnvironmentalImpactValue(); int ipos = 0; parseFields(v, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return v; }
예제 #34
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + ",(" + ParserSTEP.DoubleToString(RoundRatio(mDirectionRatioX)) + "," +
            ParserSTEP.DoubleToString(RoundRatio(mDirectionRatioY)) + (double.IsNaN(mDirectionRatioZ) ? "" : "," + ParserSTEP.DoubleToString(RoundRatio(mDirectionRatioZ))) + ")");
 }
예제 #35
0
		internal static IfcEquipmentStandard Parse(string strDef, ReleaseVersion schema) { IfcEquipmentStandard s = new IfcEquipmentStandard(); int ipos = 0; parseFields(s, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return s; }
예제 #36
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(DistanceAlong) + "," + ParserSTEP.DoubleOptionalToString(OffsetLateral) + "," +
            ParserSTEP.DoubleOptionalToString(OffsetVertical) + "," + ParserSTEP.DoubleOptionalToString(mOffsetLongitudinal) + "," + ParserSTEP.BoolToString(AlongHorizontal));
 }
예제 #37
0
 internal static IfcQuantityTime Parse(string str, ReleaseVersion schema)
 {
     IfcQuantityTime q = new IfcQuantityTime();
     int pos = 0, len = str.Length;
     q.Parse(str, ref pos, len);
     double.TryParse(ParserSTEP.StripField(str, ref pos, len), out q.mTimeValue);
     if (schema != ReleaseVersion.IFC2x3)
         q.mFormula = ParserSTEP.StripString(str, ref pos, len);
     return q;
 }
예제 #38
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (mPredefinedType == IfcDistributionChamberElementTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType + ".")));
 }
예제 #39
0
 internal static void parseFields(IfcQuantityWeight q, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcPhysicalSimpleQuantity.parseFields(q, arrFields, ref ipos); q.mWeightValue = ParserSTEP.ParseDouble(arrFields[ipos++]); if (schema != ReleaseVersion.IFC2x3) q.mFormula = arrFields[ipos++].Replace("'", "");
 }
예제 #40
0
 internal static void parseFields(IfcIShapeProfileDef p, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcParameterizedProfileDef.parseFields(p, arrFields, ref ipos);
     p.mOverallWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mOverallDepth = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mWebThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
     if (schema != ReleaseVersion.IFC2x3)
     {
         p.mFlangeEdgeRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
         p.mFlangeSlope = ParserSTEP.ParseDouble(arrFields[ipos++]);
     }
 }
예제 #41
0
 internal override void changeSchema(ReleaseVersion schema)
 {
     base.changeSchema(schema);
     if (schema == ReleaseVersion.IFC2x3)
     {
         IfcCartesianPointList cpl = Points;
         IfcCartesianPointList2D cpl2d = cpl as IfcCartesianPointList2D;
         if (cpl2d != null)
         {
             IfcBoundedCurve bc = IfcBoundedCurve.Generate(mDatabase, cpl2d.mCoordList.ToList(), Segments);
             int index = bc.mIndex;
             mDatabase[mIndex] = bc;
             mDatabase[index] = null;
             mDatabase[cpl.mIndex] = null;
         }
         else
         {
             throw new Exception("Not Implemented");
         }
     }
 }
예제 #42
0
 internal static void parseFields(IfcUShapeProfileDef p, List<string> arrFields, ref int ipos,ReleaseVersion schema)
 {
     IfcParameterizedProfileDef.parseFields(p, arrFields, ref ipos);
     p.mDepth = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFlangeWidth = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mWebThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFlangeThickness = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFilletRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mEdgeRadius = ParserSTEP.ParseDouble(arrFields[ipos++]);
     p.mFlangeSlope = ParserSTEP.ParseDouble(arrFields[ipos++]);
     if(schema == ReleaseVersion.IFC2x3)
         p.mCentreOfGravityInX = ParserSTEP.ParseDouble(arrFields[ipos++]);
 }
예제 #43
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + ".");
 }
예제 #44
0
 internal static void parseFields(IfcLibraryInformation f, List <string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcExternalInformation.parseFields(f, arrFields, ref ipos);
     f.mName      = arrFields[ipos++].Replace("'", "");
     f.mVersion   = arrFields[ipos++].Replace("'", "");
     f.mPublisher = ParserSTEP.ParseLink(arrFields[ipos++]);
     if (schema == ReleaseVersion.IFC2x3)
     {
         ipos++;
         string str = arrFields[ipos++];
         f.mLibraryReference = ParserSTEP.SplitListLinks(str.Substring(1, str.Length - 2));
     }
     else
     {
         f.mVersionDate = arrFields[ipos++].Replace("'", "");
         f.mLocation    = arrFields[ipos++];
         f.mDescription = arrFields[ipos++];
     }
 }
예제 #45
0
 internal static IfcUShapeProfileDef Parse(string strDef, ReleaseVersion schema)
 {
     IfcUShapeProfileDef p = new IfcUShapeProfileDef(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos,schema); return p;
 }
예제 #46
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + (mControlElementId == "$" ? ",$" : ",'" + mControlElementId + "'"));
 }
예제 #47
0
 internal static void parseFields(IfcFurnitureType t, List<string> arrFields, ref int ipos,ReleaseVersion schema)
 {
     IfcFurnishingElementType.parseFields(t, arrFields, ref ipos);
     t.mAssemblyPlace = (IfcAssemblyPlaceEnum)Enum.Parse(typeof(IfcAssemblyPlaceEnum), arrFields[ipos++].Replace(".", ""));
     if (schema != ReleaseVersion.IFC2x3)
     {
         string s = arrFields[ipos++];
         if (s.StartsWith("."))
             t.mPredefinedType = (IfcFurnitureTypeEnum)Enum.Parse(typeof(IfcFurnitureTypeEnum), s.Replace(".", ""));
     }
 }
예제 #48
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);
     mControlElementId = ParserSTEP.StripString(str, ref pos, len);
 }
예제 #49
0
 internal static IfcFastenerType Parse(string strDef, ReleaseVersion schema)
 {
     int ipos = 0; IfcFastenerType t = new IfcFastenerType(); parseFields(t, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return t;
 }
예제 #50
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + ",." + mFlowDirection.ToString() + (release < ReleaseVersion.IFC4 ? "." : ".,." + mPredefinedType + ".,." + mSystemType + "."));
 }
예제 #51
0
 protected static void parseFields(IfcWorkControl c, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcControl.parseFields(c, arrFields, ref ipos,schema);
     if (schema == ReleaseVersion.IFC2x3)
     {
         c.mIdentification = arrFields[ipos++].Replace("'", "");
         c.mSSCreationDate = ParserSTEP.ParseLink(arrFields[ipos++]);
         c.mCreators = ParserSTEP.SplitListLinks(arrFields[ipos++]);
         c.mPurpose = arrFields[ipos++];
         c.mSSDuration = ParserSTEP.ParseDouble(arrFields[ipos++]);
         c.mSSTotalFloat = ParserSTEP.ParseDouble(arrFields[ipos++]);
         c.mSSStartTime = ParserSTEP.ParseLink(arrFields[ipos++]);
         c.mSSFinishTime = ParserSTEP.ParseLink(arrFields[ipos++]);
         string s = arrFields[ipos++];
         if (s[0] == '.')
             c.mWorkControlType = (IfcWorkControlTypeEnum)Enum.Parse(typeof(IfcWorkControlTypeEnum), s.Replace(".", ""));
         c.mUserDefinedControlType = arrFields[ipos++];
     }
     else
     {
         c.mCreationDate = arrFields[ipos++].Replace("'", "");
         c.mCreators = ParserSTEP.SplitListLinks(arrFields[ipos++]);
         c.mPurpose = arrFields[ipos++];
         c.mDuration = arrFields[ipos++];
         c.mTotalFloat = arrFields[ipos++];
         c.mStartTime = arrFields[ipos++].Replace("'", "");
         c.mFinishTime = arrFields[ipos++].Replace("'", "");
     }
 }
예제 #52
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (mPredefinedType == IfcDamperTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + ".")));
 }
예제 #53
0
 internal static void parseFields(IfcWorkSchedule s, List<string> arrFields, ref int ipos, ReleaseVersion schema)
 {
     IfcWorkControl.parseFields(s, arrFields, ref ipos,schema);
     if (schema != ReleaseVersion.IFC2x3)
     {
         string st = arrFields[ipos++];
         if (st.StartsWith("."))
             s.mPredefinedType = (IfcWorkScheduleTypeEnum)Enum.Parse(typeof(IfcWorkScheduleTypeEnum), st.Replace(".", ""));
     }
 }
예제 #54
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (mLongName == "$" ? ",$,." : ",'" + mLongName + "',.") + mPredefinedType.ToString() + "."));
 }
예제 #55
0
 internal static IfcWindowLiningProperties Parse(string strDef, ReleaseVersion schema)
 {
     IfcWindowLiningProperties p = new IfcWindowLiningProperties(); int ipos = 0; parseFields(p, ParserSTEP.SplitLineFields(strDef), ref ipos, schema); return p;
 }
예제 #56
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + (mFileExtension == "$" ? ",$," : ",'" + mFileExtension + ",',") + (mMimeContentType == "$" ? "$," : "'" + mMimeContentType + "',") + (mMimeSubtype == "$" ? "$" : "'" + mMimeSubtype + "'"));
 }
예제 #57
0
 internal static IfcWall Parse(string str, ReleaseVersion schema)
 {
     IfcWall w = new IfcWall(); int pos = 0; w.Parse(str, ref pos, str.Length, schema); return w;
 }
예제 #58
0
 internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary <int, BaseClassIfc> dictionary)
 {
     mFileExtension   = ParserSTEP.StripString(str, ref pos, len);
     mMimeContentType = ParserSTEP.StripString(str, ref pos, len);
     mMimeSubtype     = ParserSTEP.StripString(str, ref pos, len);
 }
예제 #59
0
		internal static void parseFields(IfcExtendedProperties p, List<string> arrFields, ref int ipos, ReleaseVersion schema)
		{
			IfcPropertyAbstraction.parseFields(p, arrFields, ref ipos);
			if (schema != ReleaseVersion.IFC2x3)
			{
				p.mName = arrFields[ipos++].Replace("'", "");
				p.mDescription = arrFields[ipos++].Replace("'", "");
				p.mProperties = ParserSTEP.SplitListLinks(arrFields[ipos++]);
			}
		}
예제 #60
0
 protected override string BuildStringSTEP(ReleaseVersion release)
 {
     return(base.BuildStringSTEP(release) + ",#" + mMappedTo.StepId + "," + ParserSTEP.DoubleOptionalToString(mOpacity) + "," +
            ParserSTEP.LinkToString(mColours) + ",(" + string.Join(",", mColourIndex) + ")");
 }