protected override string BuildStringSTEP() { if (PredefinedType != null && mDatabase.Release < ReleaseVersion.IFC4X3_RC1) { IfcBridgePartTypeEnum part = IfcBridgePartTypeEnum.NOTDEFINED; if (!PredefinedType.isEnumeration(ref part)) { part = IfcBridgePartTypeEnum.NOTDEFINED; } return(base.BuildStringSTEP() + (part == IfcBridgePartTypeEnum.NOTDEFINED ? ",$" : ",." + part.ToString() + ".")); } return(base.BuildStringSTEP()); }
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.IFC4X3_RC1) { string s = ParserSTEP.StripField(str, ref pos, len); if (s.StartsWith(".")) { IfcBridgePartTypeEnum partType = IfcBridgePartTypeEnum.NOTDEFINED; if (Enum.TryParse <IfcBridgePartTypeEnum>(s.Replace(".", ""), true, out partType)) { PredefinedType = new IfcFacilityPartTypeSelect(partType); } } } }