コード例 #1
0
ファイル: IFC B.cs プロジェクト: GeometryGym/GeometryGymIFC
		public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type) : base(ps.mDatabase)
		{
			Name = name;
			PredefinedType = type;
			if(ps.mTaperEnd != null)
				mTapering = ps;
			else
				MaterialSelect = ps;
		}
コード例 #2
0
ファイル: IFC O.cs プロジェクト: jddaigle/GeometryGymIFC
        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);
            }
        }
コード例 #3
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		public IfcMaterialProfileSetUsageTapering(DatabaseIfc m, IfcMaterialProfileSet ps, IfcCardinalPointReference ip, double refExtent, IfcMaterialProfileSet eps, IfcCardinalPointReference eip)
			: base(m, ps, ip, refExtent) { mForProfileEndSet = eps.mIndex; mCardinalEndPoint = eip; }
コード例 #4
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		public IfcMaterialProfileSetUsage(DatabaseIfc m, IfcMaterialProfileSet ps, IfcCardinalPointReference ip, double refExtent)
			: base(m) { mForProfileSet = ps.mIndex; mCardinalPoint = ip; mReferenceExtent = refExtent; }
コード例 #5
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		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++]); }
コード例 #6
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		internal static IfcMaterialProfileSet Parse(string strDef) { IfcMaterialProfileSet m = new IfcMaterialProfileSet(); int ipos = 0; parseFields(m, ParserSTEP.SplitLineFields(strDef), ref ipos); return m; }
コード例 #7
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		internal IfcMaterialProfileSet(IfcMaterialProfileSet m) : base(m) { mName = m.mName; mDescription = m.mDescription; mMaterialProfiles = new List<int>(m.mMaterialProfiles.ToArray()); mCompositeProfile = m.mCompositeProfile; }
コード例 #8
0
ファイル: IFC M.cs プロジェクト: jenca-cloud/ggIFC
		internal IfcMemberType(string name, IfcMaterialProfileSet ps, IfcMemberTypeEnum type) : base(ps.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = ps; }
コード例 #9
0
ファイル: IFC C.cs プロジェクト: jenca-cloud/ggIFC
		internal IfcCableSegmentType(DatabaseIfc m, string name, IfcMaterialProfileSet mps, IfcCableSegmentTypeEnum t) : base(m) { Name = name; MaterialSelect = mps; PredefinedType = t; }
コード例 #10
0
ファイル: IFC B.cs プロジェクト: jenca-cloud/ggIFC
		public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type) : base(ps.mDatabase) { Name = name; mPredefinedType = type; MaterialSelect = ps; }
コード例 #11
0
ファイル: IFC B.cs プロジェクト: jmirtsch/GeometryGymIFC
 public IfcBeamType(string name, IfcMaterialProfileSet ps, IfcBeamTypeEnum type)
     : base(ps.mDatabase)
 {
     Name = name;
     mPredefinedType = type;
     if(ps.mTaperEnd != null)
         mTapering = ps;
     else
         MaterialSelect = ps;
 }
コード例 #12
0
ファイル: IFC F.cs プロジェクト: xeolabs/GeometryGymIFC
 public IfcFootingType(string name, IfcMaterialProfileSet mps, IfcFootingTypeEnum type) : base(mps.mDatabase)
 {
     Name = name; mPredefinedType = type; MaterialSelect = mps;
 }