public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type) : base(ps.mDatabase) { Name = name; PredefinedType = type; if(ps.mTaperEnd != null) mTapering = ps; else MaterialSelect = ps; }
internal void setMaterial(IfcMaterialSelect material) { IfcMaterialSelect m = material; if (mDatabase.mRelease == ReleaseVersion.IFC2x3) { IfcMaterialProfile profile = material as IfcMaterialProfile; if (profile != null) { m = profile.Material; mMaterialSelectIFC4 = profile; IfcProfileDef pd = profile.Profile; if (pd != null) { if (pd.mHasProperties.Count == 0) { IfcProfileProperties pp = new IfcProfileProperties(pd.Name, pd); pp.mAssociates.addRelated(this); } else { pd.mHasProperties[0].mAssociates.addRelated(this); } } } else { IfcMaterialProfileSet profileSet = material as IfcMaterialProfileSet; if (profileSet == null) { IfcMaterialProfileSetUsage profileSetUsage = material as IfcMaterialProfileSetUsage; if (profileSetUsage != null) { profileSet = profileSetUsage.ForProfileSet; } } if (profileSet != null) { m = profileSet.PrimaryMaterial; mMaterialSelectIFC4 = profileSet; foreach (IfcMaterialProfile matp in profileSet.MaterialProfiles) { IfcProfileDef pd = matp.Profile; if (pd != null) { if (pd.mHasProperties.Count == 0) { IfcProfileProperties pp = new IfcProfileProperties(pd.Name, null, pd); } pd.mHasProperties[0].mAssociates.addRelated(this); } } } else { //constituentset.... } } } for (int icounter = 0; icounter < mHasAssociations.Count; icounter++) { IfcRelAssociatesMaterial rm = mHasAssociations[icounter] as IfcRelAssociatesMaterial; if (rm != null) { rm.unassign(this); } } if (m != null) { m.Associates.addRelated(this); } }
public IfcMaterialProfileSetUsageTapering(DatabaseIfc m, IfcMaterialProfileSet ps, IfcCardinalPointReference ip, double refExtent, IfcMaterialProfileSet eps, IfcCardinalPointReference eip) : base(m, ps, ip, refExtent) { mForProfileEndSet = eps.mIndex; mCardinalEndPoint = eip; }
public IfcMaterialProfileSetUsage(DatabaseIfc m, IfcMaterialProfileSet ps, IfcCardinalPointReference ip, double refExtent) : base(m) { mForProfileSet = ps.mIndex; mCardinalPoint = ip; mReferenceExtent = refExtent; }
internal static void parseFields(IfcMaterialProfileSet m, List<string> arrFields, ref int ipos) { IfcMaterialDefinition.parseFields(m, arrFields, ref ipos); m.mName = arrFields[ipos++].Replace("'", ""); m.mDescription = arrFields[ipos++].Replace("'", ""); m.mMaterialProfiles = ParserSTEP.SplitListLinks(arrFields[ipos++]); m.mCompositeProfile = ParserSTEP.ParseLink(arrFields[ipos++]); }
internal static IfcMaterialProfileSet Parse(string strDef) { IfcMaterialProfileSet m = new IfcMaterialProfileSet(); int ipos = 0; parseFields(m, ParserSTEP.SplitLineFields(strDef), ref ipos); return m; }
internal IfcMaterialProfileSet(IfcMaterialProfileSet m) : base(m) { mName = m.mName; mDescription = m.mDescription; mMaterialProfiles = new List<int>(m.mMaterialProfiles.ToArray()); mCompositeProfile = m.mCompositeProfile; }
internal IfcMemberType(string name, IfcMaterialProfileSet ps, IfcMemberTypeEnum type) : base(ps.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = ps; }
internal IfcCableSegmentType(DatabaseIfc m, string name, IfcMaterialProfileSet mps, IfcCableSegmentTypeEnum t) : base(m) { Name = name; MaterialSelect = mps; PredefinedType = t; }
public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type) : base(ps.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = ps; }
public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type) : base(ps.mDatabase) { Name = name; mPredefinedType = type; if(ps.mTaperEnd != null) mTapering = ps; else MaterialSelect = ps; }
public IfcFootingType(string name, IfcMaterialProfileSet mps, IfcFootingTypeEnum type) : base(mps.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = mps; }