v0.2.07
This commit is contained in:
Родитель
359ae62b53
Коммит
09a0f173b5
|
@ -204,6 +204,21 @@ namespace GeometryGym.Ifc
|
|||
return ReleaseVersion.IFC4X3;
|
||||
return ReleaseVersion.IFC4A2;
|
||||
}
|
||||
|
||||
internal override void ProcessFileDescription()
|
||||
{
|
||||
base.ProcessFileDescription();
|
||||
foreach (string description in OriginatingFileInformation.FileDescriptions)
|
||||
{
|
||||
string modelView = description.ToLower();
|
||||
if (modelView.Contains("coordination"))
|
||||
ModelView = ModelView.Ifc2x3Coordination;
|
||||
else if (modelView.Contains("referenceview"))
|
||||
ModelView = ModelView.Ifc4Reference;
|
||||
else if (modelView.Contains("designtransfer"))
|
||||
ModelView = ModelView.Ifc4DesignTransfer;
|
||||
}
|
||||
}
|
||||
public double Tolerance
|
||||
{
|
||||
get { return mModelTolerance; }
|
||||
|
@ -462,6 +477,8 @@ namespace GeometryGym.Ifc
|
|||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public class DuplicateMapping
|
||||
{
|
||||
private Dictionary<string, int> mDictionary = new Dictionary<string, int>();
|
||||
|
@ -2482,13 +2499,13 @@ namespace GeometryGym.Ifc
|
|||
if(obj is IfcRoot root)
|
||||
root.GlobalId = ParserSTEP.StripString(def, ref pos, def.Length);
|
||||
else if(obj is IfcProperty property)
|
||||
property.Name = ParserIfc.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
property.Name = ParserSTEP.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
else if(obj is IfcPropertyTemplate propertyTemplate)
|
||||
propertyTemplate.Name = ParserIfc.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
propertyTemplate.Name = ParserSTEP.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
else if(obj is IfcPhysicalQuantity quantity)
|
||||
quantity.Name = ParserIfc.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
quantity.Name = ParserSTEP.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
else if(obj is IfcMaterialConstituent materialConstituent)
|
||||
materialConstituent.Name = ParserIfc.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
materialConstituent.Name = ParserSTEP.Decode(ParserSTEP.StripString(def, ref pos, def.Length));
|
||||
}
|
||||
}
|
||||
catch (Exception) { }
|
||||
|
@ -2509,86 +2526,47 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
internal bool processFileHeaderLine(string line)
|
||||
{
|
||||
string ts = line.Replace(" ", "");
|
||||
if (ts.StartsWith("FILE_SCHEMA(('IFC2X4", true, CultureInfo.CurrentCulture) ||
|
||||
ts.StartsWith("FILE_SCHEMA(('IFC4", true, CultureInfo.CurrentCulture))
|
||||
string lineNoSpaces = ParserSTEP.StripComments(line).Replace(" ", "");
|
||||
if(lineNoSpaces.StartsWith("FILE_SCHEMA"))
|
||||
{
|
||||
if (ts.StartsWith("FILE_SCHEMA(('IFC4X1", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X1;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X2", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X2;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X3_RC1", true, CultureInfo.CurrentCulture) ||
|
||||
ts.StartsWith("FILE_SCHEMA(('IFC4X3_RC1", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC1;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X3_RC2", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC2;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X3_RC3", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC3;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X3_RC4", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC4;
|
||||
else if (ts.StartsWith("FILE_SCHEMA(('IFC4X3", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3;
|
||||
else
|
||||
mDatabase.Release = ReleaseVersion.IFC4;
|
||||
if (mDatabase.Release > ReleaseVersion.IFC2x3)
|
||||
if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC2X4", true, CultureInfo.CurrentCulture) ||
|
||||
lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4", true, CultureInfo.CurrentCulture))
|
||||
{
|
||||
if (mDatabase.Release == ReleaseVersion.IFC4X1)
|
||||
mDatabase.ModelView = ModelView.Ifc4X1NotAssigned;
|
||||
else if (mDatabase.Release == ReleaseVersion.IFC4X2)
|
||||
mDatabase.ModelView = ModelView.Ifc4X2NotAssigned;
|
||||
else if(mDatabase.Release > ReleaseVersion.IFC4X2)
|
||||
if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X1", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X1;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X2", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X2;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3_RC1", true, CultureInfo.CurrentCulture) ||
|
||||
lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3_RC1", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC1;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3_RC2", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC2;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3_RC3", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC3;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3_RC4", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3_RC4;
|
||||
else if (lineNoSpaces.StartsWith("FILE_SCHEMA(('IFC4X3", true, CultureInfo.CurrentCulture))
|
||||
mDatabase.Release = ReleaseVersion.IFC4X3;
|
||||
else
|
||||
mDatabase.Release = ReleaseVersion.IFC4;
|
||||
if (mDatabase.Release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mDatabase.ModelView = ModelView.Ifc4X3NotAssigned;
|
||||
}
|
||||
else if (mDatabase.ModelView == ModelView.Ifc2x3Coordination || mDatabase.ModelView == ModelView.Ifc2x3NotAssigned)
|
||||
mDatabase.ModelView = ModelView.Ifc4NotAssigned;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (ts.StartsWith("FILE_DESCRIPTION", true, System.Globalization.CultureInfo.CurrentCulture))
|
||||
{
|
||||
int pos1 = ts.IndexOf('('), pos2 = ts.LastIndexOf(')');
|
||||
if (pos1 > 1 && pos2 > pos1)
|
||||
{
|
||||
string str = ts.Substring(pos1 + 1, pos2 - pos1 - 2);
|
||||
List<string> fields = ParserSTEP.SplitLineFields(str);
|
||||
if(fields.Count > 0)
|
||||
{
|
||||
string modelView = fields[0].ToLower();
|
||||
if (modelView.Contains("coordination"))
|
||||
mDatabase.ModelView = ModelView.Ifc2x3Coordination;
|
||||
else if (modelView.Contains("referenceview"))
|
||||
mDatabase.ModelView = ModelView.Ifc4Reference;
|
||||
else if (modelView.Contains("designtransfer"))
|
||||
mDatabase.ModelView = ModelView.Ifc4DesignTransfer;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
if (ts.StartsWith("FILE_NAME", true, System.Globalization.CultureInfo.CurrentCulture))
|
||||
{
|
||||
try
|
||||
{
|
||||
int pos1 = ts.IndexOf('('), pos2 = ts.LastIndexOf(')');
|
||||
if (pos1 > 1 && pos2 > pos1)
|
||||
{
|
||||
string str = ts.Substring(pos1 + 1, pos2 - pos1 - 2);
|
||||
List<string> fields = ParserSTEP.SplitLineFields(str);
|
||||
if (fields.Count > 1)
|
||||
if (mDatabase.Release == ReleaseVersion.IFC4X1)
|
||||
mDatabase.ModelView = ModelView.Ifc4X1NotAssigned;
|
||||
else if (mDatabase.Release == ReleaseVersion.IFC4X2)
|
||||
mDatabase.ModelView = ModelView.Ifc4X2NotAssigned;
|
||||
else if (mDatabase.Release > ReleaseVersion.IFC4X2)
|
||||
{
|
||||
string field = ParserSTEP.StripComments(fields[1].Replace("'", "").Trim());
|
||||
DateTime dateTime = DateTime.MinValue;
|
||||
if (DateTime.TryParse(field, out dateTime))
|
||||
mDatabase.TimeStamp = dateTime;
|
||||
if(fields.Count > 5)
|
||||
mDatabase.OriginatingSystem = ParserSTEP.StripComments(fields[5].Replace("'", ""));
|
||||
mDatabase.ModelView = ModelView.Ifc4X3NotAssigned;
|
||||
}
|
||||
else if (mDatabase.ModelView == ModelView.Ifc2x3Coordination || mDatabase.ModelView == ModelView.Ifc2x3NotAssigned)
|
||||
mDatabase.ModelView = ModelView.Ifc4NotAssigned;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch { }
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
return mDatabase.processFileHeaderLine(line);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2743,27 +2721,27 @@ namespace GeometryGym.Ifc
|
|||
lines.Add("ISO-10303-21;\r\nHEADER;\r\nFILE_DESCRIPTION(('ViewDefinition [" + modelView + "]'),'2;1');");
|
||||
|
||||
lines.Add("FILE_NAME(");
|
||||
lines.Add("/* name */ '" + ParserIfc.Encode(fileName) + "',");
|
||||
lines.Add("/* name */ '" + ParserSTEP.Encode(fileName) + "',");
|
||||
DateTime now = DateTime.Now;
|
||||
lines.Add("/* time_stamp */ '" + now.Year + "-" + (now.Month < 10 ? "0" : "") + now.Month + "-" + (now.Day < 10 ? "0" : "") + now.Day + "T" + (now.Hour < 10 ? "0" : "") + now.Hour + ":" + (now.Minute < 10 ? "0" : "") + now.Minute + ":" + (now.Second < 10 ? "0" : "") + now.Second + "',");
|
||||
IfcPerson person = mDatabase.Factory.mPerson;
|
||||
string authorName = person == null ? mDatabase.Factory.PersonIdentification() : person.Name;
|
||||
lines.Add("/* author */ ('" + ParserIfc.Encode(authorName) + "'),");
|
||||
lines.Add("/* author */ ('" + ParserSTEP.Encode(authorName) + "'),");
|
||||
string organizationName = IfcOrganization.Organization;
|
||||
IfcOrganization organization = mDatabase.Factory.Organization;
|
||||
if (organization != null)
|
||||
organizationName = organization.Name;
|
||||
lines.Add("/* organization */ ('" + ParserIfc.Encode(organizationName) + "'),");
|
||||
lines.Add("/* preprocessor_version */ '" + ParserIfc.Encode(mDatabase.Factory.ToolkitName) + "',");
|
||||
lines.Add("/* originating_system */ '" + ParserIfc.Encode(mDatabase.Factory.ApplicationFullName) + "',");
|
||||
lines.Add("/* organization */ ('" + ParserSTEP.Encode(organizationName) + "'),");
|
||||
lines.Add("/* preprocessor_version */ '" + ParserSTEP.Encode(mDatabase.Factory.ToolkitName) + "',");
|
||||
lines.Add("/* originating_system */ '" + ParserSTEP.Encode(mDatabase.Factory.ApplicationFullName) + "',");
|
||||
|
||||
lines.Add("/* authorization */ '" + (string.IsNullOrEmpty(mDatabase.Authorization) ? "None" : ParserIfc.Encode(mDatabase.Authorization)) + "'");
|
||||
lines.Add("/* authorization */ '" + (string.IsNullOrEmpty(mDatabase.Authorization) ? "None" : ParserSTEP.Encode(mDatabase.Authorization)) + "'");
|
||||
if(mDatabase.Comments.Count > 0)
|
||||
{
|
||||
foreach (string comment in mDatabase.Comments)
|
||||
{
|
||||
if(!string.IsNullOrEmpty(comment))
|
||||
lines.Add("/* " + ParserIfc.Encode(comment) + "*/");
|
||||
lines.Add("/* " + ParserSTEP.Encode(comment) + "*/");
|
||||
}
|
||||
}
|
||||
lines.Add(");");
|
||||
|
|
|
@ -1459,9 +1459,9 @@ namespace GeometryGym.Ifc
|
|||
internal string mApplicationIdentifier;// : IfcIdentifier;
|
||||
|
||||
public IfcOrganization ApplicationDeveloper { get { return mApplicationDeveloper; } set { mApplicationDeveloper = value; } }
|
||||
public string Version { get { return mVersion; } set { mVersion = ParserIfc.Encode(value); } }
|
||||
public string ApplicationFullName { get { return ParserIfc.Decode(mApplicationFullName); } set { mApplicationFullName = ParserIfc.Encode(value); } }
|
||||
public string ApplicationIdentifier { get { return ParserIfc.Decode(mApplicationIdentifier); } set { mApplicationIdentifier = ParserIfc.Encode(value); } }
|
||||
public string Version { get { return mVersion; } set { mVersion = ParserSTEP.Encode(value); } }
|
||||
public string ApplicationFullName { get { return ParserSTEP.Decode(mApplicationFullName); } set { mApplicationFullName = ParserSTEP.Encode(value); } }
|
||||
public string ApplicationIdentifier { get { return ParserSTEP.Decode(mApplicationIdentifier); } set { mApplicationIdentifier = ParserSTEP.Encode(value); } }
|
||||
|
||||
public string Name { get { return ApplicationFullName; } set { ApplicationFullName = value; } }
|
||||
|
||||
|
|
|
@ -506,7 +506,7 @@ namespace GeometryGym.Ifc
|
|||
public string Name { get { return mName; } set { mName = (string.IsNullOrEmpty(value) ? "Unknown" : value); } }
|
||||
public string Description { get { return mDescription; } set { mDescription = value; } }
|
||||
public string Specification { get { return mSpecification; } set { mSpecification = value; } }
|
||||
public List<string> ReferenceTokens { get { return mReferenceTokens.ConvertAll(x => ParserIfc.Decode(x)); } }
|
||||
public List<string> ReferenceTokens { get { return mReferenceTokens.ConvertAll(x => ParserSTEP.Decode(x)); } }
|
||||
public SET<IfcRelAssociatesClassification> ClassificationForObjects { get { return mClassificationForObjects; } }
|
||||
public SET<IfcClassificationReference> HasReferences { get { return mHasReferences; } }
|
||||
|
||||
|
@ -1658,7 +1658,7 @@ namespace GeometryGym.Ifc
|
|||
public SET<IfcExternalReferenceRelationship> HasExternalReference { get { return mHasExternalReference; } }
|
||||
public SET<IfcResourceConstraintRelationship> HasConstraintRelationships { get { return mHasConstraintRelationships; } }
|
||||
|
||||
public string Name { get { return ParserIfc.Decode(mName); } set { mName = ParserIfc.Encode(value); } }
|
||||
public string Name { get { return ParserSTEP.Decode(mName); } set { mName = ParserSTEP.Encode(value); } }
|
||||
public IfcMeasureWithUnit ConversionFactor { get { return mConversionFactor; } set { mConversionFactor = value; } }
|
||||
|
||||
internal IfcConversionBasedUnit() : base() { }
|
||||
|
|
|
@ -154,7 +154,7 @@ namespace GeometryGym.Ifc
|
|||
public IfcFacetedBrepWithVoids(IfcClosedShell s, IEnumerable<IfcClosedShell> voids) : base(s) { mVoids.AddRange(voids); }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcFacility : IfcSpatialStructureElement //IFC4x2 //SUPERTYPE OF(IfcBridge, IfcBuilding)
|
||||
public partial class IfcFacility : IfcSpatialStructureElement //SUPERTYPE OF(IfcBridge , IfcBuilding , IfcMarineFacility , IfcRailway , IfcRoad)
|
||||
{
|
||||
internal IfcFacility() : base() { }
|
||||
public IfcFacility(DatabaseIfc db) : base(db.Factory.RootPlacement) { }
|
||||
|
|
|
@ -352,7 +352,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
public abstract IfcMeasureValue MeasureValue { get; }
|
||||
}
|
||||
[Serializable]
|
||||
[Serializable, VersionAdded(ReleaseVersion.IFC2x2)]
|
||||
public partial class IfcPile : IfcDeepFoundation
|
||||
{
|
||||
private IfcPileTypeEnum mPredefinedType = IfcPileTypeEnum.NOTDEFINED;// OPTIONAL : IfcPileTypeEnum;
|
||||
|
@ -510,6 +510,9 @@ namespace GeometryGym.Ifc
|
|||
[Serializable]
|
||||
public abstract partial class IfcPoint : IfcGeometricRepresentationItem, IfcGeometricSetSelect, IfcPointOrVertexPoint /*ABSTRACT SUPERTYPE OF (ONEOF (IfcCartesianPoint ,IfcPointOnCurve ,IfcPointOnSurface))*/
|
||||
{
|
||||
//INVERSE
|
||||
internal IfcVertexPoint mOfVertex = null; // GG attribute
|
||||
|
||||
protected IfcPoint() : base() { }
|
||||
protected IfcPoint(DatabaseIfc db) : base(db) { }
|
||||
protected IfcPoint(DatabaseIfc db, IfcPoint p, DuplicateOptions options) : base(db, p, options) { }
|
||||
|
@ -1658,7 +1661,7 @@ namespace GeometryGym.Ifc
|
|||
internal string mMapZone = "";// : OPTIONAL IfcIdentifier
|
||||
internal IfcNamedUnit mMapUnit = null;// : OPTIONAL IfcNamedUnit;
|
||||
|
||||
public string MapProjection { get { return mMapProjection; } set { mMapProjection = ParserIfc.Encode(value); } }
|
||||
public string MapProjection { get { return mMapProjection; } set { mMapProjection = value; } }
|
||||
public string MapZone { get { return mMapZone; } set { mMapZone = value; } }
|
||||
public IfcNamedUnit MapUnit { get { return mMapUnit; } set { mMapUnit = value; } }
|
||||
|
||||
|
@ -1976,7 +1979,7 @@ namespace GeometryGym.Ifc
|
|||
internal LIST<IfcValue> mEnumerationValues = new LIST<IfcValue>();// : LIST [1:?] OF UNIQUE IfcValue
|
||||
internal IfcUnit mUnit; // : OPTIONAL IfcUnit;
|
||||
|
||||
public string Name { get { return ParserIfc.Decode(mName); } set { mName = (string.IsNullOrEmpty(value) ? "Unknown" : ParserIfc.Encode(value)); } }
|
||||
public string Name { get { return mName; } set { mName = (string.IsNullOrEmpty(value) ? "Unknown" : value); } }
|
||||
public LIST<IfcValue> EnumerationValues { get { return mEnumerationValues; } }
|
||||
public IfcUnit Unit { get { return mUnit; } set { mUnit = value; } }
|
||||
|
||||
|
|
|
@ -470,7 +470,7 @@ namespace GeometryGym.Ifc
|
|||
internal double mBarCount = double.NaN; // : OPTIONAL IfcCountMeasure;
|
||||
|
||||
public double TotalCrossSectionArea { get { return mTotalCrossSectionArea; } set { mTotalCrossSectionArea = value; } }
|
||||
public string SteelGrade { get { return ParserIfc.Decode(mSteelGrade); } set { mSteelGrade = ParserIfc.Encode(value); } }
|
||||
public string SteelGrade { get { return mSteelGrade; } set { mSteelGrade = string.IsNullOrEmpty(value) ? "Unknown" : value; } }
|
||||
public IfcReinforcingBarSurfaceEnum BarSurface { get { return mBarSurface; } set { mBarSurface = value; } }
|
||||
public double EffectiveDepth { get { return mEffectiveDepth; } set { mEffectiveDepth = value; } }
|
||||
public double NominalBarDiameter { get { return mNominalBarDiameter; } set { mNominalBarDiameter = value; } }
|
||||
|
@ -1327,7 +1327,7 @@ namespace GeometryGym.Ifc
|
|||
internal IfcStructuralMember mRelatedStructuralMember;// : IfcStructuralMember;
|
||||
|
||||
public IfcElement RelatingElement { get { return mRelatingElement as IfcElement; } set { mRelatingElement = value; value.mHasStructuralMember.Add(this); } }
|
||||
public IfcStructuralMember RelatedStructuralMember { get { return mRelatedStructuralMember as IfcStructuralMember; } set { mRelatedStructuralMember = value; value.mStructuralMemberForGG = this; } }
|
||||
public IfcStructuralMember RelatedStructuralMember { get { return mRelatedStructuralMember as IfcStructuralMember; } set { mRelatedStructuralMember = value; value.mStructuralMemberFor = this; } }
|
||||
|
||||
internal IfcRelConnectsStructuralElement() : base() { }
|
||||
internal IfcRelConnectsStructuralElement(DatabaseIfc db, IfcRelConnectsStructuralElement c, DuplicateOptions options) : base(db, c, options)
|
||||
|
|
|
@ -1850,7 +1850,10 @@ additional types some additional representation types are given:
|
|||
[Serializable]
|
||||
public partial class IfcStructuralLoadPlanarForce : IfcStructuralLoadStatic
|
||||
{
|
||||
internal double mPlanarForceX = 0, mPlanarForceY = 0, mPlanarForceZ = 0;// : OPTIONAL IfcPlanarForceMeasure;
|
||||
private double mPlanarForceX = double.NaN, mPlanarForceY = double.NaN, mPlanarForceZ = double.NaN;// : OPTIONAL IfcPlanarForceMeasure;
|
||||
public double PlanarForceX { get { return double.IsNaN(mPlanarForceX) ? 0 : mPlanarForceX; } set { mPlanarForceX = value; } }
|
||||
public double PlanarForceY { get { return double.IsNaN(mPlanarForceY) ? 0 : mPlanarForceY; } set { mPlanarForceY = value; } }
|
||||
public double PlanarForceZ { get { return double.IsNaN(mPlanarForceZ) ? 0 : mPlanarForceZ; } set { mPlanarForceZ = value; } }
|
||||
internal IfcStructuralLoadPlanarForce() : base() { }
|
||||
internal IfcStructuralLoadPlanarForce(DatabaseIfc db, IfcStructuralLoadPlanarForce f) : base(db,f) { mPlanarForceX = f.mPlanarForceX; mPlanarForceY = f.mPlanarForceY; mPlanarForceZ = f.mPlanarForceZ; }
|
||||
public IfcStructuralLoadPlanarForce(DatabaseIfc db) : base(db) { }
|
||||
|
@ -1921,7 +1924,7 @@ additional types some additional representation types are given:
|
|||
{
|
||||
//INVERSE
|
||||
internal SET<IfcRelConnectsStructuralMember> mConnectedBy = new SET<IfcRelConnectsStructuralMember>();// : SET [0:?] OF IfcRelConnectsStructuralMember FOR RelatingStructuralMember
|
||||
internal IfcRelConnectsStructuralElement mStructuralMemberForGG = null;
|
||||
internal IfcRelConnectsStructuralElement mStructuralMemberFor = null; // GG attribute
|
||||
|
||||
public SET<IfcRelConnectsStructuralMember> ConnectedBy { get { return mConnectedBy; } }
|
||||
|
||||
|
|
|
@ -131,8 +131,8 @@ namespace GeometryGym.Ifc
|
|||
[Serializable]
|
||||
public partial class IfcVertexPoint : IfcVertex, IfcPointOrVertexPoint
|
||||
{
|
||||
internal IfcPoint mVertexGeometry;// : IfcPoint;
|
||||
public IfcPoint VertexGeometry { get { return mVertexGeometry; } set { mVertexGeometry = value; } }
|
||||
private IfcPoint mVertexGeometry;// : IfcPoint;
|
||||
public IfcPoint VertexGeometry { get { return mVertexGeometry; } set { mVertexGeometry = value; if (value != null) value.mOfVertex = this; } }
|
||||
|
||||
internal IfcVertexPoint() : base() { }
|
||||
internal IfcVertexPoint(DatabaseIfc db, IfcVertexPoint v, DuplicateOptions options) : base(db, v, options) { VertexGeometry = db.Factory.Duplicate(v.VertexGeometry) as IfcPoint; }
|
||||
|
@ -761,7 +761,7 @@ namespace GeometryGym.Ifc
|
|||
public override object Value { get { return Identifier; } set { Identifier = value.ToString(); } }
|
||||
public override Type ValueType { get { return typeof(string); } }
|
||||
public IfcIdentifier(string value) { Identifier = value; }
|
||||
public override string ToString() { return "IFCIDENTIFIER('" + ParserIfc.Encode( Identifier) + "')"; }
|
||||
public override string ToString() { return "IFCIDENTIFIER('" + ParserSTEP.Encode( Identifier) + "')"; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcInteger : IfcSimpleValue
|
||||
|
@ -779,7 +779,7 @@ namespace GeometryGym.Ifc
|
|||
public override object Value { get { return Label; } set { Label = value.ToString(); } }
|
||||
public override Type ValueType { get { return typeof(string); } }
|
||||
public IfcLabel(string value) { Label = value; }
|
||||
public override string ToString() { return "IFCLABEL('" + ParserIfc.Encode(Label) + "')"; }
|
||||
public override string ToString() { return "IFCLABEL('" + ParserSTEP.Encode(Label) + "')"; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcLogical : IfcSimpleValue
|
||||
|
@ -830,7 +830,7 @@ namespace GeometryGym.Ifc
|
|||
public override object Value { get { return Text; } set { Text = value.ToString(); } }
|
||||
public override Type ValueType { get { return typeof(string); } }
|
||||
public IfcText(string value) { Text = value; }
|
||||
public override string ToString() { return "IFCTEXT('" + ParserIfc.Encode(Text) + "')"; }
|
||||
public override string ToString() { return "IFCTEXT('" + ParserSTEP.Encode(Text) + "')"; }
|
||||
}
|
||||
[Serializable]
|
||||
public partial class IfcTime : IfcSimpleValue
|
||||
|
@ -906,7 +906,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public override Type ValueType { get { return typeof(Uri); } }
|
||||
public IfcURIReference(string value) { mValue = value; }
|
||||
public override string ToString() { return "IFCURIREFERENCE('" + ParserIfc.Encode(mValue) + "')"; }
|
||||
public override string ToString() { return "IFCURIREFERENCE('" + ParserSTEP.Encode(mValue) + "')"; }
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
|
|
|
@ -295,21 +295,21 @@ namespace GeometryGym.Ifc
|
|||
//internal string mIdentifier : IfcIdentifier; IFC4 moved to control
|
||||
internal DateTime mCreationDate;// : IfcDateTime;
|
||||
internal SET<IfcPerson> mCreators = new SET<IfcPerson>();// : OPTIONAL SET [1:?] OF IfcPerson;
|
||||
internal string mPurpose = "$";// : OPTIONAL IfcLabel;
|
||||
internal string mDuration = "$", mTotalFloat = "$";// : OPTIONAL IfcDuration; IFC4
|
||||
internal string mPurpose = "";// : OPTIONAL IfcLabel;
|
||||
internal string mDuration = "", mTotalFloat = "";// : OPTIONAL IfcDuration; IFC4
|
||||
internal DateTime mStartTime;// : IfcDateTime;
|
||||
internal DateTime mFinishTime = DateTime.MinValue;// : OPTIONAL IfcDateTime; IFC4
|
||||
internal double mSSDuration = 0, mSSTotalFloat = 0; //: OPTIONAL IfcTimeMeasure;
|
||||
internal IfcDateTimeSelect mSSCreationDate, mSSStartTime; //: IfcDateTimeSelect;
|
||||
internal IfcDateTimeSelect mSSFinishTime; //: OPTIONAL IfcDateTimeSelect;
|
||||
internal IfcWorkControlTypeEnum mWorkControlType = IfcWorkControlTypeEnum.NOTDEFINED;// : OPTIONAL IfcWorkControlTypeEnum; IFC2x3
|
||||
internal string mUserDefinedControlType = "$";// : OPTIONAL IfcLabel;
|
||||
internal string mUserDefinedControlType = "";// : OPTIONAL IfcLabel;
|
||||
|
||||
public DateTime CreationDate { get { return mCreationDate; } set { mCreationDate = value; } }
|
||||
public SET<IfcPerson> Creators { get { return mCreators; } }
|
||||
public DateTime StartTime { get { return mStartTime; } set { mStartTime = value; } }
|
||||
public DateTime FinishTime { get { return mFinishTime; } set { mFinishTime = value; } }
|
||||
public string Purpose { get { return (mPurpose == "$" ? "" : ParserIfc.Decode(mPurpose)); } set { mPurpose = (string.IsNullOrEmpty(value) ? "$" : ParserIfc.Encode(value)); } }
|
||||
public string Purpose { get { return mPurpose; } set { mPurpose = value; } }
|
||||
|
||||
protected IfcWorkControl() : base() { mCreationDate = DateTime.Now; mStartTime = DateTime.Now; }
|
||||
protected IfcWorkControl(DatabaseIfc db) : base(db)
|
||||
|
|
|
@ -87,7 +87,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
internal string removeFileNameIllegal(string filename)
|
||||
{
|
||||
return ParserIfc.Encode(filename).Replace("*", "x").Replace(".", "_").Replace("\"", "").Replace("/", "_").Replace("\\", "_").Replace("[", "(").Replace("]", ")").Replace(":", "-").Replace(";", "-").Replace("|", "-").Replace("=", "-").Replace(",", "_").Replace("<", "(").Replace(">", ")");
|
||||
return ParserSTEP.Encode(filename).Replace("*", "x").Replace(".", "_").Replace("\"", "").Replace("/", "_").Replace("\\", "_").Replace("[", "(").Replace("]", ")").Replace(":", "-").Replace(";", "-").Replace("|", "-").Replace("=", "-").Replace(",", "_").Replace("<", "(").Replace(">", ")");
|
||||
}
|
||||
internal string RepositoryName { get { return removeFileNameIllegal(genRepositoryName); } }
|
||||
protected string RepositoryNameStub { get { return mGlobalId; } }
|
||||
|
|
|
@ -35,133 +35,6 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
public static class ParserIfc
|
||||
{
|
||||
public static string Encode(string str)
|
||||
{
|
||||
if (string.IsNullOrEmpty(str))
|
||||
return "";
|
||||
string result = "";
|
||||
int length = str.Length;
|
||||
for (int icounter = 0; icounter < length; icounter++)
|
||||
{
|
||||
char c = str[icounter];
|
||||
if (c == '\r')
|
||||
{
|
||||
if(icounter + 1 < length)
|
||||
{
|
||||
if (str[icounter + 1] == '\n' && icounter + 2 == length)
|
||||
return result;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if(c == '\n')
|
||||
{
|
||||
if (icounter + 1 == length)
|
||||
return result;
|
||||
}
|
||||
if (c == '\'')
|
||||
result += "\\X\\27"; // Alternative result += "''";
|
||||
else if (c == '\\')
|
||||
result += "\\\\";
|
||||
else
|
||||
{
|
||||
int i = (int)c;
|
||||
if (i < 32 || i > 126)
|
||||
result += "\\X2\\" + string.Format("{0:x4}", i, CultureInfo.InvariantCulture).ToUpper() + "\\X0\\";
|
||||
else
|
||||
result += c;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static string Decode(string str) //http://www.buildingsmart-tech.org/implementation/get-started/string-encoding/string-encoding-decoding-summary
|
||||
{
|
||||
if (string.IsNullOrEmpty(str) || str == "$")
|
||||
return "";
|
||||
int ilast = str.Length - 4, icounter = 0, strLength = str.Length;
|
||||
string result = "";
|
||||
while (icounter < ilast)
|
||||
{
|
||||
char c = str[icounter];
|
||||
if(c == '\'')
|
||||
{
|
||||
if (icounter + 1 < ilast && str[icounter+1] == '\'')
|
||||
icounter++;
|
||||
}
|
||||
if (c == '\\')
|
||||
{
|
||||
if (icounter + 1 < strLength && str[icounter + 1] == '\\')
|
||||
{
|
||||
result += c;
|
||||
icounter++;
|
||||
}
|
||||
else if (icounter + 3 < strLength)
|
||||
{
|
||||
char c3 = str[icounter + 3], c2 = str[icounter + 2], c1 = str[icounter + 1];
|
||||
if (c2 == '\\')
|
||||
{
|
||||
if (c1 == 'S')
|
||||
{
|
||||
result += (char)((int)c3 + 128);
|
||||
icounter += 3;
|
||||
}
|
||||
else if (c1 == 'X' && strLength > icounter + 4)
|
||||
{
|
||||
string s = str.Substring(icounter + 3, 2);
|
||||
Int32 i = Convert.ToInt32(s, 16);
|
||||
Byte[] bytes = BitConverter.GetBytes(i);
|
||||
c = Encoding.Unicode.GetChars(bytes)[0];
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else if (c3 == '\\' && c2 == '2' && c1 == 'X')
|
||||
{
|
||||
icounter += 4;
|
||||
while (str[icounter] != '\\')
|
||||
{
|
||||
string s = str.Substring(icounter, 4);
|
||||
Int32 i = Convert.ToInt32(s, 16);
|
||||
Byte[] bytes = BitConverter.GetBytes(i);
|
||||
c = Encoding.Unicode.GetChars(bytes)[0];
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
icounter += 3;
|
||||
}
|
||||
else if (c1 == '\\' && c2 == 'X')
|
||||
{
|
||||
if (c3 == '2')
|
||||
{
|
||||
icounter += 6;
|
||||
while (str[icounter] != '\\')
|
||||
{
|
||||
string s = str.Substring(icounter, 4);
|
||||
c = System.Text.Encoding.Unicode.GetChars(BitConverter.GetBytes(Convert.ToInt32(s, 16)))[0];
|
||||
//result += (char)();
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
icounter += 5;
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
icounter++;
|
||||
}
|
||||
while (icounter < str.Length)
|
||||
result += str[icounter++];
|
||||
return result;
|
||||
}
|
||||
|
||||
public static T ParseEnum<T>(string str, string enumName) where T : struct
|
||||
{
|
||||
|
@ -457,7 +330,7 @@ namespace GeometryGym.Ifc
|
|||
if (str.StartsWith("IFCBOOLEAN("))
|
||||
return new IfcBoolean(string.Compare(str.Substring(11, str.Length - 12), ".T.") == 0);
|
||||
if (str.StartsWith("IFCIDENTIFIER("))
|
||||
return new IfcIdentifier(ParserIfc.Decode(str.Substring(15, str.Length - 17)));
|
||||
return new IfcIdentifier(ParserSTEP.Decode(str.Substring(15, str.Length - 17)));
|
||||
if (str.StartsWith("IFCINTEGER("))
|
||||
return new IfcInteger(long.Parse(str.Substring(11, str.Length - 12)));
|
||||
if (str.StartsWith("IFCLABEL("))
|
||||
|
@ -465,7 +338,7 @@ namespace GeometryGym.Ifc
|
|||
if (str.Length <= 12)
|
||||
return new IfcLabel("");
|
||||
string s = str.Substring(10, str.Length - 12);
|
||||
return new IfcLabel((str[10] == '$' || s == null ? "" : ParserIfc.Decode(s)));
|
||||
return new IfcLabel((str[10] == '$' || s == null ? "" : ParserSTEP.Decode(s)));
|
||||
}
|
||||
if (str.StartsWith("IFCLOGICAL("))
|
||||
{
|
||||
|
@ -482,10 +355,10 @@ namespace GeometryGym.Ifc
|
|||
if (str.StartsWith("IFCTEXT("))
|
||||
{
|
||||
string s = str.Substring(9, str.Length - 11);
|
||||
return new IfcText((str[9] == '$' || s == null ? "" : ParserIfc.Decode(s)));
|
||||
return new IfcText((str[9] == '$' || s == null ? "" : ParserSTEP.Decode(s)));
|
||||
}
|
||||
if (str.StartsWith("IFCURIREFERENCE("))
|
||||
return new IfcURIReference(str[16] == '$' ? "" : ParserIfc.Decode(str.Substring(17, str.Length - 19)));
|
||||
return new IfcURIReference(str[16] == '$' ? "" : ParserSTEP.Decode(str.Substring(17, str.Length - 19)));
|
||||
if(str.StartsWith("IFCDATE("))
|
||||
{
|
||||
string valueString = str.Substring(9, str.Length - 11);
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "." + (release < ReleaseVersion.IFC4 && mRole == IfcRoleEnum.COMMISSIONINGENGINEER ? "COMISSIONINGENGINEER" : mRole.ToString()) +
|
||||
(string.IsNullOrEmpty( mUserDefinedRole) ? ".,$," : ".,'" + ParserIfc.Encode(mUserDefinedRole) + "',") + (string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserIfc.Encode(mDescription) + "'"); }
|
||||
(string.IsNullOrEmpty( mUserDefinedRole) ? ".,$," : ".,'" + ParserSTEP.Encode(mUserDefinedRole) + "',") + (string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode(mDescription) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
|
@ -63,8 +63,8 @@ namespace GeometryGym.Ifc
|
|||
else
|
||||
Enum.TryParse<IfcRoleEnum>( s.Replace(".", ""), out mRole);
|
||||
}
|
||||
mUserDefinedRole = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedRole = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcActuator
|
||||
|
@ -100,16 +100,16 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (mPurpose == IfcAddressTypeEnum.NOTDEFINED ? "$," : "." + mPurpose.ToString() + ".,") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mUserDefinedPurpose) ? "$" : "'" + ParserIfc.Encode(mUserDefinedPurpose) + "'");
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mUserDefinedPurpose) ? "$" : "'" + ParserSTEP.Encode(mUserDefinedPurpose) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcAddressTypeEnum>(s.Replace(".", ""), true, out mPurpose);
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedPurpose = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedPurpose = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcAdvancedBrep
|
||||
|
@ -335,13 +335,13 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (mTangentialContinuity == IfcLogicalEnum.UNKNOWN ? "$," : (mTangentialContinuity == IfcLogicalEnum.TRUE ? ".T.," : ".F.,")) +
|
||||
(string.IsNullOrEmpty(mStartTag) ? "$," : "'" + ParserIfc.Encode(mStartTag) + "',") + (string.IsNullOrEmpty(mEndTag) ? "$" : "'" + ParserIfc.Encode(mEndTag) + "'");
|
||||
(string.IsNullOrEmpty(mStartTag) ? "$," : "'" + ParserSTEP.Encode(mStartTag) + "',") + (string.IsNullOrEmpty(mEndTag) ? "$" : "'" + ParserSTEP.Encode(mEndTag) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mTangentialContinuity = ParserIfc.StripLogical(str, ref pos, len);
|
||||
mStartTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEndTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStartTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEndTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcAlignment2DVerSegCircularArc
|
||||
|
@ -429,13 +429,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return ParserSTEP.ObjToLinkString(mHorizontal) + "," + ParserSTEP.ObjToLinkString(mVertical) + "," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserIfc.Encode(mTag) + "'");
|
||||
return ParserSTEP.ObjToLinkString(mHorizontal) + "," + ParserSTEP.ObjToLinkString(mVertical) + "," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserSTEP.Encode(mTag) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mHorizontal = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcAlignment2DHorizontal;
|
||||
Vertical = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcAlignment2DVertical;
|
||||
mTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcAlignmentHorizontal
|
||||
|
@ -481,13 +481,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mStartTag) ? "$" : "'" + ParserIfc.Encode(mStartTag) + "'") +
|
||||
(string.IsNullOrEmpty(mEndTag) ? ",$" : ",'" + ParserIfc.Encode(mEndTag) + "'");
|
||||
return (string.IsNullOrEmpty(mStartTag) ? "$" : "'" + ParserSTEP.Encode(mStartTag) + "'") +
|
||||
(string.IsNullOrEmpty(mEndTag) ? ",$" : ",'" + ParserSTEP.Encode(mEndTag) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
StartTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
EndTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
StartTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
EndTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcAlignmentSegment
|
||||
|
@ -613,7 +613,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
string result = (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") + (string.IsNullOrEmpty( mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',");
|
||||
string result = (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") + (string.IsNullOrEmpty( mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',");
|
||||
if (mAppliedValue == null)
|
||||
result += "$";
|
||||
else
|
||||
|
@ -628,14 +628,14 @@ namespace GeometryGym.Ifc
|
|||
if (release < ReleaseVersion.IFC4)
|
||||
return result + (mSSApplicableDate == null ? ",$" : ",#" + mSSApplicableDate.StepId) + (mSSFixedUntilDate == null ? ",$" : ",#" + mSSFixedUntilDate.StepId);
|
||||
result += IfcDate.STEPAttribute(mApplicableDate) + "," + IfcDate.STEPAttribute(mFixedUntilDate);
|
||||
result += (string.IsNullOrEmpty(mCategory) ? ",$," : ",'" + ParserIfc.Encode(mCategory) + "',") + (string.IsNullOrEmpty(mCondition) ? "$," : "'" + ParserIfc.Encode(mCondition) + "',");
|
||||
result += (string.IsNullOrEmpty(mCategory) ? ",$," : ",'" + ParserSTEP.Encode(mCategory) + "',") + (string.IsNullOrEmpty(mCondition) ? "$," : "'" + ParserSTEP.Encode(mCondition) + "',");
|
||||
return result + (mArithmeticOperator == IfcArithmeticOperatorEnum.NONE ? "$," : "." + mArithmeticOperator.ToString() + ".,")
|
||||
+ (mComponents.Count == 0 ? "$" : "(" + string.Join(",", mComponents.Select(x => "#" + x.StepId)) + ")"); ;
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len).Trim();
|
||||
if(s.StartsWith("IFC"))
|
||||
mAppliedValue = ParserIfc.parseValue(s);
|
||||
|
@ -651,8 +651,8 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
mApplicableDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFixedUntilDate = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCondition = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCondition = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcArithmeticOperatorEnum>(s.Replace(".", ""), true, out mArithmeticOperator);
|
||||
|
@ -681,42 +681,42 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
if(release < ReleaseVersion.IFC4)
|
||||
return (string.IsNullOrEmpty(mDescription) ? "$,#" : "'" + ParserIfc.Encode(mDescription) + "',#") +
|
||||
mApprovalDateTime.StepId + (string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserIfc.Encode(mStatus) + "',") +
|
||||
(string.IsNullOrEmpty(mLevel) ? "$," : "'" + ParserIfc.Encode(mLevel) + "',") +
|
||||
(string.IsNullOrEmpty(mQualifier) ? "$," : "'" + ParserIfc.Encode(mQualifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mIdentifier) ? "$" : "'" + ParserIfc.Encode(mIdentifier) + "'");
|
||||
return (string.IsNullOrEmpty(mIdentifier) ? "$," : "'" + ParserIfc.Encode(mIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return (string.IsNullOrEmpty(mDescription) ? "$,#" : "'" + ParserSTEP.Encode(mDescription) + "',#") +
|
||||
mApprovalDateTime.StepId + (string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserSTEP.Encode(mStatus) + "',") +
|
||||
(string.IsNullOrEmpty(mLevel) ? "$," : "'" + ParserSTEP.Encode(mLevel) + "',") +
|
||||
(string.IsNullOrEmpty(mQualifier) ? "$," : "'" + ParserSTEP.Encode(mQualifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mIdentifier) ? "$" : "'" + ParserSTEP.Encode(mIdentifier) + "'");
|
||||
return (string.IsNullOrEmpty(mIdentifier) ? "$," : "'" + ParserSTEP.Encode(mIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
IfcDate.STEPAttribute(mTimeOfApproval) +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserIfc.Encode(mStatus) + "',") +
|
||||
(string.IsNullOrEmpty(mLevel) ? "$," : "'" + ParserIfc.Encode(mLevel) + "',") +
|
||||
(string.IsNullOrEmpty(mQualifier) ? "$," : "'" + ParserIfc.Encode(mQualifier) + "',") +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserSTEP.Encode(mStatus) + "',") +
|
||||
(string.IsNullOrEmpty(mLevel) ? "$," : "'" + ParserSTEP.Encode(mLevel) + "',") +
|
||||
(string.IsNullOrEmpty(mQualifier) ? "$," : "'" + ParserSTEP.Encode(mQualifier) + "',") +
|
||||
(mRequestingApproval == null ? "$," : "#," + mRequestingApproval.StepId) + (mGivingApproval == null ? "$" : "#" + mGivingApproval.StepId);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
{
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mApprovalDateTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
mStatus = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLevel = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mQualifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLevel = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mQualifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
else
|
||||
{
|
||||
mIdentifier = 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));
|
||||
mIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTimeOfApproval = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLevel = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mQualifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLevel = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mQualifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
RequestingApproval = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
GivingApproval = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
}
|
||||
|
@ -751,7 +751,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatedApproval.StepId + ",#" + mRelatingApproval.StepId +
|
||||
(release < ReleaseVersion.IFC4 ? (string.IsNullOrEmpty(mDescription) ? ",$,'" : ",'" + ParserIfc.Encode(mDescription) + "','") + ParserIfc.Encode(mName) + "'": ""); }
|
||||
(release < ReleaseVersion.IFC4 ? (string.IsNullOrEmpty(mDescription) ? ",$,'" : ",'" + ParserSTEP.Encode(mDescription) + "','") + ParserSTEP.Encode(mName) + "'": ""); }
|
||||
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);
|
||||
|
@ -759,8 +759,8 @@ namespace GeometryGym.Ifc
|
|||
mRelatingApproval = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcApproval;
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
{
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -800,7 +800,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) +
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) +
|
||||
(mOriginalValue == null ? "',$" : "',#" + mOriginalValue.StepId) + (mCurrentValue == null ? ",$" : ",#" + mCurrentValue.StepId) +
|
||||
(mTotalReplacementCost == null ? ",$" : ",#" + mTotalReplacementCost.StepId) + (mOwner == null ? ",$" : ",#" + mOwner.StepId) +
|
||||
(mUser == null ? ",$" : ",#" + mUser.StepId) + (mResponsiblePerson == null ? ",$" : ",#" + mResponsiblePerson.StepId) +
|
||||
|
@ -810,7 +810,7 @@ namespace GeometryGym.Ifc
|
|||
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));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mOriginalValue = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCostValue;
|
||||
mCurrentValue = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCostValue;
|
||||
mTotalReplacementCost = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCostValue;
|
||||
|
|
|
@ -146,10 +146,10 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcBoundaryCondition
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserIfc.Encode(mName) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserSTEP.Encode(mName) + "'"); }
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcBoundaryEdgeCondition
|
||||
|
@ -429,7 +429,7 @@ namespace GeometryGym.Ifc
|
|||
return base.BuildStringSTEP(release) +
|
||||
(release < ReleaseVersion.IFC4 ? "" :
|
||||
(mPredefinedType == IfcBuiltSystemTypeEnum.NOTDEFINED ? ",$," : ",." + mPredefinedType + ".,") +
|
||||
(string.IsNullOrEmpty(mLongName) ? "$" : "'" + ParserIfc.Encode(mLongName) + "'"));
|
||||
(string.IsNullOrEmpty(mLongName) ? "$" : "'" + ParserSTEP.Encode(mLongName) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -439,7 +439,7 @@ namespace GeometryGym.Ifc
|
|||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcBuiltSystemTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
mLongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -207,7 +207,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "(" + string.Join(",", mCoordList.Select(x => "(" + formatLength(x.Item1) + "," + formatLength(x.Item2) + ")")) + ")" +
|
||||
(release < ReleaseVersion.IFC4X1 ? "" : (mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x=> (string.IsNullOrEmpty(x) ? "$" : "'" + ParserIfc.Encode(x) + "'"))) + ")" ));
|
||||
(release < ReleaseVersion.IFC4X1 ? "" : (mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x=> (string.IsNullOrEmpty(x) ? "$" : "'" + ParserSTEP.Encode(x) + "'"))) + ")" ));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -225,7 +225,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mTagList.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mTagList.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
else
|
||||
mTagList.Add(null);
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ namespace GeometryGym.Ifc
|
|||
textWriter.Write("))");
|
||||
|
||||
if(release >= ReleaseVersion.IFC4X1)
|
||||
textWriter.Write(mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x => (string.IsNullOrEmpty(x) ? "$" : "'" + ParserIfc.Encode(x) + "'"))) + ")");
|
||||
textWriter.Write(mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x => (string.IsNullOrEmpty(x) ? "$" : "'" + ParserSTEP.Encode(x) + "'"))) + ")");
|
||||
|
||||
WriteStepLineWorkerSuffix(textWriter);
|
||||
}
|
||||
|
@ -286,7 +286,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
stringBuilder.Append("))");
|
||||
return stringBuilder.ToString() +
|
||||
(release < ReleaseVersion.IFC4X1 ? "" : (mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x => (string.IsNullOrEmpty(x) ? "$" : "'" + ParserIfc.Encode(x) + "'"))) + ")"));
|
||||
(release < ReleaseVersion.IFC4X1 ? "" : (mTagList == null || mTagList.Count == 0 ? ",$" : ",(" + string.Join(",", mTagList.Select(x => (string.IsNullOrEmpty(x) ? "$" : "'" + ParserSTEP.Encode(x) + "'"))) + ")"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -303,7 +303,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mTagList.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mTagList.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
else
|
||||
mTagList.Add(null);
|
||||
}
|
||||
|
@ -467,52 +467,52 @@ namespace GeometryGym.Ifc
|
|||
if (mReferenceTokens.Count > 0)
|
||||
tokens = "('" + string.Join("','", mReferenceTokens) + "')";
|
||||
bool older = mDatabase.Release <= ReleaseVersion.IFC2x3;
|
||||
return (string.IsNullOrEmpty(mSource) ? (older ? "'Unknown'," : "$,") : "'" + ParserIfc.Encode(mSource) + "',") +
|
||||
(string.IsNullOrEmpty(mEdition) ? (older ? "'Unknown'," : "$,") : "'" + ParserIfc.Encode(mEdition) + "',") +
|
||||
return (string.IsNullOrEmpty(mSource) ? (older ? "'Unknown'," : "$,") : "'" + ParserSTEP.Encode(mSource) + "',") +
|
||||
(string.IsNullOrEmpty(mEdition) ? (older ? "'Unknown'," : "$,") : "'" + ParserSTEP.Encode(mEdition) + "',") +
|
||||
(older ? (mEditionDateSS == null ? "$" : "#" + mEditionDateSS.StepId) : IfcDate.STEPAttribute(mEditionDate)) + ",'" +
|
||||
ParserIfc.Encode(mName) + (older ? "'" : (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserIfc.Encode(mDescription) + "',") + (string.IsNullOrEmpty(mSpecification) ? "$," : "'" + ParserIfc.Encode(mSpecification) + "',") + tokens);
|
||||
ParserSTEP.Encode(mName) + (older ? "'" : (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserSTEP.Encode(mDescription) + "',") + (string.IsNullOrEmpty(mSpecification) ? "$," : "'" + ParserSTEP.Encode(mSpecification) + "',") + tokens);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mSource = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEdition = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSource = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEdition = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release <= ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mEditionDateSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCalendarDate;
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
else
|
||||
{
|
||||
mEditionDate = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSpecification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSpecification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mReferenceTokens = ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
public partial class IfcClassificationItem
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "#" + mNotation.StepId + ",#" + mItemOf.StepId + ",'" + ParserIfc.Encode(mTitle) + "'"; }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "#" + mNotation.StepId + ",#" + mItemOf.StepId + ",'" + ParserSTEP.Encode(mTitle) + "'"; }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mNotation = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcClassificationNotationFacet;
|
||||
mItemOf = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcClassification;
|
||||
mTitle = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTitle = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcClassificationItemRelationship
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return mSource + "," + mEdition + (mEditionDate == null ? ",$,'" : ",#" + mEditionDate.StepId + ",'") + ParserIfc.Encode(mName) + "'";
|
||||
return mSource + "," + mEdition + (mEditionDate == null ? ",$,'" : ",#" + mEditionDate.StepId + ",'") + ParserSTEP.Encode(mName) + "'";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mSource = ParserSTEP.StripString(str, ref pos, len);
|
||||
mEdition = ParserSTEP.StripString(str, ref pos, len);
|
||||
mEditionDate = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCalendarDate;
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcClassificationNotation
|
||||
|
@ -525,8 +525,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcClassificationNotationFacet
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserIfc.Encode( mNotationValue) + "'"; }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary) { mNotationValue = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len)); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserSTEP.Encode( mNotationValue) + "'"; }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary) { mNotationValue = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len)); }
|
||||
}
|
||||
public partial class IfcClassificationReference
|
||||
{
|
||||
|
@ -535,7 +535,7 @@ namespace GeometryGym.Ifc
|
|||
if (release < ReleaseVersion.IFC4)
|
||||
return base.BuildStringSTEP(release) + (ReferencedSource is IfcClassification ? "," + ParserSTEP.ObjToLinkString(ReferencedSource) : ",$");
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.ObjToLinkString(ReferencedSource) +
|
||||
(string.IsNullOrEmpty(mDescription) ? ",$" : ",'" + ParserIfc.Encode(mDescription) + "'") + (string.IsNullOrEmpty(mSort) ? ",$" : ",'" + ParserIfc.Encode(mSort) + "'");
|
||||
(string.IsNullOrEmpty(mDescription) ? ",$" : ",'" + ParserSTEP.Encode(mDescription) + "'") + (string.IsNullOrEmpty(mSort) ? ",$" : ",'" + ParserSTEP.Encode(mSort) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -543,8 +543,8 @@ namespace GeometryGym.Ifc
|
|||
ReferencedSource = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcClassificationReferenceSelect;
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSort = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSort = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -610,10 +610,10 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcColourSpecification
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserIfc.Encode(mName) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserSTEP.Encode(mName) + "'"); }
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcColumn
|
||||
|
@ -645,7 +645,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserIfc.Encode(mUsageName) + "',(" +
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserSTEP.Encode(mUsageName) + "',(" +
|
||||
string.Join(",", mHasProperties.Values.OrderBy(x=>x.StepId).Select(x=>"#" + x.StepId)) + ")";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
|
@ -666,13 +666,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mUsageName) ? ",$," : ",'" + ParserIfc.Encode(mUsageName) + "',") + (mTemplateType == IfcComplexPropertyTemplateTypeEnum.NOTDEFINED ? ",$," : ",." + mTemplateType + ".,") +
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mUsageName) ? ",$," : ",'" + ParserSTEP.Encode(mUsageName) + "',") + (mTemplateType == IfcComplexPropertyTemplateTypeEnum.NOTDEFINED ? ",$," : ",." + mTemplateType + ".,") +
|
||||
(mHasPropertyTemplates.Count == 0 ? "$" : "(" + string.Join(",", mHasPropertyTemplates.Values.Select(x => "#" + x.StepId)) + ")");
|
||||
}
|
||||
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);
|
||||
mUsageName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUsageName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string field = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (field.StartsWith("."))
|
||||
Enum.TryParse<IfcComplexPropertyTemplateTypeEnum>(field.Replace(".", ""), true, out mTemplateType);
|
||||
|
@ -717,13 +717,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",(#" + String.Join(",#", mProfiles.Select(x=>x.StepId)) + (string.IsNullOrEmpty(mLabel) ? "),$" : "),'" + ParserIfc.Encode(mLabel) + "'");
|
||||
return base.BuildStringSTEP(release) + ",(#" + String.Join(",#", mProfiles.Select(x=>x.StepId)) + (string.IsNullOrEmpty(mLabel) ? "),$" : "),'" + ParserSTEP.Encode(mLabel) + "'");
|
||||
}
|
||||
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);
|
||||
mProfiles.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcProfileDef));
|
||||
mLabel = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLabel = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcCompressor
|
||||
|
@ -903,23 +903,23 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + ParserIfc.Encode(mName) + (string.IsNullOrWhiteSpace(mDescription) ? "',$,." : "','" + ParserIfc.Encode(mDescription) +
|
||||
"',.") + mConstraintGrade.ToString() + (string.IsNullOrWhiteSpace(mConstraintSource) ? ".,$," : ".,'" + ParserIfc.Encode(mConstraintSource) + "',") +
|
||||
return "'" + ParserSTEP.Encode(mName) + (string.IsNullOrWhiteSpace(mDescription) ? "',$,." : "','" + ParserSTEP.Encode(mDescription) +
|
||||
"',.") + mConstraintGrade.ToString() + (string.IsNullOrWhiteSpace(mConstraintSource) ? ".,$," : ".,'" + ParserSTEP.Encode(mConstraintSource) + "',") +
|
||||
(mCreatingActor == null ? "$," : "#" + mCreatingActor.StepId + ",") +
|
||||
(release < ReleaseVersion.IFC4 ? (mSSCreationTime == null ? "$" : "#" + mSSCreationTime.StepId) : IfcDate.STEPAttribute(mCreationTime)) +
|
||||
(string.IsNullOrEmpty(mUserDefinedGrade) ? ",$" : ",'" + ParserIfc.Encode(mUserDefinedGrade) + "'"); }
|
||||
(string.IsNullOrEmpty(mUserDefinedGrade) ? ",$" : ",'" + ParserSTEP.Encode(mUserDefinedGrade) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
Name = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Description = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Name = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Description = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Enum.TryParse<IfcConstraintEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mConstraintGrade);
|
||||
mConstraintSource = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mConstraintSource = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCreatingActor = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
mSSCreationTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
else
|
||||
mCreationTime = IfcDate.ParseSTEP(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedGrade = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedGrade = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcConstructionEquipmentResource
|
||||
|
@ -1013,8 +1013,8 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mResourceGroup) ? "$," : "'" + ParserIfc.Encode(mResourceGroup) + "',") + ParserSTEP.ObjToLinkString(mBaseQuantitySS);
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mResourceGroup) ? "$," : "'" + ParserSTEP.Encode(mResourceGroup) + "',") + ParserSTEP.ObjToLinkString(mBaseQuantitySS);
|
||||
return base.BuildStringSTEP(release) + (mUsage == null ? ",$,(" : ",#" + mUsage.StepId + ",(") +
|
||||
String.Join(",", BaseCosts.Select(x=>"#" + x.StepId)) + (mBaseQuantity == null ? "),$" : "),#" + mBaseQuantity.StepId);
|
||||
}
|
||||
|
@ -1024,8 +1024,8 @@ namespace GeometryGym.Ifc
|
|||
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
{
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mResourceGroup = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mResourceGroup = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mBaseQuantitySS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcMeasureWithUnit;
|
||||
}
|
||||
else
|
||||
|
@ -1055,9 +1055,9 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mObjectType) ? ",$" : ",'" + ParserIfc.Encode(mObjectType) + "'") +
|
||||
(string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserIfc.Encode(mLongName) + "'") +
|
||||
(string.IsNullOrEmpty(mPhase) ? ",$" : ",'" + ParserIfc.Encode(mPhase) + "'") +
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mObjectType) ? ",$" : ",'" + ParserSTEP.Encode(mObjectType) + "'") +
|
||||
(string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserSTEP.Encode(mLongName) + "'") +
|
||||
(string.IsNullOrEmpty(mPhase) ? ",$" : ",'" + ParserSTEP.Encode(mPhase) + "'") +
|
||||
(mRepresentationContexts.Count == 0 ? ",$," : ",(" + string.Join(",", mRepresentationContexts.Select(x => "#" + x.StepId)) + "),") +
|
||||
(mUnitsInContext == null ? "$" : "#" + mUnitsInContext.StepId);
|
||||
|
||||
|
@ -1065,9 +1065,9 @@ namespace GeometryGym.Ifc
|
|||
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);
|
||||
mObjectType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPhase = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mObjectType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPhase = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
RepresentationContexts.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcRepresentationContext));
|
||||
mUnitsInContext = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnitAssignment;
|
||||
|
||||
|
@ -1079,22 +1079,22 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserIfc.Encode(mName) + "'";
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserSTEP.Encode(mName) + "'";
|
||||
}
|
||||
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);
|
||||
Name = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Name = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcControl
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty( mIdentification) ? ",$" : ",'" + ParserIfc.Encode(mIdentification) + "'")); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty( mIdentification) ? ",$" : ",'" + ParserSTEP.Encode(mIdentification) + "'")); }
|
||||
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.IFC2x3)
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcController
|
||||
|
@ -1236,15 +1236,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + ParserIfc.Encode(mName) + "'," + (string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mGeodeticDatum) ? "$" : "'" + ParserIfc.Encode(mGeodeticDatum) + "'") + (string.IsNullOrEmpty(mVerticalDatum) ? ",$" : ",'" + ParserIfc.Encode(mVerticalDatum) + "'");
|
||||
return "'" + ParserSTEP.Encode(mName) + "'," + (string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mGeodeticDatum) ? "$" : "'" + ParserSTEP.Encode(mGeodeticDatum) + "'") + (string.IsNullOrEmpty(mVerticalDatum) ? ",$" : ",'" + ParserSTEP.Encode(mVerticalDatum) + "'");
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mGeodeticDatum = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mVerticalDatum = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mGeodeticDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mVerticalDatum = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcCosineSpiral
|
||||
|
@ -1309,12 +1309,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + (mSubmittedBy == null ? ",$" : ",#" + mSubmittedBy.StepId) +
|
||||
(mPreparedBy == null ? ",$" : ",#" + mPreparedBy.StepId) + (mSubmittedOnSS == null ? ",$" : ",#" + mSubmittedOnSS.StepId) +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$" : ",'" + ParserIfc.Encode(mStatus) + "'") +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$" : ",'" + ParserSTEP.Encode(mStatus) + "'") +
|
||||
(mTargetUsers.Count == 0 ? ",$" : ",(" + string.Join(",", mTargetUsers.Select(x=>"#" + x.StepId)) +")") +
|
||||
(mUpdateDateSS == null ? ",$" : ",#" + mUpdateDateSS.StepId) + (string.IsNullOrEmpty(mIdentification) ? ",$,." : ",'" + ParserIfc.Encode( mIdentification) + "',.") +
|
||||
(mUpdateDateSS == null ? ",$" : ",#" + mUpdateDateSS.StepId) + (string.IsNullOrEmpty(mIdentification) ? ",$,." : ",'" + ParserSTEP.Encode( mIdentification) + "',.") +
|
||||
mPredefinedType.ToString() + ".";
|
||||
}
|
||||
return base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + (string.IsNullOrEmpty(mStatus) ? ".,$," : ".,'" + ParserIfc.Encode(mStatus) + "',") + IfcDate.STEPAttribute( mSubmittedOn) + "," + IfcDate.STEPAttribute(mUpdateDate);
|
||||
return base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + (string.IsNullOrEmpty(mStatus) ? ".,$," : ".,'" + ParserSTEP.Encode(mStatus) + "',") + IfcDate.STEPAttribute( mSubmittedOn) + "," + IfcDate.STEPAttribute(mUpdateDate);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -1324,10 +1324,10 @@ namespace GeometryGym.Ifc
|
|||
mSubmittedBy = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
mPreparedBy = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
mSubmittedOnSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
mStatus = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTargetUsers.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcActorSelect));
|
||||
mUpdateDateSS = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Enum.TryParse<IfcCostScheduleTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
}
|
||||
else
|
||||
|
@ -1623,12 +1623,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$,(" : "'" + ParserIfc.Encode(mName) + "',(") +
|
||||
return (string.IsNullOrEmpty(mName) ? "$,(" : "'" + ParserSTEP.Encode(mName) + "',(") +
|
||||
string.Join(",", mPatternList.Select(x => "#" + x.StepId)) + ")";
|
||||
}
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPatternList.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcCurveStyleFontPattern));
|
||||
}
|
||||
}
|
||||
|
@ -1636,11 +1636,11 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$,#" : "'" + ParserIfc.Encode(mName) + "',#") + mCurveStyleFont.StepId + "," + mCurveFontScaling.ToString();
|
||||
return (string.IsNullOrEmpty(mName) ? "$,#" : "'" + ParserSTEP.Encode(mName) + "',#") + mCurveStyleFont.StepId + "," + mCurveFontScaling.ToString();
|
||||
}
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCurveStyleFont = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCurveStyleFontSelect;
|
||||
mCurveFontScaling = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
}
|
||||
|
|
|
@ -65,14 +65,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mParentProfile.StepId + (mOperator == null ? ",*" : ",#" + mOperator.StepId) +
|
||||
(string.IsNullOrEmpty(mLabel) ? ",$" : ",'" + ParserIfc.Encode(mLabel) + "'");
|
||||
(string.IsNullOrEmpty(mLabel) ? ",$" : ",'" + ParserSTEP.Encode(mLabel) + "'");
|
||||
}
|
||||
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);
|
||||
mParentProfile = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcProfileDef;
|
||||
mOperator = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCartesianTransformationOperator2D;
|
||||
mLabel = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLabel = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDerivedUnit
|
||||
|
@ -81,7 +81,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return "(" + string.Join(",", mElements.Select(x=> "#" +x.StepId)) +
|
||||
"),." + mUnitType.ToString() + (mUserDefinedType == "$" ? ".,$" : ".,'" + mUserDefinedType + "'") +
|
||||
(release >= ReleaseVersion.IFC4X3 ? (string.IsNullOrEmpty(mName) ? ",$" : ",'" + ParserIfc.Encode(mName) + "'") : "");
|
||||
(release >= ReleaseVersion.IFC4X3 ? (string.IsNullOrEmpty(mName) ? ",$" : ",'" + ParserSTEP.Encode(mName) + "'") : "");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -89,7 +89,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcDerivedUnitEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mUnitType);
|
||||
mUserDefinedType = ParserSTEP.StripString(str, ref pos, len);
|
||||
if(release >= ReleaseVersion.IFC4X3)
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDerivedUnitElement
|
||||
|
@ -284,13 +284,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? (string.IsNullOrEmpty(mControlElementId) ? ",$" : ",'" + ParserIfc.Encode(mControlElementId) + "'") : "");
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? (string.IsNullOrEmpty(mControlElementId) ? ",$" : ",'" + ParserSTEP.Encode(mControlElementId) + "'") : "");
|
||||
}
|
||||
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)
|
||||
mControlElementId = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mControlElementId = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDistributionPort
|
||||
|
@ -322,12 +322,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongName) ? ",$,." : ",'" + ParserIfc.Encode(mLongName) + "',.") + mPredefinedType.ToString() + ".");
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongName) ? ",$,." : ",'" + ParserSTEP.Encode(mLongName) + "',.") + mPredefinedType.ToString() + ".");
|
||||
}
|
||||
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);
|
||||
mLongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcDistributionSystemEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
|
@ -337,15 +337,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mFileExtension) ? "$," : "'" + ParserIfc.Encode(mFileExtension) + ",',") +
|
||||
(string.IsNullOrEmpty(mMimeContentType) ? "$," : "'" + ParserIfc.Encode(mMimeContentType) + "',") +
|
||||
(string.IsNullOrEmpty(mMimeSubtype) ? "$" : "'" + ParserIfc.Encode(mMimeSubtype) + "'");
|
||||
return (string.IsNullOrEmpty(mFileExtension) ? "$," : "'" + ParserSTEP.Encode(mFileExtension) + ",',") +
|
||||
(string.IsNullOrEmpty(mMimeContentType) ? "$," : "'" + ParserSTEP.Encode(mMimeContentType) + "',") +
|
||||
(string.IsNullOrEmpty(mMimeSubtype) ? "$" : "'" + ParserSTEP.Encode(mMimeSubtype) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mFileExtension = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMimeContentType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMimeSubtype = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFileExtension = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMimeContentType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMimeSubtype = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDocumentInformation
|
||||
|
@ -356,28 +356,28 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return "";//to be implemented
|
||||
}
|
||||
return "'" + ParserIfc.Encode(mIdentification) + "','" + ParserIfc.Encode(mName) +
|
||||
(string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return "'" + ParserSTEP.Encode(mIdentification) + "','" + ParserSTEP.Encode(mName) +
|
||||
(string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(release < ReleaseVersion.IFC4 ? (mDocumentReferences.Count == 0 ? "$," : "(#" + string.Join(",#", mDocumentReferences) + "),") :
|
||||
(string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserIfc.Encode(mLocation) + "',")) +
|
||||
(string.IsNullOrEmpty(mPurpose) ? "$," : "'" + ParserIfc.Encode(mPurpose) + "',") + (string.IsNullOrEmpty(mIntendedUse) ? "$," : "'" + ParserIfc.Encode(mIntendedUse) + "',") +
|
||||
(string.IsNullOrEmpty(mScope) ? "$," : "'" + ParserIfc.Encode(mScope) + "',") +
|
||||
(string.IsNullOrEmpty(mRevision) ? "$," : "'" + ParserIfc.Encode(mRevision) + "',") +
|
||||
(string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserSTEP.Encode(mLocation) + "',")) +
|
||||
(string.IsNullOrEmpty(mPurpose) ? "$," : "'" + ParserSTEP.Encode(mPurpose) + "',") + (string.IsNullOrEmpty(mIntendedUse) ? "$," : "'" + ParserSTEP.Encode(mIntendedUse) + "',") +
|
||||
(string.IsNullOrEmpty(mScope) ? "$," : "'" + ParserSTEP.Encode(mScope) + "',") +
|
||||
(string.IsNullOrEmpty(mRevision) ? "$," : "'" + ParserSTEP.Encode(mRevision) + "',") +
|
||||
(mDocumentOwner == null ? "$" : "#" + mDocumentOwner.StepId) +
|
||||
(mEditors.Count == 0 ? ",$," : ",(" + string.Join(",", mEditors.Select(x=>"#" + x.StepId) + "),") + IfcDateTime.STEPAttribute(mCreationTime) + "," + IfcDateTime.STEPAttribute(mLastRevisionTime) + "," +
|
||||
(release < ReleaseVersion.IFC4 ? (mSSElectronicFormat == null ? "$" : "#" + mSSElectronicFormat.StepId) : (string.IsNullOrEmpty(mElectronicFormat) ? "$" : "'" + ParserIfc.Encode(mElectronicFormat) + "'")) +
|
||||
(release < ReleaseVersion.IFC4 ? (mSSElectronicFormat == null ? "$" : "#" + mSSElectronicFormat.StepId) : (string.IsNullOrEmpty(mElectronicFormat) ? "$" : "'" + ParserSTEP.Encode(mElectronicFormat) + "'")) +
|
||||
(release < ReleaseVersion.IFC4 ? ",$,$" : "," + IfcDate.STEPAttribute(mValidFrom) + "," + IfcDate.STEPAttribute(mValidUntil)) +
|
||||
(mConfidentiality == IfcDocumentConfidentialityEnum.NOTDEFINED ? ",$," : ",." + mConfidentiality.ToString() + ".,") + (mStatus == IfcDocumentStatusEnum.NOTDEFINED ? "$" : "." + mStatus.ToString() + "."));
|
||||
}
|
||||
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));
|
||||
mIdentification = ParserSTEP.Decode( ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
DocumentReferences.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcDocumentReference));
|
||||
else
|
||||
mLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLocation = ParserSTEP.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);
|
||||
|
@ -406,27 +406,27 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatingDocument.StepId + ",(" +
|
||||
string.Join(",", mRelatedDocuments.Select(x=>"#" + x.StepId)) +
|
||||
(string.IsNullOrEmpty( mRelationshipType) ? "),$" : "),'" + ParserIfc.Encode(mRelationshipType) + "'");
|
||||
(string.IsNullOrEmpty( mRelationshipType) ? "),$" : "),'" + ParserSTEP.Encode(mRelationshipType) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
RelatingDocument = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDocumentInformation;
|
||||
RelatedDocuments.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcDocumentInformation));
|
||||
RelationshipType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
RelationshipType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDocumentReference
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mDescription) ? ",$," : ",'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mDescription) ? ",$," : ",'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(mReferencedDocument == null ? "$" : "#" + mReferencedDocument.StepId)); }
|
||||
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.IFC2x3)
|
||||
{
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mReferencedDocument = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDocumentInformation;
|
||||
}
|
||||
}
|
||||
|
@ -438,7 +438,7 @@ namespace GeometryGym.Ifc
|
|||
return base.BuildStringSTEP(release) + "," + formatLength(mOverallHeight) + "," + formatLength(mOverallWidth) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (mPredefinedType == IfcDoorTypeEnum.NOTDEFINED ? ",$," : ",." + mPredefinedType.ToString() + ".,") +
|
||||
(mOperationType == IfcDoorTypeOperationEnum.NOTDEFINED ? "$," : "." + SerializeDoorTypeOperation(mOperationType, release) + ".,") +
|
||||
(string.IsNullOrEmpty(mUserDefinedOperationType) ? "$" : ",'" + ParserIfc.Encode(mUserDefinedOperationType) + "'"));
|
||||
(string.IsNullOrEmpty(mUserDefinedOperationType) ? "$" : ",'" + ParserSTEP.Encode(mUserDefinedOperationType) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -455,7 +455,7 @@ namespace GeometryGym.Ifc
|
|||
mOperationType = ParseDoorTypeOperation(s.Substring(1, s.Length - 2));
|
||||
try
|
||||
{
|
||||
mUserDefinedOperationType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedOperationType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
catch (Exception) { }
|
||||
}
|
||||
|
@ -531,14 +531,14 @@ namespace GeometryGym.Ifc
|
|||
(release < ReleaseVersion.IFC4 ? ",." : ",." + mPredefinedType.ToString() + ".,.") +
|
||||
IfcDoor.SerializeDoorTypeOperation(mOperationType, release) + (release < ReleaseVersion.IFC4 ? ".,.NOTDEFINED" : "") + ".," +
|
||||
ParserSTEP.BoolToString(mParameterTakesPrecedence) + (release < ReleaseVersion.IFC4 ? "," +
|
||||
ParserSTEP.BoolToString(false) : (string.IsNullOrEmpty(mUserDefinedOperationType) ? ",$" : ",'" + ParserIfc.Encode(mUserDefinedOperationType) + "'")); }
|
||||
ParserSTEP.BoolToString(false) : (string.IsNullOrEmpty(mUserDefinedOperationType) ? ",$" : ",'" + ParserSTEP.Encode(mUserDefinedOperationType) + "'")); }
|
||||
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<IfcDoorTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
mOperationType = IfcDoor.ParseDoorTypeOperation(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""));
|
||||
mParameterTakesPrecedence = ParserSTEP.StripBool(str, ref pos, len);
|
||||
mUserDefinedOperationType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedOperationType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcDraughtingCallout
|
||||
|
@ -553,14 +553,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
ParserSTEP.LinkToString(mRelatingDraughtingCallout) + "," + ParserSTEP.LinkToString(mRelatedDraughtingCallout);
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRelatingDraughtingCallout = ParserSTEP.StripLink(str, ref pos, len);
|
||||
mRelatedDraughtingCallout = ParserSTEP.StripLink(str, ref pos, len);
|
||||
}
|
||||
|
|
|
@ -149,13 +149,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + (release > ReleaseVersion.IFC2x3 ? "" :
|
||||
",." + mDistributionPointFunction.ToString() +
|
||||
(string.IsNullOrEmpty(mUserDefinedFunction) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedFunction) + "'"));
|
||||
(string.IsNullOrEmpty(mUserDefinedFunction) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedFunction) + "'"));
|
||||
}
|
||||
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<IfcElectricDistributionPointFunctionEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mDistributionPointFunction);
|
||||
mUserDefinedFunction = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedFunction = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcElectricFlowStorageDevice
|
||||
|
@ -290,11 +290,11 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcElement
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + "," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserIfc.Encode(mTag) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + "," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserSTEP.Encode(mTag) + "'"); }
|
||||
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);
|
||||
mTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcElementarySurface
|
||||
|
@ -337,12 +337,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mMethodOfMeasurement) ? ",$,(" : ",'" + ParserIfc.Encode(mMethodOfMeasurement) + "',(") + string.Join(",", mQuantities.Values.Select(x=>"#" + x.StepId)) + ")";
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mMethodOfMeasurement) ? ",$,(" : ",'" + ParserSTEP.Encode(mMethodOfMeasurement) + "',(") + string.Join(",", mQuantities.Values.Select(x=>"#" + x.StepId)) + ")";
|
||||
}
|
||||
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);
|
||||
mMethodOfMeasurement = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMethodOfMeasurement = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
foreach (IfcPhysicalQuantity quantity in ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcPhysicalQuantity))
|
||||
addQuantity(quantity);
|
||||
}
|
||||
|
@ -351,12 +351,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 && (this as IfcDoorType != null || this as IfcWindowType != null) ? "" : (string.IsNullOrEmpty(mElementType) ? ",$" : ",'" + ParserIfc.Encode(mElementType) + "'"));
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 && (this as IfcDoorType != null || this as IfcWindowType != null) ? "" : (string.IsNullOrEmpty(mElementType) ? ",$" : ",'" + ParserSTEP.Encode(mElementType) + "'"));
|
||||
}
|
||||
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);
|
||||
mElementType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mElementType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcEllipse
|
||||
|
@ -406,13 +406,13 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcEnvironmentalImpactValue
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",'" + mImpactType + "',." + mEnvCategory.ToString() + ".," +(string.IsNullOrEmpty(mUserDefinedCategory) ? "$" : "'" + ParserIfc.Encode(mUserDefinedCategory) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",'" + mImpactType + "',." + mEnvCategory.ToString() + ".," +(string.IsNullOrEmpty(mUserDefinedCategory) ? "$" : "'" + ParserSTEP.Encode(mUserDefinedCategory) + "'"); }
|
||||
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);
|
||||
mImpactType = ParserSTEP.StripString(str, ref pos, len);
|
||||
Enum.TryParse<IfcEnvironmentalImpactCategoryEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mEnvCategory);
|
||||
mUserDefinedCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcEvaporativeCooler
|
||||
|
@ -476,7 +476,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (release < ReleaseVersion.IFC4 ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + ".,." + mEventTriggerType.ToString() +
|
||||
(string.IsNullOrEmpty(mUserDefinedEventTriggerType) ? ".,$" : (".,'" + ParserIfc.Encode(mUserDefinedEventTriggerType) + "'")) +
|
||||
(string.IsNullOrEmpty(mUserDefinedEventTriggerType) ? ".,$" : (".,'" + ParserSTEP.Encode(mUserDefinedEventTriggerType) + "'")) +
|
||||
(mEventOccurrenceTime == null ? ",$" : ",#" + mEventOccurrenceTime.StepId));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -485,7 +485,7 @@ namespace GeometryGym.Ifc
|
|||
|
||||
Enum.TryParse<IfcEventTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
Enum.TryParse<IfcEventTriggerTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mEventTriggerType);
|
||||
mUserDefinedEventTriggerType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedEventTriggerType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEventOccurrenceTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcEventTime;
|
||||
}
|
||||
}
|
||||
|
@ -513,14 +513,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (release < ReleaseVersion.IFC4 ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + ".,." + mEventTriggerType.ToString() +
|
||||
(string.IsNullOrEmpty(mUserDefinedEventTriggerType) ? ".,$" : (".,'" + ParserIfc.Encode(mUserDefinedEventTriggerType) + "'")));
|
||||
(string.IsNullOrEmpty(mUserDefinedEventTriggerType) ? ".,$" : (".,'" + ParserSTEP.Encode(mUserDefinedEventTriggerType) + "'")));
|
||||
}
|
||||
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<IfcEventTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
Enum.TryParse<IfcEventTriggerTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mEventTriggerType);
|
||||
mUserDefinedEventTriggerType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedEventTriggerType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcExtendedMaterialProperties
|
||||
|
@ -530,7 +530,7 @@ namespace GeometryGym.Ifc
|
|||
if (mProperties.Count == 0)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + ",(#" + string.Join(",#", mProperties.Values.Select(x => x.StepId)) +
|
||||
(string.IsNullOrEmpty(mDescription) ? "),$,'" : "),'" + ParserIfc.Encode(mDescription) + "','") + ParserIfc.Encode(mName) + "'";
|
||||
(string.IsNullOrEmpty(mDescription) ? "),$,'" : "),'" + ParserSTEP.Encode(mDescription) + "','") + ParserSTEP.Encode(mName) + "'";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -541,8 +541,8 @@ namespace GeometryGym.Ifc
|
|||
if (property != null)
|
||||
mProperties[property.Name] = property;
|
||||
}
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcExtendedProperties
|
||||
|
@ -553,15 +553,15 @@ namespace GeometryGym.Ifc
|
|||
return "";
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',")
|
||||
+ (string.IsNullOrEmpty(mDescription) ? "$,(#" : "'" + ParserIfc.Encode(mDescription) + "',(#") + string.Join(",#", mProperties.Values.Select(x=>x.StepId)) + ")";
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',")
|
||||
+ (string.IsNullOrEmpty(mDescription) ? "$,(#" : "'" + ParserSTEP.Encode(mDescription) + "',(#") + string.Join(",#", mProperties.Values.Select(x=>x.StepId)) + ")";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
foreach (int i in ParserSTEP.StripListLink(str, ref pos, len))
|
||||
{
|
||||
IfcProperty property = dictionary[i] as IfcProperty;
|
||||
|
@ -575,15 +575,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserIfc.Encode(mLocation) + "',") +
|
||||
(string.IsNullOrEmpty(mIdentification) ? "$" : "'" + ParserIfc.Encode(mIdentification) + "'") +
|
||||
(string.IsNullOrEmpty(mName) ? ",$" : ",'" + ParserIfc.Encode(mName) + "'");
|
||||
return (string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserSTEP.Encode(mLocation) + "',") +
|
||||
(string.IsNullOrEmpty(mIdentification) ? "$" : "'" + ParserSTEP.Encode(mIdentification) + "'") +
|
||||
(string.IsNullOrEmpty(mName) ? ",$" : ",'" + ParserSTEP.Encode(mName) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLocation = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcExternalReferenceRelationship
|
||||
|
|
|
@ -380,7 +380,7 @@ namespace GeometryGym.Ifc
|
|||
(mVelocityTimeSeries == null ? ",$" : ",#" + mVelocityTimeSeries.StepId) +
|
||||
(mFlowrateTimeSeries == null ? ",$" : ",#" + mFlowrateTimeSeries.StepId) + ",#" + mFluid.StepId +
|
||||
(mPressureTimeSeries == null ? ",$" : ",#" + mPressureTimeSeries.StepId) +
|
||||
(string.IsNullOrEmpty(mUserDefinedPropertySource) ? ",$," : ",'" + ParserIfc.Encode(mUserDefinedPropertySource) + "',") +
|
||||
(string.IsNullOrEmpty(mUserDefinedPropertySource) ? ",$," : ",'" + ParserSTEP.Encode(mUserDefinedPropertySource) + "',") +
|
||||
ParserSTEP.DoubleOptionalToString(mTemperatureSingleValue) + "," + ParserSTEP.DoubleOptionalToString(mWetBulbTemperatureSingleValue) + "," +
|
||||
(mWetBulbTemperatureTimeSeries == null ? ",$" : ",#" + mWetBulbTemperatureTimeSeries.StepId) +
|
||||
(mTemperatureTimeSeries == null ? ",$" :",#" + mTemperatureTimeSeries.StepId) + "," +
|
||||
|
@ -396,7 +396,7 @@ namespace GeometryGym.Ifc
|
|||
mFlowrateTimeSeries = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcTimeSeries;
|
||||
mFluid = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcMaterial;
|
||||
mPressureTimeSeries = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcTimeSeries;
|
||||
mUserDefinedPropertySource = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedPropertySource = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTemperatureSingleValue = ParserSTEP.StripLink(str, ref pos, len);
|
||||
mWetBulbTemperatureSingleValue = ParserSTEP.StripLink(str, ref pos, len);
|
||||
mWetBulbTemperatureTimeSeries = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcTimeSeries;
|
||||
|
|
|
@ -121,14 +121,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mParentContext.StepId + (double.IsNaN(mTargetScale) || mTargetScale <=0 ? ",$,." : "," + ParserSTEP.DoubleOptionalToString(mTargetScale) + ",.") +
|
||||
mTargetView.ToString() + (string.IsNullOrEmpty(mUserDefinedTargetView) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedTargetView) + "'"); }
|
||||
mTargetView.ToString() + (string.IsNullOrEmpty(mUserDefinedTargetView) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedTargetView) + "'"); }
|
||||
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);
|
||||
ParentContext = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcGeometricRepresentationContext;
|
||||
mTargetScale = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
Enum.TryParse<IfcGeometricProjectionEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mTargetView);
|
||||
mUserDefinedTargetView = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedTargetView = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcGeometricSet
|
||||
|
@ -199,10 +199,10 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcGridAxis
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mAxisTag) ? "$," : "'" + ParserIfc.Encode(mAxisTag) + "',#") + AxisCurve.StepId + "," + ParserSTEP.BoolToString(mSameSense); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mAxisTag) ? "$," : "'" + ParserSTEP.Encode(mAxisTag) + "',#") + AxisCurve.StepId + "," + ParserSTEP.BoolToString(mSameSense); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mAxisTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAxisTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
AxisCurve = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCurve;
|
||||
mSameSense = ParserSTEP.StripBool(str, ref pos, len);
|
||||
}
|
||||
|
|
|
@ -31,11 +31,11 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
public partial class IfcImageTexture
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",'" + ParserIfc.Encode(mUrlReference) + "'"; }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",'" + ParserSTEP.Encode(mUrlReference) + "'"; }
|
||||
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);
|
||||
mUrlReference = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUrlReference = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcIndexedColourMap
|
||||
|
|
|
@ -99,18 +99,18 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
string result = "'" + ParserIfc.Encode(mName) + (string.IsNullOrEmpty(mVersion) ? "',$," : "','" + ParserIfc.Encode(mVersion) + "',") +
|
||||
string result = "'" + ParserSTEP.Encode(mName) + (string.IsNullOrEmpty(mVersion) ? "',$," : "','" + ParserSTEP.Encode(mVersion) + "',") +
|
||||
(mPublisher == null? "$" : "#" + mPublisher.StepId);
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4)
|
||||
return result + (mVersionDateSS == null ? ",$" : ",#" + mVersionDateSS.StepId) + ",(" + string.Join(",", mHasConstraintRelationships.Select(x => "#" + x.StepId)) + ")";
|
||||
return result + "," + IfcDateTime.STEPAttribute(mVersionDate) + "," +
|
||||
(string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserIfc.Encode(mLocation) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserIfc.Encode(mDescription) + "'");
|
||||
(string.IsNullOrEmpty(mLocation) ? "$," : "'" + ParserSTEP.Encode(mLocation) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode(mDescription) + "'");
|
||||
}
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mVersion = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPublisher = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcActorSelect;
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
{
|
||||
|
@ -120,8 +120,8 @@ namespace GeometryGym.Ifc
|
|||
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));
|
||||
mLocation = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -132,8 +132,8 @@ namespace GeometryGym.Ifc
|
|||
string result = base.BuildStringSTEP(release);
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return result;
|
||||
return result + (string.IsNullOrEmpty(mDescription) ? ",$," : ",'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mLanguage) ? "$," : "'" + ParserIfc.Encode(mLanguage) + "',") + ParserSTEP.ObjToLinkString(mReferencedLibrary);
|
||||
return result + (string.IsNullOrEmpty(mDescription) ? ",$," : ",'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mLanguage) ? "$," : "'" + ParserSTEP.Encode(mLanguage) + "',") + ParserSTEP.ObjToLinkString(mReferencedLibrary);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -141,7 +141,7 @@ namespace GeometryGym.Ifc
|
|||
if (release != ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mDescription = ParserSTEP.StripString(str, ref pos, len);
|
||||
mLanguage = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLanguage = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
ReferencedLibrary = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcLibraryInformation;
|
||||
}
|
||||
}
|
||||
|
@ -200,10 +200,10 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcLightSource
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") + ParserSTEP.LinkToString(mLightColour) + "," + ParserSTEP.DoubleOptionalToString(mAmbientIntensity) + "," + ParserSTEP.DoubleOptionalToString(mIntensity); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") + ParserSTEP.LinkToString(mLightColour) + "," + ParserSTEP.DoubleOptionalToString(mAmbientIntensity) + "," + ParserSTEP.DoubleOptionalToString(mIntensity); }
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLightColour = ParserSTEP.StripLink(str, ref pos, len);
|
||||
mAmbientIntensity = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mIntensity = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
|
|
|
@ -113,17 +113,17 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + ParserIfc.Encode(mName) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserIfc.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mCategory) ? "$" : "'" + ParserIfc.Encode(mCategory) + "'") : "'" ); }
|
||||
return "'" + ParserSTEP.Encode(mName) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mCategory) ? "$" : "'" + ParserSTEP.Encode(mCategory) + "'") : "'" ); }
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release != ReleaseVersion.IFC2x3)
|
||||
{
|
||||
try
|
||||
{
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
catch (Exception) { }
|
||||
}
|
||||
|
@ -145,29 +145,29 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,#" : "'" + ParserIfc.Encode(mDescription) + "',#") + mMaterial.StepId + "," +
|
||||
ParserSTEP.DoubleToString(mFraction) + (string.IsNullOrEmpty(mCategory) ? ",$" : ",'" + ParserIfc.Encode(mCategory) + "'");
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,#" : "'" + ParserSTEP.Encode(mDescription) + "',#") + mMaterial.StepId + "," +
|
||||
ParserSTEP.DoubleToString(mFraction) + (string.IsNullOrEmpty(mCategory) ? ",$" : ",'" + ParserSTEP.Encode(mCategory) + "'");
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMaterial = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcMaterial;
|
||||
mFraction = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialConstituentSet
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") + (string.IsNullOrEmpty(mDescription) ? "$,(#" : "'" + ParserIfc.Encode(mDescription) + "',(#") + string.Join(",#", mMaterialConstituents.Values.Select(x=>x.StepId)) + ")";
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") + (string.IsNullOrEmpty(mDescription) ? "$,(#" : "'" + ParserSTEP.Encode(mDescription) + "',(#") + string.Join(",#", mMaterialConstituents.Values.Select(x=>x.StepId)) + ")";
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
foreach (IfcMaterialConstituent constituent in ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcMaterialConstituent))
|
||||
mMaterialConstituents[constituent.Name] = constituent;
|
||||
}
|
||||
|
@ -187,9 +187,9 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return (mMaterial == null ? "$," : "#" + mMaterial.StepId + ",") + ParserSTEP.DoubleToString(mLayerThickness) + "," +
|
||||
ParserIfc.LogicalToString(mIsVentilated) + (release < ReleaseVersion.IFC4 ? "" :
|
||||
(string.IsNullOrEmpty(mName) ? ",$," : ",'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mCategory) ? "$," : "'" + ParserIfc.Encode(mCategory) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? ",$," : ",'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mCategory) ? "$," : "'" + ParserSTEP.Encode(mCategory) + "',") +
|
||||
ParserSTEP.DoubleOptionalToString(mPriority));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -201,9 +201,9 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release != ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPriority = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
}
|
||||
}
|
||||
|
@ -215,15 +215,15 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "(" + string.Join(",", mMaterialLayers.Select(x=>"#" +x.StepId)) +
|
||||
(string.IsNullOrEmpty(mLayerSetName) ? "),$" : "),'" + ParserIfc.Encode(mLayerSetName) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mDescription) ? ",$" : ",'" + ParserIfc.Encode(mDescription) + "'"));
|
||||
(string.IsNullOrEmpty(mLayerSetName) ? "),$" : "),'" + ParserSTEP.Encode(mLayerSetName) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mDescription) ? ",$" : ",'" + ParserSTEP.Encode(mDescription) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
MaterialLayers.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcMaterialLayer));
|
||||
mLayerSetName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLayerSetName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release != ReleaseVersion.IFC2x3)
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialLayerSetUsage
|
||||
|
@ -284,21 +284,21 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") + ParserSTEP.ObjToLinkString(mMaterial) + "," +
|
||||
ParserSTEP.ObjToLinkString(mProfile) + (mPriority >= 0 && mPriority <= 100 ? "," + mPriority+ "," : ",$,") + (string.IsNullOrEmpty(mCategory) ? "$" : "'" + ParserIfc.Encode(mCategory) + "'"));
|
||||
return (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") + ParserSTEP.ObjToLinkString(mMaterial) + "," +
|
||||
ParserSTEP.ObjToLinkString(mProfile) + (mPriority >= 0 && mPriority <= 100 ? "," + mPriority+ "," : ",$,") + (string.IsNullOrEmpty(mCategory) ? "$" : "'" + ParserSTEP.Encode(mCategory) + "'"));
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Material = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcMaterial;
|
||||
Profile = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcProfileDef;
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
double d = 0;
|
||||
if(double.TryParse(s, System.Globalization.NumberStyles.Any, ParserSTEP.NumberFormat, out d)) //Was normalizedRatioMeasure
|
||||
Priority =(int)d;
|
||||
mCategory = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCategory = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcMaterialProfileSet
|
||||
|
@ -307,14 +307,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release < ReleaseVersion.IFC4 || mMaterialProfiles.Count == 0)
|
||||
return "";
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,(" : "'" + ParserIfc.Encode(mDescription) + "',(") +
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,(" : "'" + ParserSTEP.Encode(mDescription) + "',(") +
|
||||
string.Join(",", mMaterialProfiles.Select(x=>"#" + x.StepId)) + ")," + ParserSTEP.ObjToLinkString(mCompositeProfile);
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
MaterialProfiles.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcMaterialProfile));
|
||||
CompositeProfile = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCompositeProfileDef;
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ namespace GeometryGym.Ifc
|
|||
return "";
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatingMaterial.StepId + ",(" +
|
||||
string.Join(",", mRelatedMaterials.Select(x=>"#" + x.StepId)) +
|
||||
(string.IsNullOrEmpty(mMaterialExpression) ? "),$" : "),'" + ParserIfc.Encode(mMaterialExpression) + "'");
|
||||
(string.IsNullOrEmpty(mMaterialExpression) ? "),$" : "),'" + ParserSTEP.Encode(mMaterialExpression) + "'");
|
||||
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -385,7 +385,7 @@ namespace GeometryGym.Ifc
|
|||
base.parse(str, ref pos, release, len, dictionary);
|
||||
RelatingMaterial = dictionary[ ParserSTEP.StripLink(str, ref pos, len)] as IfcMaterial;
|
||||
RelatedMaterials.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>Database[x] as IfcMaterial));
|
||||
mMaterialExpression = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMaterialExpression = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcMeasureWithUnit
|
||||
|
@ -406,18 +406,18 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleOptionalToString(mCompressiveStrength) + "," +
|
||||
ParserSTEP.DoubleOptionalToString(mMaxAggregateSize) +
|
||||
(string.IsNullOrEmpty(mAdmixturesDescription) ? ",$," : ",'" + ParserIfc.Encode(mAdmixturesDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mAdmixturesDescription) ? ",$," : ",'" + ParserSTEP.Encode(mAdmixturesDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mWorkability) ? "$," : "'" + mWorkability + "',") + ParserSTEP.DoubleOptionalToString(mProtectivePoreRatio) +
|
||||
(string.IsNullOrEmpty(mWaterImpermeability) ? ",$" : ",'" + ParserIfc.Encode(mWaterImpermeability) + "'"); }
|
||||
(string.IsNullOrEmpty(mWaterImpermeability) ? ",$" : ",'" + ParserSTEP.Encode(mWaterImpermeability) + "'"); }
|
||||
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);
|
||||
mCompressiveStrength = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mMaxAggregateSize = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mAdmixturesDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWorkability = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAdmixturesDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWorkability = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mProtectivePoreRatio = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mWaterImpermeability = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWaterImpermeability = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcMechanicalFastener
|
||||
|
@ -537,15 +537,15 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",." + mBenchMark.ToString() +
|
||||
(string.IsNullOrEmpty(mValueSource) ? ".,$," : ".,'" + ParserIfc.Encode(mValueSource) + "',") +
|
||||
(string.IsNullOrEmpty(mValueSource) ? ".,$," : ".,'" + ParserSTEP.Encode(mValueSource) + "',") +
|
||||
(mDataValue == null ? "$" : (mDataValue is BaseClassIfc o ? "#" + o.StepId : mDataValue.ToString())) +
|
||||
(mDatabase.Release < ReleaseVersion.IFC4 ? "" : ",#" + mReferencePath.StepId);
|
||||
(release < ReleaseVersion.IFC4 ? "" : (mReferencePath == null ? ",$" : ",#" + mReferencePath.StepId));
|
||||
}
|
||||
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<IfcBenchmarkEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mBenchMark);
|
||||
mValueSource = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mValueSource = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if(s[0] == '#')
|
||||
mDataValue = dictionary[ParserSTEP.ParseLink(s)] as IfcMetricValueSelect;
|
||||
|
@ -584,10 +584,10 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcMonetaryUnit
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4 ? "." + mCurrency + "." : "'" + ParserIfc.Encode(mCurrency) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4 ? "." + mCurrency + "." : "'" + ParserSTEP.Encode(mCurrency) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mCurrency = ParserIfc.Decode( ParserSTEP.StripField(str, ref pos, len).Replace(release < ReleaseVersion.IFC4 ? "." : "'", ""));
|
||||
mCurrency = ParserSTEP.Decode( ParserSTEP.StripField(str, ref pos, len).Replace(release < ReleaseVersion.IFC4 ? "." : "'", ""));
|
||||
}
|
||||
}
|
||||
public partial class IfcMooringDevice
|
||||
|
|
|
@ -33,11 +33,11 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mObjectType) ? ",$" : ",'" + ParserIfc.Encode(mObjectType) + "'"); }
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mObjectType) ? ",$" : ",'" + ParserSTEP.Encode(mObjectType) + "'"); }
|
||||
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);
|
||||
mObjectType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mObjectType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcObjectPlacement
|
||||
|
@ -59,7 +59,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mBenchmarkValues.Count == 0 ? ",$," : ",(" + string.Join(",", mBenchmarkValues.Select(x=>"#" + x.StepId)) + "),") +
|
||||
(mLogicalAggregator != IfcLogicalOperatorEnum.NONE ? "." + mLogicalAggregator.ToString() + ".,." : "$,.") + mObjectiveQualifier + (string.IsNullOrEmpty(mUserDefinedQualifier) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedQualifier) + "'");
|
||||
(mLogicalAggregator != IfcLogicalOperatorEnum.NONE ? "." + mLogicalAggregator.ToString() + ".,." : "$,.") + mObjectiveQualifier + (string.IsNullOrEmpty(mUserDefinedQualifier) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedQualifier) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -69,7 +69,7 @@ namespace GeometryGym.Ifc
|
|||
if (s[0] == '.')
|
||||
Enum.TryParse<IfcLogicalOperatorEnum>(s.Replace(".", ""), true, out mLogicalAggregator);
|
||||
Enum.TryParse<IfcObjectiveEnum>(ParserSTEP.StripField( str, ref pos, len).Replace(".", ""), true, out mObjectiveQualifier);
|
||||
mUserDefinedQualifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedQualifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcOccupant
|
||||
|
@ -112,12 +112,12 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcOffsetCurveByDistances
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",(" + string.Join(",", OffsetValues.ConvertAll(x => "#" + x.StepId)) + (string.IsNullOrEmpty(Tag) ? "),$" : "),'" + ParserIfc.Encode(Tag) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",(" + string.Join(",", OffsetValues.ConvertAll(x => "#" + x.StepId)) + (string.IsNullOrEmpty(Tag) ? "),$" : "),'" + ParserSTEP.Encode(Tag) + "'"); }
|
||||
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);
|
||||
OffsetValues.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPointByDistanceExpression));
|
||||
Tag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Tag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcOneDirectionRepeatFactor
|
||||
|
@ -135,7 +135,7 @@ namespace GeometryGym.Ifc
|
|||
return base.BuildStringSTEP(release) + "," + (mHorizontalWidths ? ".T." : ".F") +
|
||||
",(" + string.Join(",", mWidths.ConvertAll(x => ParserSTEP.DoubleToString(x))) + ")" +
|
||||
",(" + string.Join(",", mSlopes.ConvertAll(x => ParserSTEP.DoubleToString(x))) + ")" +
|
||||
(mTags.Count == 0 ? ",$" : ",(" + string.Join(",", mTags.ConvertAll(x => "'" + ParserIfc.Encode(x) + "'")) + ")") + ",#" + mOffsetPoint.StepId;
|
||||
(mTags.Count == 0 ? ",$" : ",(" + string.Join(",", mTags.ConvertAll(x => "'" + ParserSTEP.Encode(x) + "'")) + ")") + ",#" + mOffsetPoint.StepId;
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -143,7 +143,7 @@ namespace GeometryGym.Ifc
|
|||
HorizontalWidths = ParserSTEP.StripBool(str, ref pos, len);
|
||||
Widths.AddRange(ParserSTEP.StripListDouble(str, ref pos, len));
|
||||
Slopes.AddRange(ParserSTEP.StripListDouble(str, ref pos, len));
|
||||
Tags.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).ConvertAll(x => ParserIfc.Decode(x)));
|
||||
Tags.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).ConvertAll(x => ParserSTEP.Decode(x)));
|
||||
OffsetPoint = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCartesianPoint;
|
||||
}
|
||||
}
|
||||
|
@ -165,17 +165,17 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mIdentification) ? "$,'" : "'" + ParserIfc.Encode(mIdentification) + "','") + ParserIfc.Encode(Name)
|
||||
+ (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserIfc.Encode(mDescription) + "',")
|
||||
return (string.IsNullOrEmpty(mIdentification) ? "$,'" : "'" + ParserSTEP.Encode(mIdentification) + "','") + ParserSTEP.Encode(Name)
|
||||
+ (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserSTEP.Encode(mDescription) + "',")
|
||||
+ (mRoles.Count == 0 ? "$," : "(" + string.Join(",", Roles.Select(x=>"#" + x.StepId)) + "),")
|
||||
+ (mAddresses.Count == 0 ? "$" : "(" + string.Join(",", Addresses.Select(x=> "#" + x.StepId)) + ")");
|
||||
|
||||
}
|
||||
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));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Roles.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as IfcActorRole));
|
||||
mAddresses.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as IfcAddress));
|
||||
}
|
||||
|
|
|
@ -91,12 +91,12 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
string predefined = (release < ReleaseVersion.IFC4 ? "" : (mPredefinedType == IfcPerformanceHistoryTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + "."));
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserIfc.Encode(mLifeCyclePhase) + "'" + predefined;
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserSTEP.Encode(mLifeCyclePhase) + "'" + predefined;
|
||||
}
|
||||
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);
|
||||
mLifeCyclePhase = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLifeCyclePhase = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if(release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
|
@ -146,24 +146,24 @@ namespace GeometryGym.Ifc
|
|||
string id = Identification;
|
||||
if (string.IsNullOrEmpty(mIdentification) && string.IsNullOrEmpty(mGivenName) && string.IsNullOrEmpty(mFamilyName))
|
||||
id = "Unknown";
|
||||
return (string.IsNullOrEmpty(id) ? "$," : "'" + ParserIfc.Encode(id) + "',") +
|
||||
(string.IsNullOrEmpty(mFamilyName) ? "$," : "'" + ParserIfc.Encode(mFamilyName) + "',") +
|
||||
(string.IsNullOrEmpty(mGivenName) ? "$," : "'" + ParserIfc.Encode(mGivenName) + "',") +
|
||||
(mMiddleNames.Count == 0 ? "$," : "(" + string.Join(",", mMiddleNames.Select(x=> "'" + ParserIfc.Encode(x) + "'")) + "),") +
|
||||
(mPrefixTitles.Count == 0 ? "$," : "(" + string.Join(",", mPrefixTitles.Select(x=>"'" + ParserIfc.Encode(x) + "'")) + "),") +
|
||||
(mSuffixTitles.Count == 0 ? "$," : "(" + string.Join(",", mSuffixTitles.Select(x=>"'" + ParserIfc.Encode(x) + "'")) + "),") +
|
||||
return (string.IsNullOrEmpty(id) ? "$," : "'" + ParserSTEP.Encode(id) + "',") +
|
||||
(string.IsNullOrEmpty(mFamilyName) ? "$," : "'" + ParserSTEP.Encode(mFamilyName) + "',") +
|
||||
(string.IsNullOrEmpty(mGivenName) ? "$," : "'" + ParserSTEP.Encode(mGivenName) + "',") +
|
||||
(mMiddleNames.Count == 0 ? "$," : "(" + string.Join(",", mMiddleNames.Select(x=> "'" + ParserSTEP.Encode(x) + "'")) + "),") +
|
||||
(mPrefixTitles.Count == 0 ? "$," : "(" + string.Join(",", mPrefixTitles.Select(x=>"'" + ParserSTEP.Encode(x) + "'")) + "),") +
|
||||
(mSuffixTitles.Count == 0 ? "$," : "(" + string.Join(",", mSuffixTitles.Select(x=>"'" + ParserSTEP.Encode(x) + "'")) + "),") +
|
||||
(Roles.Count == 0 ? "$," : "(" + string.Join(",", Roles.ConvertAll(x=> "#" + x.StepId)) + "),") +
|
||||
(Addresses.Count == 0 ? "$" : "(" + string.Join(",", Addresses.ConvertAll(x=> "#" + x.StepId)) + ")");
|
||||
|
||||
}
|
||||
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));
|
||||
mFamilyName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mGivenName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMiddleNames.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x=>ParserIfc.Decode(x)));
|
||||
mPrefixTitles.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserIfc.Decode(x)));
|
||||
mSuffixTitles.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserIfc.Decode(x)));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFamilyName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mGivenName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMiddleNames.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x=>ParserSTEP.Decode(x)));
|
||||
mPrefixTitles.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserSTEP.Decode(x)));
|
||||
mSuffixTitles.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserSTEP.Decode(x)));
|
||||
mRoles.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=> dictionary[x] as IfcActorRole));
|
||||
mAddresses.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=> dictionary[x] as IfcAddress));
|
||||
}
|
||||
|
@ -187,26 +187,26 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) +
|
||||
",(#" + string.Join(",#", mHasQuantities.ConvertAll(x => x.StepId.ToString())) + ")" +
|
||||
",'" + ParserIfc.Encode(mDiscrimination) + "'" +
|
||||
(string.IsNullOrEmpty(mQuality) ? ",$" : ",'" + ParserIfc.Encode(mQuality) + "'") +
|
||||
(string.IsNullOrEmpty(mUsage) ? ",$" : ",'" + ParserIfc.Encode(mUsage) + "'");
|
||||
",'" + ParserSTEP.Encode(mDiscrimination) + "'" +
|
||||
(string.IsNullOrEmpty(mQuality) ? ",$" : ",'" + ParserSTEP.Encode(mQuality) + "'") +
|
||||
(string.IsNullOrEmpty(mUsage) ? ",$" : ",'" + ParserSTEP.Encode(mUsage) + "'");
|
||||
}
|
||||
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);
|
||||
HasQuantities.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcPhysicalQuantity));
|
||||
Discrimination = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Quality = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Usage = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Discrimination = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Quality = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Usage = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPhysicalQuantity
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserIfc.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$" : "','" + ParserIfc.Encode(mDescription) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserSTEP.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$" : "','" + ParserSTEP.Encode(mDescription) + "'"); }
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPhysicalSimpleQuantity
|
||||
|
@ -454,32 +454,32 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mInternalLocation) ? ",$" : ",'" + ParserIfc.Encode(mInternalLocation) + "'") +
|
||||
(mAddressLines.Count == 0 ? ",$" : ",('" + string.Join("','", mAddressLines.Select(x => ParserIfc.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mPostalBox) ? ",$" : ",'" + ParserIfc.Encode(mPostalBox) + "'") +
|
||||
(string.IsNullOrEmpty(mTown) ? ",$" : ",'" + ParserIfc.Encode(mTown) + "'") +
|
||||
(string.IsNullOrEmpty(mRegion) ? ",$" : ",'" + ParserIfc.Encode(mRegion) + "'") +
|
||||
(string.IsNullOrEmpty(mPostalCode) ? ",$" : ",'" + ParserIfc.Encode(mPostalCode) + "'") +
|
||||
(string.IsNullOrEmpty(mCountry) ? ",$" : ",'" + ParserIfc.Encode(mCountry) + "'");
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mInternalLocation) ? ",$" : ",'" + ParserSTEP.Encode(mInternalLocation) + "'") +
|
||||
(mAddressLines.Count == 0 ? ",$" : ",('" + string.Join("','", mAddressLines.Select(x => ParserSTEP.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mPostalBox) ? ",$" : ",'" + ParserSTEP.Encode(mPostalBox) + "'") +
|
||||
(string.IsNullOrEmpty(mTown) ? ",$" : ",'" + ParserSTEP.Encode(mTown) + "'") +
|
||||
(string.IsNullOrEmpty(mRegion) ? ",$" : ",'" + ParserSTEP.Encode(mRegion) + "'") +
|
||||
(string.IsNullOrEmpty(mPostalCode) ? ",$" : ",'" + ParserSTEP.Encode(mPostalCode) + "'") +
|
||||
(string.IsNullOrEmpty(mCountry) ? ",$" : ",'" + ParserSTEP.Encode(mCountry) + "'");
|
||||
}
|
||||
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);
|
||||
mInternalLocation = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAddressLines.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserIfc.Decode(x)));
|
||||
mPostalBox = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTown = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRegion = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPostalCode = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCountry = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mInternalLocation = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAddressLines.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserSTEP.Decode(x)));
|
||||
mPostalBox = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTown = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRegion = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPostalCode = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mCountry = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcPreDefinedItem
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserIfc.Encode(mName)+ "'"; }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserSTEP.Encode(mName)+ "'"; }
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPresentationLayerAssignment
|
||||
|
@ -488,15 +488,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (mAssignedItems.Count < 1)
|
||||
return "";
|
||||
return "'" + ParserIfc.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$,(" : "','" + ParserIfc.Encode(mDescription) + "',(") +
|
||||
string.Join(",", mAssignedItems.ConvertAll(x=> "#" + x.StepId)) + (string.IsNullOrEmpty(mIdentifier) ? "),$" : "),'" + ParserIfc.Encode(mIdentifier) + "'");
|
||||
return "'" + ParserSTEP.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$,(" : "','" + ParserSTEP.Encode(mDescription) + "',(") +
|
||||
string.Join(",", mAssignedItems.ConvertAll(x=> "#" + x.StepId)) + (string.IsNullOrEmpty(mIdentifier) ? "),$" : "),'" + ParserSTEP.Encode(mIdentifier) + "'");
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
AssignedItems.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as IfcLayeredItem));
|
||||
mIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPresentationLayerWithStyle
|
||||
|
@ -520,8 +520,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcPresentationStyle
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserIfc.Encode(mName) + "'"); }
|
||||
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)); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserSTEP.Encode(mName) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary) { mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len)); }
|
||||
}
|
||||
public partial class IfcPresentationStyleAssignment
|
||||
{
|
||||
|
@ -538,18 +538,18 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserIfc.Encode(mIdentification) + "'" : "") + ",." +
|
||||
mPredefinedType.ToString() + (release < ReleaseVersion.IFC4 ? string.IsNullOrEmpty(mUserDefinedProcedureType) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedProcedureType) + "'" : "");
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserSTEP.Encode(mIdentification) + "'" : "") + ",." +
|
||||
mPredefinedType.ToString() + (release < ReleaseVersion.IFC4 ? string.IsNullOrEmpty(mUserDefinedProcedureType) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedProcedureType) + "'" : "");
|
||||
}
|
||||
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 = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
|
||||
Enum.TryParse<IfcProcedureTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
if(release < ReleaseVersion.IFC4)
|
||||
mUserDefinedProcedureType = ParserIfc.Encode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedProcedureType = ParserSTEP.Encode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcProcedureType
|
||||
|
@ -565,16 +565,16 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$" : "'" + ParserIfc.Encode(mLongDescription) + "'") : "");
|
||||
return base.BuildStringSTEP(release) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$" : "'" + ParserSTEP.Encode(mLongDescription) + "'") : "");
|
||||
}
|
||||
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.IFC2x3)
|
||||
{
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -592,14 +592,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,(" : "'" + ParserIfc.Encode(mDescription) + "',(") +
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$,(" : "'" + ParserSTEP.Encode(mDescription) + "',(") +
|
||||
string.Join(",", mRepresentations.ConvertAll(x => "#" + x.StepId)) + ")";
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Representations.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as Representation));
|
||||
}
|
||||
}
|
||||
|
@ -607,14 +607,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "." + mProfileType.ToString() + (string.IsNullOrEmpty(mProfileName) ? ".,$" : ".,'" + ParserIfc.Encode( mProfileName) + "'");
|
||||
return "." + mProfileType.ToString() + (string.IsNullOrEmpty(mProfileName) ? ".,$" : ".,'" + ParserSTEP.Encode( mProfileName) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcProfileTypeEnum>(s.Replace(".", ""), true, out mProfileType);
|
||||
ProfileName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
ProfileName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcProfileProperties
|
||||
|
@ -625,7 +625,7 @@ namespace GeometryGym.Ifc
|
|||
if (profileDefinition == null)
|
||||
return "";
|
||||
if(release < ReleaseVersion.IFC4)
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mName) ? "$,#" : "'" + ParserIfc.Encode(mName) + "',#") + profileDefinition.StepId;
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mName) ? "$,#" : "'" + ParserSTEP.Encode(mName) + "',#") + profileDefinition.StepId;
|
||||
|
||||
return base.BuildStringSTEP(release) + ",#" + profileDefinition.StepId;
|
||||
}
|
||||
|
@ -633,7 +633,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
base.parse(str, ref pos, release, len, dictionary);
|
||||
if(release < ReleaseVersion.IFC4)
|
||||
Name = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Name = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
ProfileDefinition = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcProfileDef;
|
||||
}
|
||||
}
|
||||
|
@ -643,14 +643,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty( mMapProjection) ? ",$," : ",'" + ParserIfc.Encode( mMapProjection) + "',") +
|
||||
(string.IsNullOrEmpty( mMapZone) ? "$," : "'" + ParserIfc.Encode(mMapZone) + "',") + (mMapUnit == null ? "$" : "#" + mMapUnit.StepId);
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mMapProjection) ? ",$," : ",'" + ParserSTEP.Encode(mMapProjection) + "',") +
|
||||
(string.IsNullOrEmpty(mMapZone) ? "$," : "'" + ParserSTEP.Encode(mMapZone) + "',") + (mMapUnit == null ? "$" : "#" + mMapUnit.StepId);
|
||||
}
|
||||
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);
|
||||
mMapProjection = ParserIfc.Decode( ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapZone = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapProjection = ParserSTEP.Decode( ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapZone = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mMapUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcNamedUnit;
|
||||
}
|
||||
}
|
||||
|
@ -672,20 +672,20 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserIfc.Encode(mIdentification) + "',." : ",.") +
|
||||
mPredefinedType.ToString() + (string.IsNullOrEmpty(mStatus) ? ".,$" : ".," + ParserIfc.Encode(mStatus) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongDescription) ? ",$" : ",'" + ParserIfc.Encode(mLongDescription) + "'")); }
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserSTEP.Encode(mIdentification) + "',." : ",.") +
|
||||
mPredefinedType.ToString() + (string.IsNullOrEmpty(mStatus) ? ".,$" : ".," + ParserSTEP.Encode(mStatus) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongDescription) ? ",$" : ",'" + ParserSTEP.Encode(mLongDescription) + "'")); }
|
||||
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 = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcProjectOrderTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
mStatus = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release != ReleaseVersion.IFC2x3)
|
||||
mLongDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcProjectOrderRecord
|
||||
|
@ -703,11 +703,11 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcProperty
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserIfc.Encode(mName) + (string.IsNullOrEmpty(mSpecification) ? "',$" : "','" + ParserIfc.Encode(mSpecification) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return "'" + ParserSTEP.Encode(mName) + (string.IsNullOrEmpty(mSpecification) ? "',$" : "','" + ParserSTEP.Encode(mSpecification) + "'"); }
|
||||
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));
|
||||
mSpecification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSpecification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPropertyBoundedValue
|
||||
|
@ -766,15 +766,15 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "#" + mRelatingConstraint.StepId + ",(" + String.Join(",", mRelatedProperties.Select(x=>"#" + x.StepId)) +
|
||||
(string.IsNullOrEmpty(mName) ? "),$," : "),'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserIfc.Encode( mDescription) + "'");
|
||||
(string.IsNullOrEmpty(mName) ? "),$," : "),'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode( mDescription) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
RelatingConstraint = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcConstraint;
|
||||
RelatedProperties.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcProperty));
|
||||
Name = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Description = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Name = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Description = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPropertyDependencyRelationship
|
||||
|
@ -782,14 +782,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mDependingProperty.StepId + ",#" + mDependantProperty.StepId +
|
||||
(string.IsNullOrEmpty(mExpression) ? ",$" : ",'" + ParserIfc.Encode(mExpression) + "'");
|
||||
(string.IsNullOrEmpty(mExpression) ? ",$" : ",'" + ParserSTEP.Encode(mExpression) + "'");
|
||||
}
|
||||
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);
|
||||
mDependingProperty = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcProperty;
|
||||
mDependantProperty = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcProperty;
|
||||
mExpression = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mExpression = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPropertyEnumeratedValue
|
||||
|
@ -811,12 +811,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + mName + "',(" + string.Join(",", mEnumerationValues.Select(x => x.ToString())) +
|
||||
return "'" + ParserSTEP.Encode(mName) + "',(" + string.Join(",", mEnumerationValues.Select(x => x.ToString())) +
|
||||
(mUnit == null ? "),$" : "),#" + mUnit.ToString());
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mName = ParserSTEP.StripString(str, ref pos, len);
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
mEnumerationValues.AddRange(ParserSTEP.SplitLineFields(s.Substring(1, s.Length - 2)).ConvertAll(x => ParserIfc.parseValue(x)));
|
||||
mUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
|
@ -853,13 +853,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mUsageName) ? ",$," : ",'" + ParserIfc.Encode(mUsageName) + "',") +
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mUsageName) ? ",$," : ",'" + ParserSTEP.Encode(mUsageName) + "',") +
|
||||
(mPropertyReference == null ? "$" : "#" + mPropertyReference.StepId);
|
||||
}
|
||||
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);
|
||||
mUsageName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUsageName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPropertyReference = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcObjectReferenceSelect;
|
||||
}
|
||||
}
|
||||
|
@ -885,7 +885,7 @@ namespace GeometryGym.Ifc
|
|||
if (release < ReleaseVersion.IFC4 || mHasPropertyTemplates.Count == 0)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (mTemplateType == IfcPropertySetTemplateTypeEnum.NOTDEFINED ? ",$," : ",." + mTemplateType + ".,") +
|
||||
(string.IsNullOrEmpty(mApplicableEntity) ? "$,(#" : "'" + ParserIfc.Encode(mApplicableEntity) + "',(#") + string.Join(",#", mHasPropertyTemplates.Values.Select(x => x.StepId)) + ")";
|
||||
(string.IsNullOrEmpty(mApplicableEntity) ? "$,(#" : "'" + ParserSTEP.Encode(mApplicableEntity) + "',(#") + string.Join(",#", mHasPropertyTemplates.Values.Select(x => x.StepId)) + ")";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -893,7 +893,7 @@ namespace GeometryGym.Ifc
|
|||
string field = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (field.StartsWith("."))
|
||||
Enum.TryParse<IfcPropertySetTemplateTypeEnum>(field.Replace(".", ""), true, out mTemplateType);
|
||||
mApplicableEntity = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mApplicableEntity = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
foreach (IfcPropertyTemplate property in ParserSTEP.StripListLink(str, ref pos, len).Select(x => dictionary[x] as IfcPropertyTemplate))
|
||||
AddPropertyTemplate(property);
|
||||
}
|
||||
|
@ -926,7 +926,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + (mDefiningValues.Count > 0 ? ",(" + string.Join(",", mDefiningValues.Select(x=>x.ToString())) + ")," : ",$,") +
|
||||
(mDefinedValues.Count > 0 ? "(" + string.Join(",", mDefinedValues.Select(x=>x.ToString())) + ")," : "$,") +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserIfc.Encode(mExpression) + "',") +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserSTEP.Encode(mExpression) + "',") +
|
||||
(mDefiningUnit == null ? "$" : "#" + mDefiningUnit.StepId) +
|
||||
(mDefinedUnit == null ? ",$,." : ",#,." + mDefinedUnit.StepId) + mCurveInterpolation.ToString() + ".";
|
||||
}
|
||||
|
@ -937,7 +937,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + (mDefiningValues.Count > 0 ? ",(" + string.Join(",", mDefiningValues.Select(x => x.ToString())) + ")," : ",$,") +
|
||||
(mDefinedValues.Count > 0 ? "(" + string.Join(",", mDefinedValues.Select(x => x.ToString())) + ")," : "$,") +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserIfc.Encode(mExpression) + "',") +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserSTEP.Encode(mExpression) + "',") +
|
||||
(mDefiningUnit == null ? "$" : "#" + mDefiningUnit.StepId) +
|
||||
(mDefinedUnit == null ? ",$,." : ",#,." + mDefinedUnit.StepId) + mCurveInterpolation.ToString() + ".";
|
||||
}
|
||||
|
@ -966,7 +966,7 @@ namespace GeometryGym.Ifc
|
|||
mDefinedValues.Add(v);
|
||||
}
|
||||
}
|
||||
mExpression = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mExpression = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDefiningUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
mDefinedUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
|
@ -1020,12 +1020,12 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcProxy
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",." + mProxyType.ToString() + ".," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserIfc.Encode(mTag) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + ",." + mProxyType.ToString() + ".," + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserSTEP.Encode(mTag) + "'"); }
|
||||
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<IfcObjectTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mProxyType);
|
||||
mTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcPump
|
||||
|
|
|
@ -34,7 +34,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(mAreaValue) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -49,7 +49,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityCount
|
||||
|
@ -58,7 +58,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + "," +
|
||||
(release < ReleaseVersion.IFC4X3 ? ParserSTEP.DoubleToString(CountValueDouble) : CountValue.ToString()) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty( mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'")); }
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty( mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'")); }
|
||||
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);
|
||||
|
@ -86,7 +86,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityLength
|
||||
|
@ -94,7 +94,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(Math.Max(0, mLengthValue)) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -109,7 +109,7 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
}
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityNumber
|
||||
|
@ -117,7 +117,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(mNumberValue) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -131,7 +131,7 @@ namespace GeometryGym.Ifc
|
|||
double.TryParse(s, System.Globalization.NumberStyles.Any, ParserSTEP.NumberFormat, out mNumberValue);
|
||||
}
|
||||
}
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityTime
|
||||
|
@ -139,14 +139,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString( mTimeValue) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
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);
|
||||
double.TryParse(ParserSTEP.StripField(str, ref pos, len), System.Globalization.NumberStyles.Any, ParserSTEP.NumberFormat, out mTimeValue);
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityVolume
|
||||
|
@ -154,7 +154,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(mVolumeValue) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -167,7 +167,7 @@ namespace GeometryGym.Ifc
|
|||
mVolumeValue = mv.Measure;
|
||||
}
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcQuantityWeight
|
||||
|
@ -175,7 +175,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + ParserSTEP.DoubleToString(mWeightValue) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserIfc.Encode(mFormula) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mFormula) ? ",$" : ",'" + ParserSTEP.Encode(mFormula) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -188,7 +188,7 @@ namespace GeometryGym.Ifc
|
|||
mWeightValue = mv.Measure;
|
||||
}
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mFormula = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFormula = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -311,16 +311,16 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (mDatabase.Release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return (string.IsNullOrEmpty(mTypeIdentifier) ? "$" : "'" + ParserIfc.Encode(mTypeIdentifier) + "'") +
|
||||
(string.IsNullOrEmpty(mAttributeIdentifier) ? ",$," : ",'" + ParserIfc.Encode(mAttributeIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mInstanceName) ? "$," : "'" + ParserIfc.Encode(mInstanceName) + "',") +
|
||||
return (string.IsNullOrEmpty(mTypeIdentifier) ? "$" : "'" + ParserSTEP.Encode(mTypeIdentifier) + "'") +
|
||||
(string.IsNullOrEmpty(mAttributeIdentifier) ? ",$," : ",'" + ParserSTEP.Encode(mAttributeIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mInstanceName) ? "$," : "'" + ParserSTEP.Encode(mInstanceName) + "',") +
|
||||
(mListPositions.Count == 0 ? "$," : "(" + string.Join(",", mListPositions) + "),") + (mInnerReference == null ? "$" : "#" + mInnerReference.StepId);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mTypeIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAttributeIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mInstanceName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTypeIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mAttributeIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mInstanceName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("("))
|
||||
mListPositions.AddRange(ParserSTEP.SplitLineFields(s.Substring(1, s.Length - 2)).ConvertAll(x => int.Parse(x)));
|
||||
|
@ -378,13 +378,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return ParserSTEP.DoubleToString(mTotalCrossSectionArea) + ",'" + mSteelGrade + "'," + (mBarSurface == IfcReinforcingBarSurfaceEnum.NOTDEFINED ? "$," : "." + mBarSurface.ToString() + ".,") +
|
||||
return ParserSTEP.DoubleToString(mTotalCrossSectionArea) + ",'" + ParserSTEP.Encode(mSteelGrade) + "'," + (mBarSurface == IfcReinforcingBarSurfaceEnum.NOTDEFINED ? "$," : "." + mBarSurface.ToString() + ".,") +
|
||||
ParserSTEP.DoubleOptionalToString(mEffectiveDepth) + "," + ParserSTEP.DoubleOptionalToString(mNominalBarDiameter) + "," + ParserSTEP.DoubleOptionalToString(mBarCount);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mTotalCrossSectionArea = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mSteelGrade = ParserSTEP.StripString(str, ref pos, len);
|
||||
mSteelGrade = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcReinforcingBarSurfaceEnum>(s.Replace(".", ""), true, out mBarSurface);
|
||||
|
@ -397,13 +397,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mDefinitionType) ? ",$,(" : ",'" + ParserIfc.Encode(mDefinitionType) + "',(")
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mDefinitionType) ? ",$,(" : ",'" + ParserSTEP.Encode(mDefinitionType) + "',(")
|
||||
+ string.Join(",", mReinforcementSectionDefinitions.Select(x=>"#" + x.StepId)) + ")";
|
||||
}
|
||||
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);
|
||||
mDefinitionType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDefinitionType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
ReinforcementSectionDefinitions.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcSectionReinforcementProperties));
|
||||
}
|
||||
}
|
||||
|
@ -437,7 +437,7 @@ namespace GeometryGym.Ifc
|
|||
return base.BuildStringSTEP(release) + ",." + mPredefinedType + ".," + ParserSTEP.DoubleOptionalToString(mNominalDiameter) + "," +
|
||||
ParserSTEP.DoubleOptionalToString(mCrossSectionArea) + "," + ParserSTEP.DoubleOptionalToString(mBarLength) +
|
||||
(mBarSurface == IfcReinforcingBarSurfaceEnum.NOTDEFINED ? ",$," : ",." + mBarSurface.ToString() + ".,") +
|
||||
(string.IsNullOrEmpty(mBendingShapeCode) ? "$," : "'" + ParserIfc.Encode(mBendingShapeCode) + "',") +
|
||||
(string.IsNullOrEmpty(mBendingShapeCode) ? "$," : "'" + ParserSTEP.Encode(mBendingShapeCode) + "',") +
|
||||
(mBendingParameters.Count == 0 ? "$" : "(" + string.Join(",", mBendingParameters) + ")");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
|
@ -448,17 +448,17 @@ namespace GeometryGym.Ifc
|
|||
mCrossSectionArea = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mBarLength = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
Enum.TryParse<IfcReinforcingBarSurfaceEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mBarSurface);
|
||||
mBendingShapeCode = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mBendingShapeCode = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mBendingParameters.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x=>ParserIfc.parseValue(x) as IfcBendingParameterSelect));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcReinforcingElement
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mSteelGrade) ? ",$" : ",'" + ParserIfc.Encode(mSteelGrade) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mSteelGrade) ? ",$" : ",'" + ParserSTEP.Encode(mSteelGrade) + "'"); }
|
||||
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);
|
||||
mSteelGrade = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSteelGrade = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcReinforcingMesh
|
||||
|
@ -498,7 +498,7 @@ namespace GeometryGym.Ifc
|
|||
ParserSTEP.DoubleOptionalToString(mMeshWidth) + "," + ParserSTEP.DoubleToString(mLongitudinalBarNominalDiameter) + "," +
|
||||
ParserSTEP.DoubleToString(mTransverseBarNominalDiameter) + "," + ParserSTEP.DoubleToString(mLongitudinalBarCrossSectionArea) + "," +
|
||||
ParserSTEP.DoubleToString(mTransverseBarCrossSectionArea) + "," + ParserSTEP.DoubleToString(mLongitudinalBarSpacing) + "," +
|
||||
ParserSTEP.DoubleToString(mTransverseBarSpacing) + (string.IsNullOrEmpty(mBendingShapeCode) ? ",$," : ",'" + ParserIfc.Encode(mBendingShapeCode) + "',") +
|
||||
ParserSTEP.DoubleToString(mTransverseBarSpacing) + (string.IsNullOrEmpty(mBendingShapeCode) ? ",$," : ",'" + ParserSTEP.Encode(mBendingShapeCode) + "',") +
|
||||
(mBendingParameters.Count == 0 ? "$" : "(" + string.Join(",", mBendingParameters) + ")");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
|
@ -514,7 +514,7 @@ namespace GeometryGym.Ifc
|
|||
mTransverseBarCrossSectionArea = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mLongitudinalBarSpacing = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mTransverseBarSpacing = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mBendingShapeCode = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mBendingShapeCode = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mBendingParameters.AddRange(ParserSTEP.SplitListStrings(ParserSTEP.StripField(str, ref pos, len)).Select(x => ParserIfc.parseValue(x) as IfcBendingParameterSelect));
|
||||
}
|
||||
}
|
||||
|
@ -703,12 +703,12 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (RelatingConstraint == null ? "" : base.BuildStringSTEP(release) +
|
||||
(string.IsNullOrEmpty(mIntent) ? ",$," : ",'" + ParserIfc.Encode(mIntent) + "',") + "#" + mRelatingConstraint.StepId);
|
||||
(string.IsNullOrEmpty(mIntent) ? ",$," : ",'" + ParserSTEP.Encode(mIntent) + "',") + "#" + mRelatingConstraint.StepId);
|
||||
}
|
||||
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);
|
||||
mIntent = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIntent = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
RelatingConstraint = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcConstraint;
|
||||
}
|
||||
}
|
||||
|
@ -900,13 +900,13 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
if (mRealizingElements.Count == 0)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + ",(" + string.Join(",", mRealizingElements.Select(x => "#" + x.StepId)) + (string.IsNullOrEmpty(mConnectionType) ? "),$" : "),'" + ParserIfc.Encode(mConnectionType) + "'");
|
||||
return base.BuildStringSTEP(release) + ",(" + string.Join(",", mRealizingElements.Select(x => "#" + x.StepId)) + (string.IsNullOrEmpty(mConnectionType) ? "),$" : "),'" + ParserSTEP.Encode(mConnectionType) + "'");
|
||||
}
|
||||
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);
|
||||
RealizingElements.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcElement));
|
||||
mConnectionType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mConnectionType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcRelContainedInSpatialStructure
|
||||
|
@ -1079,7 +1079,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatingElement.StepId + ",#" + mRelatedElement.StepId +
|
||||
(mInterferenceGeometry == null ? ",$" : ",#" + mInterferenceGeometry.StepId) +
|
||||
(string.IsNullOrEmpty( mInterferenceType) ? ",$," : ",'" + ParserIfc.Encode(mInterferenceType) + "',") +
|
||||
(string.IsNullOrEmpty( mInterferenceType) ? ",$," : ",'" + ParserSTEP.Encode(mInterferenceType) + "',") +
|
||||
ParserIfc.LogicalToString(mImpliedOrder) +
|
||||
(release > ReleaseVersion.IFC4X3_RC3 ? "," + ParserSTEP.ObjToLinkString(mInterferenceSpace) : "");
|
||||
}
|
||||
|
@ -1089,7 +1089,7 @@ namespace GeometryGym.Ifc
|
|||
RelatingElement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcInterferenceSelect;
|
||||
RelatedElement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcInterferenceSelect;
|
||||
InterferenceGeometry =dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcConnectionGeometry;
|
||||
mInterferenceType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mInterferenceType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mImpliedOrder = ParserIfc.StripLogical(str, ref pos, len);
|
||||
if (release > ReleaseVersion.IFC4X3_RC3)
|
||||
mInterferenceSpace = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcSpatialZone;
|
||||
|
@ -1171,7 +1171,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + ",#" + mRelatingProcess.StepId + ",#" + mRelatedProcess.StepId + "," +
|
||||
(release < ReleaseVersion.IFC4 ? ParserSTEP.DoubleToString(mTimeLagSS) : ParserSTEP.ObjToLinkString(mTimeLag)) + ",." +
|
||||
mSequenceType + (release < ReleaseVersion.IFC4 ? "." : (string.IsNullOrEmpty(mUserDefinedSequenceType) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedSequenceType) + "'"));
|
||||
mSequenceType + (release < ReleaseVersion.IFC4 ? "." : (string.IsNullOrEmpty(mUserDefinedSequenceType) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedSequenceType) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -1186,7 +1186,7 @@ namespace GeometryGym.Ifc
|
|||
if (s != "$")
|
||||
Enum.TryParse<IfcSequenceEnum>(s.Replace(".", ""), true, out mSequenceType);
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
mUserDefinedSequenceType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedSequenceType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcRelServicesBuildings
|
||||
|
@ -1271,25 +1271,25 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (mContextOfItems == null ? "$" : "#" + mContextOfItems.StepId) +
|
||||
(string.IsNullOrEmpty(mRepresentationIdentifier) ? ",$," : ",'" + ParserIfc.Encode(mRepresentationIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mRepresentationType) ? "$,(" : "'" + ParserIfc.Encode(mRepresentationType) + "',(") +
|
||||
(string.IsNullOrEmpty(mRepresentationIdentifier) ? ",$," : ",'" + ParserSTEP.Encode(mRepresentationIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mRepresentationType) ? "$,(" : "'" + ParserSTEP.Encode(mRepresentationType) + "',(") +
|
||||
string.Join(",", mItems.ConvertAll(x => "#" + x.StepId)) + ")";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
ContextOfItems = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcRepresentationContext;
|
||||
mRepresentationIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRepresentationType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRepresentationIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRepresentationType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Items.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as RepresentationItem));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcRepresentationContext
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mContextIdentifier) ? "$," : "'" + ParserIfc.Encode(mContextIdentifier) + "',") + (string.IsNullOrEmpty(mContextType) ? "$" : "'" + ParserIfc.Encode(mContextType) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mContextIdentifier) ? "$," : "'" + ParserSTEP.Encode(mContextIdentifier) + "',") + (string.IsNullOrEmpty(mContextType) ? "$" : "'" + ParserSTEP.Encode(mContextType) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mContextIdentifier = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mContextType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mContextIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mContextType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcRepresentationMap
|
||||
|
@ -1333,14 +1333,14 @@ namespace GeometryGym.Ifc
|
|||
|
||||
public abstract partial class IfcResource
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) + "',") + (string.IsNullOrEmpty(mLongDescription) ? "$" : "'" + ParserIfc.Encode(mLongDescription) + "'") : ""); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release > ReleaseVersion.IFC2x3 ? (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) + "',") + (string.IsNullOrEmpty(mLongDescription) ? "$" : "'" + ParserSTEP.Encode(mLongDescription) + "'") : ""); }
|
||||
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.IFC2x3)
|
||||
{
|
||||
mIdentification = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1349,14 +1349,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (mDatabase.Release < ReleaseVersion.IFC4 ? "" :
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserIfc.Encode(mDescription) + "'")); }
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode(mDescription) + "'")); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1373,7 +1373,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
base.parse(str, ref pos, release, len, dictionary);
|
||||
|
||||
mScheduleWork = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mScheduleWork = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mScheduleUsage = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mScheduleStart = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
|
||||
mScheduleFinish = IfcDateTime.ParseSTEP(ParserSTEP.StripField(str, ref pos, len));
|
||||
|
@ -1494,7 +1494,12 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcRoof
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (mPredefinedType == IfcRoofTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + "."); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) +
|
||||
(release > ReleaseVersion.IFC2x3 && mPredefinedType == IfcRoofTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + ".");
|
||||
}
|
||||
|
||||
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);
|
||||
|
@ -1522,14 +1527,14 @@ namespace GeometryGym.Ifc
|
|||
if (string.Compare(GlobalId, globalId, true) != 0)
|
||||
GlobalId = globalId;
|
||||
mOwnerHistory = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcOwnerHistory;
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + mGlobalId + (mOwnerHistory == null ? "',$" : "',#" + mOwnerHistory.StepId) +
|
||||
(string.IsNullOrEmpty(mName) ? ",$," : ",'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserIfc.Encode(mDescription) + "'");
|
||||
(string.IsNullOrEmpty(mName) ? ",$," : ",'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$" : "'" + ParserSTEP.Encode(mDescription) + "'");
|
||||
}
|
||||
}
|
||||
public partial class IfcRotationalStiffnessSelect
|
||||
|
|
|
@ -96,17 +96,17 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
return (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(mDataOrigin == IfcDataOriginEnum.NOTDEFINED ? "$" : "." + mDataOrigin.ToString() + ".") +
|
||||
(string.IsNullOrEmpty(mUserDefinedDataOrigin) ? ",$" : ",'" + ParserIfc.Encode(mUserDefinedDataOrigin) + "'");
|
||||
(string.IsNullOrEmpty(mUserDefinedDataOrigin) ? ",$" : ",'" + ParserSTEP.Encode(mUserDefinedDataOrigin) + "'");
|
||||
}
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcDataOriginEnum>(s.Replace(".", ""), true, out mDataOrigin);
|
||||
mUserDefinedDataOrigin = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedDataOrigin = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcSecondOrderPolynomialSpiral
|
||||
|
@ -346,7 +346,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "(#" + string.Join(",#", ShapeRepresentations.Select(x=>x.StepId)) +
|
||||
(string.IsNullOrEmpty(mName) ? "),$," : "),'" + ParserIfc.Encode( mName) + "',") + (mDescription == "$" ? "$," : "'" + mDescription + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "),$," : "),'" + ParserSTEP.Encode( mName) + "',") + (mDescription == "$" ? "$," : "'" + mDescription + "',") +
|
||||
ParserIfc.LogicalToString(mProductDefinitional) + "," + ParserSTEP.ObjToLinkString(mPartOfProductDefinitionShape);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -437,11 +437,11 @@ namespace GeometryGym.Ifc
|
|||
if (mDatabase.Release < ReleaseVersion.IFC4)
|
||||
return "";
|
||||
return base.BuildStringSTEP(release) + (mTemplateType == IfcSimplePropertyTemplateTypeEnum.NOTDEFINED ? ",$," : ",." + mTemplateType.ToString() + ".,") +
|
||||
(string.IsNullOrEmpty(mPrimaryMeasureType) ? "$," : "'" + ParserIfc.Encode(mPrimaryMeasureType) + "',") +
|
||||
(string.IsNullOrEmpty(mSecondaryMeasureType) ? "$," : "'" + ParserIfc.Encode(mSecondaryMeasureType) + "',") +
|
||||
(string.IsNullOrEmpty(mPrimaryMeasureType) ? "$," : "'" + ParserSTEP.Encode(mPrimaryMeasureType) + "',") +
|
||||
(string.IsNullOrEmpty(mSecondaryMeasureType) ? "$," : "'" + ParserSTEP.Encode(mSecondaryMeasureType) + "',") +
|
||||
(mEnumerators == null ? "$" : "#" + mEnumerators.StepId) + (mPrimaryUnit == null ? ",$" : ",#" + mPrimaryUnit.StepId) +
|
||||
(mSecondaryUnit == null ? ",$" : ",#" + mSecondaryUnit.StepId) + "," +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserIfc.Encode(mExpression) + "',") +
|
||||
(string.IsNullOrEmpty(mExpression) ? "$," : "'" + ParserSTEP.Encode(mExpression) + "',") +
|
||||
(mAccessState == IfcStateEnum.NOTDEFINED ? "$" : "." + mAccessState.ToString() + ".");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -450,12 +450,12 @@ namespace GeometryGym.Ifc
|
|||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcSimplePropertyTemplateTypeEnum>(s.Replace(".", ""), true, out mTemplateType);
|
||||
mPrimaryMeasureType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSecondaryMeasureType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPrimaryMeasureType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSecondaryMeasureType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mEnumerators = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcPropertyEnumeration;
|
||||
mPrimaryUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
mSecondaryUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
mExpression = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mExpression = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcStateEnum>(s.Replace(".", ""), true, out mAccessState);
|
||||
|
@ -480,7 +480,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + (mRefLatitude != null ? "," + mRefLatitude.ToSTEP() + "," : ",$,") +
|
||||
(mRefLongitude != null ? mRefLongitude.ToSTEP() + "," : "$,") + ParserSTEP.DoubleOptionalToString(mRefElevation) +
|
||||
(string.IsNullOrEmpty(mLandTitleNumber) ? ",$," : ",'" + ParserIfc.Encode(mLandTitleNumber) + "',") +
|
||||
(string.IsNullOrEmpty(mLandTitleNumber) ? ",$," : ",'" + ParserSTEP.Encode(mLandTitleNumber) + "',") +
|
||||
(mSiteAddress == null ? "$" : "#" + mSiteAddress.StepId);
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
|
@ -489,7 +489,7 @@ namespace GeometryGym.Ifc
|
|||
mRefLatitude = IfcCompoundPlaneAngleMeasure.Parse(ParserSTEP.StripField(str, ref pos, len));
|
||||
mRefLongitude = IfcCompoundPlaneAngleMeasure.Parse(ParserSTEP.StripField(str, ref pos, len));
|
||||
mRefElevation = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mLandTitleNumber = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLandTitleNumber = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSiteAddress = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcPostalAddress;
|
||||
}
|
||||
}
|
||||
|
@ -665,7 +665,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() +
|
||||
(release < ReleaseVersion.IFC4 ? "." : (string.IsNullOrEmpty(LongName) ? ".,$" : ".,'" + ParserIfc.Encode(LongName) + "'"));
|
||||
(release < ReleaseVersion.IFC4 ? "." : (string.IsNullOrEmpty(LongName) ? ".,$" : ".,'" + ParserSTEP.Encode(LongName) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -674,25 +674,25 @@ namespace GeometryGym.Ifc
|
|||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcSpaceTypeEnum>(s.Replace(".", ""), true, out mPredefinedType);
|
||||
if(release > ReleaseVersion.IFC2x3)
|
||||
LongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
LongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialElement
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserIfc.Encode(mLongName) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserSTEP.Encode(mLongName) + "'"); }
|
||||
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);
|
||||
LongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
LongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialElementType
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mElementType) ? ",$" : ",'" + ParserIfc.Encode(mElementType) + "'"); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mElementType) ? ",$" : ",'" + ParserSTEP.Encode(mElementType) + "'"); }
|
||||
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);
|
||||
mElementType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mElementType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSpatialStructureElement
|
||||
|
@ -898,8 +898,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcStructuralConnectionCondition
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserIfc.Encode(mName) + "'"); }
|
||||
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)); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserSTEP.Encode(mName) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary) { mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len)); }
|
||||
}
|
||||
public partial class IfcStructuralCurveAction : IfcStructuralAction // IFC4 SUPERTYPE OF(IfcStructuralLinearAction)
|
||||
{
|
||||
|
@ -954,8 +954,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public abstract partial class IfcStructuralLoad
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserIfc.Encode(mName) + "'"); }
|
||||
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)); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (string.IsNullOrEmpty(mName) ? "$" : "'" + ParserSTEP.Encode(mName) + "'"); }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary) { mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len)); }
|
||||
}
|
||||
public partial class IfcStructuralLoadConfiguration : IfcStructuralLoad //IFC4
|
||||
{
|
||||
|
@ -992,7 +992,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + ".,." + mActionType.ToString() + ".,." +
|
||||
mActionSource.ToString() + ".," + ParserSTEP.DoubleOptionalToString(mCoefficient) +
|
||||
(string.IsNullOrEmpty(mPurpose) ? ",$" : ",'" + ParserIfc.Encode(mPurpose) + "'");
|
||||
(string.IsNullOrEmpty(mPurpose) ? ",$" : ",'" + ParserSTEP.Encode(mPurpose) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -1001,7 +1001,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcActionTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mActionType);
|
||||
Enum.TryParse<IfcActionSourceTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mActionSource);
|
||||
mCoefficient = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mPurpose = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPurpose = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcStructuralLoadLinearForce
|
||||
|
@ -1210,14 +1210,14 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return ParserSTEP.ObjToLinkString(mItem) + ",(" +
|
||||
string.Join(",", mStyles.Select(x => "#" + x.StepId)) + (string.IsNullOrEmpty(mName) ? "),$" : "),'" + ParserIfc.Encode(mName) + "'");
|
||||
string.Join(",", mStyles.Select(x => "#" + x.StepId)) + (string.IsNullOrEmpty(mName) ? "),$" : "),'" + ParserSTEP.Encode(mName) + "'");
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
Item = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcRepresentationItem;
|
||||
foreach (IfcStyleAssignmentSelect style in ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x => dictionary[x] as IfcStyleAssignmentSelect))
|
||||
addStyle(style);
|
||||
mName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcSubContractResource
|
||||
|
@ -1436,8 +1436,8 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
else
|
||||
{
|
||||
result += (string.IsNullOrEmpty(mMode) ? ",$," : ",'" + ParserIfc.Encode(mMode) + "',") + (mTextureTransform == null ? "$" : "#" + mTextureTransform.StepId);
|
||||
result += (mParameter.Count == 0 ? ",$" : ",(" + string.Join(",", mParameter.Select(x => "'" + ParserIfc.Encode(x) + "'")) + ")");
|
||||
result += (string.IsNullOrEmpty(mMode) ? ",$," : ",'" + ParserSTEP.Encode(mMode) + "',") + (mTextureTransform == null ? "$" : "#" + mTextureTransform.StepId);
|
||||
result += (mParameter.Count == 0 ? ",$" : ",(" + string.Join(",", mParameter.Select(x => "'" + ParserSTEP.Encode(x) + "'")) + ")");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -1446,11 +1446,11 @@ namespace GeometryGym.Ifc
|
|||
mRepeatS = ParserSTEP.StripBool(str, ref pos, len);
|
||||
mRepeatT = ParserSTEP.StripBool(str, ref pos, len);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
mMode = (release < ReleaseVersion.IFC4 ? s.Replace(".", "") : ParserIfc.Decode(s.Replace("'", "")));
|
||||
mMode = (release < ReleaseVersion.IFC4 ? s.Replace(".", "") : ParserSTEP.Decode(s.Replace("'", "")));
|
||||
TextureTransform = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcCartesianTransformationOperator2D;
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s != "$")
|
||||
mParameter.AddRange(ParserSTEP.SplitListStrings(s.Substring(1, s.Length - 2)).Select(x=>ParserIfc.Decode(x)));
|
||||
mParameter.AddRange(ParserSTEP.SplitListStrings(s.Substring(1, s.Length - 2)).Select(x=>ParserSTEP.Decode(x)));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcSweptAreaSolid
|
||||
|
|
|
@ -33,14 +33,14 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
string s = (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") + (mRows.Count == 0 ? "$" : "(" + string.Join(",", mRows.Select(x => "#" + x.StepId)) + ")");
|
||||
string s = (string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") + (mRows.Count == 0 ? "$" : "(" + string.Join(",", mRows.Select(x => "#" + x.StepId)) + ")");
|
||||
if (release != ReleaseVersion.IFC2x3)
|
||||
s += (mColumns.Count == 0 ? ",$" : "(" + string.Join(",", mColumns.Select(x=>"#" + x.StepId)) + ")");
|
||||
s += (mColumns.Count == 0 ? ",$" : ",(" + string.Join(",", mColumns.Select(x=>"#" + x.StepId)) + ")");
|
||||
return s;
|
||||
}
|
||||
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));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mRows.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcTableRow));
|
||||
mColumns.AddRange(ParserSTEP.StripListLink(str, ref pos, len).Select(x=>dictionary[x] as IfcTableColumn));
|
||||
}
|
||||
|
@ -49,16 +49,16 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mIdentifier) ? "$," : "'" + ParserIfc.Encode(mIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserIfc.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mIdentifier) ? "$," : "'" + ParserSTEP.Encode(mIdentifier) + "',") +
|
||||
(string.IsNullOrEmpty(mName) ? "$," : "'" + ParserSTEP.Encode(mName) + "',") +
|
||||
(string.IsNullOrEmpty(mDescription) ? "$," : "'" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(mUnit == null ? "$" : "#" + mUnit.StepId) + (mReferencePath == null ? ",$" : ",#" + mReferencePath.StepId));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mIdentifier = 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));
|
||||
mIdentifier = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
mReferencePath = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcReference;
|
||||
}
|
||||
|
@ -121,17 +121,17 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserIfc.Encode(mIdentification) + "'" : "") +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserIfc.Encode(mStatus) + "',") + (string.IsNullOrEmpty(mWorkMethod) ? "$," : ",'" +
|
||||
ParserIfc.Encode(mWorkMethod) + "',") + ParserSTEP.BoolToString(mIsMilestone) + (mPriority == int.MinValue ? ",$" : "," + mPriority) +
|
||||
return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? ",'" + ParserSTEP.Encode(mIdentification) + "'" : "") +
|
||||
(string.IsNullOrEmpty(mStatus) ? ",$," : ",'" + ParserSTEP.Encode(mStatus) + "',") + (string.IsNullOrEmpty(mWorkMethod) ? "$," : ",'" +
|
||||
ParserSTEP.Encode(mWorkMethod) + "',") + ParserSTEP.BoolToString(mIsMilestone) + (mPriority == int.MinValue ? ",$" : "," + mPriority) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : "," + ParserSTEP.ObjToLinkString(mTaskTime) + (mPredefinedType == IfcTaskTypeEnum.NOTDEFINED ? ",$" : ",." + mPredefinedType.ToString() + ".")); }
|
||||
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 = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWorkMethod = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStatus = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWorkMethod = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIsMilestone = ParserSTEP.StripBool(str, ref pos, len);
|
||||
mPriority = ParserSTEP.StripInt(str, ref pos, len);
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
|
@ -204,24 +204,24 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
public partial class IfcTaskType
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4 ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + (string.IsNullOrEmpty(mWorkMethod) ? ".,$" : (".,'" + ParserIfc.Encode(mWorkMethod) + "'"))); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return (release < ReleaseVersion.IFC4 ? "" : base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + (string.IsNullOrEmpty(mWorkMethod) ? ".,$" : (".,'" + ParserSTEP.Encode(mWorkMethod) + "'"))); }
|
||||
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<IfcTaskTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
mWorkMethod = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWorkMethod = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcTelecomAddress
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mTelephoneNumbers.Count == 0 ? ",$" : ",('" + string.Join("','", mTelephoneNumbers.Select(x => ParserIfc.Encode(x))) + "')") +
|
||||
(mFacsimileNumbers.Count == 0 ? ",$" : ",('" + string.Join("','", mFacsimileNumbers.Select(x => ParserIfc.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mPagerNumber) ? ",$" : ",'" + ParserIfc.Encode(mPagerNumber) + "'") +
|
||||
(mElectronicMailAddresses.Count == 0 ? ",$" : ",('" + string.Join("','", mElectronicMailAddresses.Select(x => ParserIfc.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mWWWHomePageURL) ? ",$" : ",'" + ParserIfc.Encode(mWWWHomePageURL) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (mMessagingIDs.Count == 0 ? ",$" : ",('" + string.Join("','", mMessagingIDs.Select(x => ParserIfc.Encode(x))) + "')"));
|
||||
return base.BuildStringSTEP(release) + (mTelephoneNumbers.Count == 0 ? ",$" : ",('" + string.Join("','", mTelephoneNumbers.Select(x => ParserSTEP.Encode(x))) + "')") +
|
||||
(mFacsimileNumbers.Count == 0 ? ",$" : ",('" + string.Join("','", mFacsimileNumbers.Select(x => ParserSTEP.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mPagerNumber) ? ",$" : ",'" + ParserSTEP.Encode(mPagerNumber) + "'") +
|
||||
(mElectronicMailAddresses.Count == 0 ? ",$" : ",('" + string.Join("','", mElectronicMailAddresses.Select(x => ParserSTEP.Encode(x))) + "')") +
|
||||
(string.IsNullOrEmpty(mWWWHomePageURL) ? ",$" : ",'" + ParserSTEP.Encode(mWWWHomePageURL) + "'") +
|
||||
(release < ReleaseVersion.IFC4 ? "" : (mMessagingIDs.Count == 0 ? ",$" : ",('" + string.Join("','", mMessagingIDs.Select(x => ParserSTEP.Encode(x))) + "')"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -234,7 +234,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mTelephoneNumbers.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mTelephoneNumbers.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
}
|
||||
}
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
|
@ -245,10 +245,10 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mFacsimileNumbers.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mFacsimileNumbers.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
}
|
||||
}
|
||||
mPagerNumber = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mPagerNumber = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s != "$")
|
||||
{
|
||||
|
@ -257,10 +257,10 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mElectronicMailAddresses.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mElectronicMailAddresses.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
}
|
||||
}
|
||||
mWWWHomePageURL = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mWWWHomePageURL = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
if (release > ReleaseVersion.IFC2x3)
|
||||
{
|
||||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
|
@ -271,7 +271,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
string field = lst[icounter];
|
||||
if (field.Length > 2)
|
||||
mMessagingIDs.Add(ParserIfc.Decode(field.Substring(1, field.Length - 2)));
|
||||
mMessagingIDs.Add(ParserSTEP.Decode(field.Substring(1, field.Length - 2)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -400,11 +400,11 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + ParserIfc.Encode(mLiteral) + "',#" + mPlacement.StepId + ",." + mPath.ToString() + ".";
|
||||
return "'" + ParserSTEP.Encode(mLiteral) + "',#" + mPlacement.StepId + ",." + mPath.ToString() + ".";
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
mLiteral = ParserIfc.Decode(ParserSTEP.StripField(str, ref pos, len));
|
||||
mLiteral = ParserSTEP.Decode(ParserSTEP.StripField(str, ref pos, len));
|
||||
mPlacement = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcAxis2Placement;
|
||||
Enum.TryParse<IfcTextPath>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPath);
|
||||
}
|
||||
|
@ -445,10 +445,10 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mFontFamily.Count == 0 ? ",$," : ",(" + string.Join(",", mFontFamily.Select(x=>ParserIfc.Encode(x)) + "),")) +
|
||||
(string.IsNullOrEmpty(mFontStyle) ? "$," : "'" + ParserIfc.Encode(mFontStyle) + "',") +
|
||||
(string.IsNullOrEmpty(mFontVariant) ? "$," : "'" + ParserIfc.Encode(mFontVariant) + "',") +
|
||||
(string.IsNullOrEmpty(mFontWeight) ? "$," : "'" + ParserIfc.Encode(mFontWeight) + "',") + mFontSize;
|
||||
return base.BuildStringSTEP(release) + (mFontFamily.Count == 0 ? ",$," : ",(" + string.Join(",", mFontFamily.Select(x=>ParserSTEP.Encode(x)) + "),")) +
|
||||
(string.IsNullOrEmpty(mFontStyle) ? "$," : "'" + ParserSTEP.Encode(mFontStyle) + "',") +
|
||||
(string.IsNullOrEmpty(mFontVariant) ? "$," : "'" + ParserSTEP.Encode(mFontVariant) + "',") +
|
||||
(string.IsNullOrEmpty(mFontWeight) ? "$," : "'" + ParserSTEP.Encode(mFontWeight) + "',") + mFontSize;
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -460,9 +460,9 @@ namespace GeometryGym.Ifc
|
|||
for (int icounter = 0; icounter < lst.Count; icounter++)
|
||||
mFontFamily.Add(lst[icounter]);
|
||||
}
|
||||
mFontStyle = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontVariant = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontWeight = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontStyle = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontVariant = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontWeight = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mFontSize = ParserSTEP.StripField(str, ref pos, len);
|
||||
}
|
||||
}
|
||||
|
@ -483,21 +483,21 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return (mTextIndent == null ? ",$" : "," + mTextIndent.ToString()) +
|
||||
(string.IsNullOrEmpty(mTextAlign) ? ",$" : ",'" + ParserIfc.Encode(mTextAlign) + "'") +
|
||||
(string.IsNullOrEmpty(mTextDecoration) ? ",$" : ",'" + ParserIfc.Encode(mTextDecoration) + "'") +
|
||||
(string.IsNullOrEmpty(mTextAlign) ? ",$" : ",'" + ParserSTEP.Encode(mTextAlign) + "'") +
|
||||
(string.IsNullOrEmpty(mTextDecoration) ? ",$" : ",'" + ParserSTEP.Encode(mTextDecoration) + "'") +
|
||||
(mLetterSpacing == null ? ",$" : "," + mLetterSpacing.ToString()) +
|
||||
(mWordSpacing == null ? ",$" : ",#" + mWordSpacing.ToString()) +
|
||||
(string.IsNullOrEmpty(mTextTransform) ? ",$" : ",'" + ParserIfc.Encode(mTextTransform) + "'") +
|
||||
(string.IsNullOrEmpty(mTextTransform) ? ",$" : ",'" + ParserSTEP.Encode(mTextTransform) + "'") +
|
||||
(mLineHeight == null ? ",$" : ",#" + mLineHeight.ToString());
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int, BaseClassIfc> dictionary)
|
||||
{
|
||||
TextIndent = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcSizeSelect;
|
||||
TextAlign = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
TextDecoration = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
TextAlign = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
TextDecoration = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
LetterSpacing = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcSizeSelect;
|
||||
WordSpacing = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcSizeSelect;
|
||||
TextTransform = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
TextTransform = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
LineHeight = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcSizeSelect;
|
||||
}
|
||||
}
|
||||
|
@ -558,12 +558,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserIfc.Encode(mMode) + "'" + ",(" + string.Join(",", mParameter.ConvertAll(x => formatLength(x))) + ")";
|
||||
return base.BuildStringSTEP(release) + ",'" + ParserSTEP.Encode(mMode) + "'" + ",(" + string.Join(",", mParameter.ConvertAll(x => formatLength(x))) + ")";
|
||||
}
|
||||
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);
|
||||
Mode = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Mode = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
Parameter.AddRange(ParserSTEP.StripListDouble(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
|
@ -644,22 +644,22 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return "'" + ParserIfc.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserIfc.Encode(mDescription) + "',") +
|
||||
return "'" + ParserSTEP.Encode(mName) + (string.IsNullOrEmpty(mDescription) ? "',$," : "','" + ParserSTEP.Encode(mDescription) + "',") +
|
||||
(mStartTime == null ? "$" : "#" + mStartTime.StepId) + (mEndTime == null ? ",$" : ",#" + mEndTime.StepId) + ",." +
|
||||
mTimeSeriesDataType.ToString() + ".,." + mDataOrigin.ToString() + (string.IsNullOrEmpty(mUserDefinedDataOrigin) ? ".,$," : ".,'" + ParserIfc.Encode(mUserDefinedDataOrigin) + "',") +
|
||||
mTimeSeriesDataType.ToString() + ".,." + mDataOrigin.ToString() + (string.IsNullOrEmpty(mUserDefinedDataOrigin) ? ".,$," : ".,'" + ParserSTEP.Encode(mUserDefinedDataOrigin) + "',") +
|
||||
(mUnit == null ? "$" : "#" + mUnit.StepId);
|
||||
}
|
||||
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));
|
||||
mDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mStartTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
mEndTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
Enum.TryParse<IfcTimeSeriesDataTypeEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mTimeSeriesDataType);
|
||||
string s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcDataOriginEnum>(s.Replace(".", ""), true, out mDataOrigin);
|
||||
mUserDefinedDataOrigin = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedDataOrigin = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUnit = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcUnit;
|
||||
}
|
||||
}
|
||||
|
@ -1134,15 +1134,15 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$," : "'" + ParserIfc.Encode(mLongDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mProcessType) ? "$" : "'" + ParserIfc.Encode(mProcessType) + "'"); }
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$," : "'" + ParserSTEP.Encode(mLongDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mProcessType) ? "$" : "'" + ParserSTEP.Encode(mProcessType) + "'"); }
|
||||
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));
|
||||
mLongDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mProcessType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mProcessType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcTypeProduct
|
||||
|
@ -1150,28 +1150,28 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (mRepresentationMaps.Count == 0 ? ",$," : ",(" +
|
||||
string.Join(",", mRepresentationMaps.ConvertAll(x=> "#" + x.StepId)) + "),") + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserIfc.Encode(mTag) + "'");
|
||||
string.Join(",", mRepresentationMaps.ConvertAll(x=> "#" + x.StepId)) + "),") + (string.IsNullOrEmpty(mTag) ? "$" : "'" + ParserSTEP.Encode(mTag) + "'");
|
||||
}
|
||||
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);
|
||||
RepresentationMaps.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as IfcRepresentationMap));
|
||||
mTag = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mTag = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public abstract partial class IfcTypeResource
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserIfc.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$," : "'" + ParserIfc.Encode(mLongDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mResourceType) ? "$" : "'" + ParserIfc.Encode(mResourceType) + "'"); }
|
||||
return base.BuildStringSTEP(release) + (string.IsNullOrEmpty(mIdentification) ? ",$," : ",'" + ParserSTEP.Encode(mIdentification) + "',") +
|
||||
(string.IsNullOrEmpty(mLongDescription) ? "$," : "'" + ParserSTEP.Encode(mLongDescription) + "',") +
|
||||
(string.IsNullOrEmpty(mResourceType) ? "$" : "'" + ParserSTEP.Encode(mResourceType) + "'"); }
|
||||
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));
|
||||
mLongDescription = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mResourceType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongDescription = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mResourceType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -120,7 +120,7 @@ namespace GeometryGym.Ifc
|
|||
protected override string BuildStringSTEP(ReleaseVersion release) { return "#" + mVertexGeometry.StepId; }
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
mVertexGeometry = dictionary[ParserSTEP.StripLink(str, ref pos, str.Length)] as IfcPoint;
|
||||
VertexGeometry = dictionary[ParserSTEP.StripLink(str, ref pos, str.Length)] as IfcPoint;
|
||||
}
|
||||
}
|
||||
public partial class IfcVibrationDamper
|
||||
|
|
|
@ -102,7 +102,7 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
return base.BuildStringSTEP(release) + "," + formatLength(mOverallHeight) + "," + formatLength(mOverallWidth) +
|
||||
(release < ReleaseVersion.IFC4 ? "" : ",." + mPredefinedType + ".,." + mPartitioningType +
|
||||
(string.IsNullOrEmpty(mUserDefinedPartitioningType) ? ".,$" : ".,'" + ParserIfc.Encode(mUserDefinedPartitioningType) + "'"));
|
||||
(string.IsNullOrEmpty(mUserDefinedPartitioningType) ? ".,$" : ".,'" + ParserSTEP.Encode(mUserDefinedPartitioningType) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -117,7 +117,7 @@ namespace GeometryGym.Ifc
|
|||
s = ParserSTEP.StripField(str, ref pos, len);
|
||||
if (s.StartsWith("."))
|
||||
Enum.TryParse<IfcWindowTypePartitioningEnum>(s.Replace(".", ""), true, out mPartitioningType);
|
||||
mUserDefinedPartitioningType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedPartitioningType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -195,7 +195,7 @@ namespace GeometryGym.Ifc
|
|||
ParserSTEP.BoolToString(mParameterTakesPrecedence) + "," + ParserSTEP.BoolToString(false) :
|
||||
base.BuildStringSTEP(release) + ",." + mPredefinedType.ToString() + ".,." + mPartitioningType.ToString() + ".," +
|
||||
ParserSTEP.BoolToString(mParameterTakesPrecedence) +
|
||||
(string.IsNullOrEmpty(mUserDefinedPartitioningType) ? ",$" : ",'" + ParserIfc.Encode(mUserDefinedPartitioningType) + "'"));
|
||||
(string.IsNullOrEmpty(mUserDefinedPartitioningType) ? ",$" : ",'" + ParserSTEP.Encode(mUserDefinedPartitioningType) + "'"));
|
||||
}
|
||||
internal override void parse(string str, ref int pos, ReleaseVersion release, int len, ConcurrentDictionary<int,BaseClassIfc> dictionary)
|
||||
{
|
||||
|
@ -203,7 +203,7 @@ namespace GeometryGym.Ifc
|
|||
Enum.TryParse<IfcWindowTypeEnum>(ParserSTEP.StripField(str,ref pos, len).Replace(".", ""), true, out mPredefinedType);
|
||||
Enum.TryParse<IfcWindowTypePartitioningEnum>(ParserSTEP.StripField(str, ref pos, len).Replace(".", ""), true, out mPartitioningType);
|
||||
mParameterTakesPrecedence = ParserSTEP.StripBool(str, ref pos, len);
|
||||
mUserDefinedPartitioningType = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mUserDefinedPartitioningType = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcWorkCalendar
|
||||
|
@ -232,10 +232,10 @@ namespace GeometryGym.Ifc
|
|||
base.parse(str, ref pos, release, len, dictionary);
|
||||
if (release < ReleaseVersion.IFC4)
|
||||
{
|
||||
mIdentification = ParserSTEP.StripString(str, ref pos, len);
|
||||
mIdentification = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSSCreationDate = dictionary[ ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
Creators.AddRange(ParserSTEP.StripListLink(str, ref pos, len).ConvertAll(x=>dictionary[x] as IfcPerson));
|
||||
mPurpose = ParserSTEP.StripString(str, ref pos, len);
|
||||
mPurpose = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mSSDuration = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mSSTotalFloat = ParserSTEP.StripDouble(str, ref pos, len);
|
||||
mSSStartTime = dictionary[ParserSTEP.StripLink(str, ref pos, len)] as IfcDateTimeSelect;
|
||||
|
@ -243,13 +243,13 @@ namespace GeometryGym.Ifc
|
|||
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);
|
||||
mUserDefinedControlType = ParserSTEP.Decode(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);
|
||||
mPurpose = ParserSTEP.Decode(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));
|
||||
|
@ -258,11 +258,16 @@ namespace GeometryGym.Ifc
|
|||
}
|
||||
protected override string BuildStringSTEP(ReleaseVersion release)
|
||||
{
|
||||
return base.BuildStringSTEP(release) + "," + (release < ReleaseVersion.IFC4 ? "'" + mIdentification + "'," + ParserSTEP.ObjToLinkString(mSSCreationDate) : IfcDateTime.STEPAttribute(mCreationDate)) +
|
||||
return base.BuildStringSTEP(release) + "," + (release < ReleaseVersion.IFC4 ? "'" + ParserSTEP.Encode(mIdentification) + "'," +
|
||||
ParserSTEP.ObjToLinkString(mSSCreationDate) : IfcDateTime.STEPAttribute(mCreationDate)) +
|
||||
(mCreators.Count > 0 ? ",(" + string.Join(",", Creators.ConvertAll(x=>"#" + x.StepId)) + ")," : ",$,") +
|
||||
(release < ReleaseVersion.IFC4 ? (mPurpose == "$" ? "$," : "'" + mPurpose + "',") + ParserSTEP.DoubleOptionalToString(mSSDuration) + "," + ParserSTEP.DoubleOptionalToString(mSSTotalFloat) + "," +
|
||||
ParserSTEP.ObjToLinkString(mSSStartTime) + "," + ParserSTEP.ObjToLinkString(mSSFinishTime) + ",." + mWorkControlType.ToString() + (mUserDefinedControlType == "$" ? ".,$" : ".,'" + mUserDefinedControlType + "'") :
|
||||
(mPurpose == "$" ? "$," : "'" + mPurpose + "',") + mDuration + "," + mTotalFloat + "," + IfcDateTime.STEPAttribute(mStartTime) + "," + IfcDateTime.STEPAttribute(mFinishTime));
|
||||
(release < ReleaseVersion.IFC4 ? (mPurpose == "$" ? "$," : "'" + ParserSTEP.Encode(mPurpose) + "',") +
|
||||
ParserSTEP.DoubleOptionalToString(mSSDuration) + "," + ParserSTEP.DoubleOptionalToString(mSSTotalFloat) + "," +
|
||||
ParserSTEP.ObjToLinkString(mSSStartTime) + "," + ParserSTEP.ObjToLinkString(mSSFinishTime) + ",." + mWorkControlType.ToString() +
|
||||
(mUserDefinedControlType == "$" ? ".,$" : ".,'" + mUserDefinedControlType + "'") :
|
||||
(string.IsNullOrEmpty(mPurpose) ? "$," : "'" + ParserSTEP.Encode(mPurpose) + "',") +
|
||||
(string.IsNullOrEmpty(mDuration) ? "$," : mDuration + ",") + (string.IsNullOrEmpty(mTotalFloat) ? "$," : mTotalFloat + ",") +
|
||||
IfcDateTime.STEPAttribute(mStartTime) + "," + IfcDateTime.STEPAttribute(mFinishTime));
|
||||
}
|
||||
}
|
||||
public partial class IfcWorkPlan
|
||||
|
|
|
@ -31,12 +31,12 @@ namespace GeometryGym.Ifc
|
|||
{
|
||||
public partial class IfcZone
|
||||
{
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserIfc.Encode(mLongName) + "'")); }
|
||||
protected override string BuildStringSTEP(ReleaseVersion release) { return base.BuildStringSTEP(release) + (release < ReleaseVersion.IFC4 ? "" : (string.IsNullOrEmpty(mLongName) ? ",$" : ",'" + ParserSTEP.Encode(mLongName) + "'")); }
|
||||
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.IFC2x3)
|
||||
mLongName = ParserIfc.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
mLongName = ParserSTEP.Decode(ParserSTEP.StripString(str, ref pos, len));
|
||||
}
|
||||
}
|
||||
public partial class IfcZShapeProfileDef
|
||||
|
|
|
@ -29,16 +29,16 @@ using System.Text;
|
|||
using System.Threading;
|
||||
using GeometryGym.STEP;
|
||||
using System.Collections;
|
||||
|
||||
using GeometryGym.Ifc;
|
||||
|
||||
namespace GeometryGym.STEP
|
||||
{
|
||||
public partial class DatabaseSTEP<T> : IEnumerable<T> where T : STEPEntity//, new()
|
||||
{
|
||||
public string FolderPath { get; set; }
|
||||
public string OriginatingSystem { get; set; }
|
||||
public DateTime TimeStamp { get; set; } = DateTime.MinValue;
|
||||
|
||||
public STEPFileInformation OriginatingFileInformation = null;
|
||||
|
||||
public List<string> Comments { get; } = new List<string>();
|
||||
|
||||
internal string mFileName = "";
|
||||
|
@ -105,7 +105,68 @@ namespace GeometryGym.STEP
|
|||
internal void logParseError(string str) { string error = "XX Error " + str; if (!mParsingErrors.Contains(error)) mParsingErrors.Add(error); }
|
||||
internal void logParseWarning(string str) { string warning = "!! Warning " + str; if (!mParsingWarnings.Contains(warning)) mParsingWarnings.Add(warning); }
|
||||
|
||||
|
||||
|
||||
internal virtual bool processFileHeaderLine(string line)
|
||||
{
|
||||
|
||||
string trimmedLine = ParserSTEP.StripComments(line).Trim();
|
||||
ParserSTEP.GetKeyWord(trimmedLine, out int stepID, out string keyword, out string def);
|
||||
int pos = 0, len = def.Length;
|
||||
if (string.Compare(keyword, "FILE_DESCRIPTION", true) == 0)
|
||||
{
|
||||
if (OriginatingFileInformation == null)
|
||||
OriginatingFileInformation = new STEPFileInformation();
|
||||
string field = ParserSTEP.StripField(def, ref pos, len);
|
||||
List<string> fields = ParserSTEP.SplitListStrings(field);
|
||||
OriginatingFileInformation.FileDescriptions.AddRange(fields.Select(x => ParserSTEP.Decode(x)));
|
||||
OriginatingFileInformation.FileImplementationLevel = ParserSTEP.StripString(def, ref pos, len);
|
||||
ProcessFileDescription();
|
||||
return true;
|
||||
}
|
||||
if (string.Compare(keyword, "FILE_NAME", true) == 0)
|
||||
{
|
||||
if (OriginatingFileInformation == null)
|
||||
OriginatingFileInformation = new STEPFileInformation();
|
||||
try
|
||||
{
|
||||
string str = ParserSTEP.StripString(def, ref pos, len);
|
||||
OriginatingFileInformation.FileName = ParserSTEP.Decode(str);
|
||||
str = ParserSTEP.StripString(def, ref pos, len);
|
||||
if (DateTime.TryParse(str, out DateTime dateTime))
|
||||
OriginatingFileInformation.TimeStamp = dateTime;
|
||||
str = ParserSTEP.StripField(def, ref pos, len);
|
||||
OriginatingFileInformation.Author.AddRange(ParserSTEP.SplitListStrings(str).Select(x=>ParserSTEP.Decode(x)));
|
||||
str = ParserSTEP.StripField(def, ref pos, len);
|
||||
OriginatingFileInformation.Organization.AddRange(ParserSTEP.SplitListStrings(str).Select(x=>ParserSTEP.Decode(x)));
|
||||
str = ParserSTEP.StripString(def, ref pos, len);
|
||||
OriginatingFileInformation.PreProcessorVersion = ParserSTEP.Decode(str);
|
||||
str = ParserSTEP.StripString(def, ref pos, len);
|
||||
OriginatingFileInformation.OriginatingSystem = ParserSTEP.Decode(str);
|
||||
str = ParserSTEP.StripString(def, ref pos, len);
|
||||
OriginatingFileInformation.Authorization = ParserSTEP.Decode(str);
|
||||
}
|
||||
catch { }
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
internal virtual void ProcessFileDescription() { }
|
||||
}
|
||||
|
||||
public class STEPFileInformation
|
||||
{
|
||||
public List<string> FileDescriptionViewDefinition { get; set; } = new List<string>();
|
||||
public List<string> FileDescriptionExchangeRequirements { get; set; } = new List<string>();
|
||||
|
||||
public List<string> FileDescriptions { get; set; } = new List<string>();
|
||||
public string FileImplementationLevel { get; set; } = "";
|
||||
public string FileName { get; set; } = "";
|
||||
public DateTime TimeStamp { get; set; } = DateTime.MinValue;
|
||||
public List<string> Author { get; set; } = new List<string>();
|
||||
public List<string> Organization { get; set; } = new List<string>();
|
||||
public string PreProcessorVersion { get; set; } = "";
|
||||
public string OriginatingSystem { get; set; } = "";
|
||||
public string Authorization { get; set; } = "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -38,9 +38,138 @@ namespace GeometryGym.STEP
|
|||
NumberFormat = (NumberFormatInfo) ci.NumberFormat.Clone();
|
||||
}
|
||||
|
||||
internal static void GetKeyWord(string line, out int indexID, out string keyword, out string def)
|
||||
public static string Encode(string str)
|
||||
{
|
||||
indexID = 0;
|
||||
if (string.IsNullOrEmpty(str))
|
||||
return "";
|
||||
string result = "";
|
||||
int length = str.Length;
|
||||
for (int icounter = 0; icounter < length; icounter++)
|
||||
{
|
||||
char c = str[icounter];
|
||||
if (c == '\r')
|
||||
{
|
||||
if (icounter + 1 < length)
|
||||
{
|
||||
if (str[icounter + 1] == '\n' && icounter + 2 == length)
|
||||
return result;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (c == '\n')
|
||||
{
|
||||
if (icounter + 1 == length)
|
||||
return result;
|
||||
}
|
||||
if (c == '\'')
|
||||
result += "\\X\\27"; // Alternative result += "''";
|
||||
else if (c == '\\')
|
||||
result += "\\\\";
|
||||
else
|
||||
{
|
||||
int i = (int)c;
|
||||
if (i < 32 || i > 126)
|
||||
result += "\\X2\\" + string.Format("{0:x4}", i, CultureInfo.InvariantCulture).ToUpper() + "\\X0\\";
|
||||
else
|
||||
result += c;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public static string Decode(string str)
|
||||
{
|
||||
if (string.IsNullOrEmpty(str) || str == "$")
|
||||
return "";
|
||||
int ilast = str.Length - 4, icounter = 0, strLength = str.Length;
|
||||
string result = "";
|
||||
while (icounter < ilast)
|
||||
{
|
||||
char c = str[icounter];
|
||||
if (c == '\'')
|
||||
{
|
||||
if (icounter + 1 < ilast && str[icounter + 1] == '\'')
|
||||
icounter++;
|
||||
}
|
||||
if (c == '\\')
|
||||
{
|
||||
if (icounter + 1 < strLength && str[icounter + 1] == '\\')
|
||||
{
|
||||
result += c;
|
||||
icounter++;
|
||||
}
|
||||
else if (icounter + 3 < strLength)
|
||||
{
|
||||
char c3 = str[icounter + 3], c2 = str[icounter + 2], c1 = str[icounter + 1];
|
||||
if (c2 == '\\')
|
||||
{
|
||||
if (c1 == 'S')
|
||||
{
|
||||
result += (char)((int)c3 + 128);
|
||||
icounter += 3;
|
||||
}
|
||||
else if (c1 == 'X' && strLength > icounter + 4)
|
||||
{
|
||||
string s = str.Substring(icounter + 3, 2);
|
||||
Int32 i = Convert.ToInt32(s, 16);
|
||||
Byte[] bytes = BitConverter.GetBytes(i);
|
||||
c = Encoding.Unicode.GetChars(bytes)[0];
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else if (c3 == '\\' && c2 == '2' && c1 == 'X')
|
||||
{
|
||||
icounter += 4;
|
||||
while (str[icounter] != '\\')
|
||||
{
|
||||
string s = str.Substring(icounter, 4);
|
||||
Int32 i = Convert.ToInt32(s, 16);
|
||||
Byte[] bytes = BitConverter.GetBytes(i);
|
||||
c = Encoding.Unicode.GetChars(bytes)[0];
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
icounter += 3;
|
||||
}
|
||||
else if (c1 == '\\' && c2 == 'X')
|
||||
{
|
||||
if (c3 == '2')
|
||||
{
|
||||
icounter += 6;
|
||||
while (str[icounter] != '\\')
|
||||
{
|
||||
string s = str.Substring(icounter, 4);
|
||||
c = System.Text.Encoding.Unicode.GetChars(BitConverter.GetBytes(Convert.ToInt32(s, 16)))[0];
|
||||
//result += (char)();
|
||||
result += c;
|
||||
icounter += 4;
|
||||
}
|
||||
icounter += 5;
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
}
|
||||
else
|
||||
result += str[icounter];
|
||||
icounter++;
|
||||
}
|
||||
while (icounter < str.Length)
|
||||
result += str[icounter++];
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
internal static void GetKeyWord(string line, out int stepID, out string keyword, out string def)
|
||||
{
|
||||
stepID = 0;
|
||||
keyword = "";
|
||||
def = "";
|
||||
if (string.IsNullOrEmpty(line))
|
||||
|
@ -59,7 +188,7 @@ namespace GeometryGym.STEP
|
|||
break;
|
||||
}
|
||||
if (!string.IsNullOrEmpty(def))
|
||||
indexID = int.Parse(def);
|
||||
stepID = int.Parse(def);
|
||||
c = strLine[jcounter];
|
||||
while (c == ' ')
|
||||
c = strLine[++jcounter];
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;NOIFCJSON</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\x64\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DefineConstants>TRACE;NOIFCJSON</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<PackageId>GeometryGymIFC_Core</PackageId>
|
||||
<Version>0.2.06</Version>
|
||||
<Version>0.2.07</Version>
|
||||
<Authors>Geometry Gym</Authors>
|
||||
<Product>GeometryGymIFC_Core</Product>
|
||||
<Description>.Net Standard 2.0 C# classes to generate and parse buildingSMART IFC (Industry Foundation Class) files
|
||||
|
@ -14,15 +14,19 @@ License https://github.com/GeometryGym/GeometryGymIFC/blob/master/LICENSE</Descr
|
|||
<PackageProjectUrl></PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/GeometryGym/GeometryGymIFC</RepositoryUrl>
|
||||
<PackageTags>BIM, IFC, openBIM</PackageTags>
|
||||
<AssemblyVersion>0.2.06.0</AssemblyVersion>
|
||||
<FileVersion>0.2.06.0</FileVersion>
|
||||
<AssemblyVersion>0.2.07.0</AssemblyVersion>
|
||||
<FileVersion>0.2.07.0</FileVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
<DefineConstants>TRACE;NETSTANDARD2_0 NOIFCJSON</DefineConstants>
|
||||
<DefineConstants>TRACE;NETSTANDARD2_0;NOIFCJSON</DefineConstants>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
|
||||
<DefineConstants>$(DefineConstants)TRACE;NOIFCJSON</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Include="..\..\Core\IFC\BaseClassIFC.cs" Link="IFC\BaseClassIFC.cs" />
|
||||
<Compile Include="..\..\Core\IFC\DatabaseIFC.cs" Link="IFC\DatabaseIFC.cs" />
|
||||
|
|
Загрузка…
Ссылка в новой задаче