コード例 #1
0
ファイル: IfcProfileDef.g.cs プロジェクト: vdubya/IFC-gen
        }                                                                 // inverse


        /// <summary>
        /// Construct a IfcProfileDef with all required attributes.
        /// </summary>
        public IfcProfileDef(IfcProfileTypeEnum profileType) : base()
        {
            HasExternalReference = new List <IfcExternalReferenceRelationship>();
            HasProperties        = new List <IfcProfileProperties>();

            ProfileType = profileType;
        }
コード例 #2
0
 public IfcRectangleHollowProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __XDim, IfcPositiveLengthMeasure __YDim, IfcPositiveLengthMeasure __WallThickness, IfcNonNegativeLengthMeasure?__InnerFilletRadius, IfcNonNegativeLengthMeasure?__OuterFilletRadius)
     : base(__ProfileType, __ProfileName, __Position, __XDim, __YDim)
 {
     this._WallThickness     = __WallThickness;
     this._InnerFilletRadius = __InnerFilletRadius;
     this._OuterFilletRadius = __OuterFilletRadius;
 }
コード例 #3
0
 /// <summary>
 /// Construct a IfcTrapeziumProfileDef with all required attributes.
 /// </summary>
 public IfcTrapeziumProfileDef(IfcProfileTypeEnum profileType, IfcPositiveLengthMeasure bottomXDim, IfcPositiveLengthMeasure topXDim, IfcPositiveLengthMeasure yDim, IfcLengthMeasure topXOffset) : base(profileType)
 {
     BottomXDim = bottomXDim;
     TopXDim    = topXDim;
     YDim       = yDim;
     TopXOffset = topXOffset;
 }
コード例 #4
0
 public IfcTrapeziumProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure bottomXDim, IfcPositiveLengthMeasure topXDim, IfcPositiveLengthMeasure yDim, IfcLengthMeasure topXOffset) : base(profileType, profileName, position)
 {
     BottomXDim = bottomXDim;
     TopXDim    = topXDim;
     YDim       = yDim;
     TopXOffset = topXOffset;
 }
コード例 #5
0
 public IfcProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName)
 {
     this.ProfileType          = __ProfileType;
     this.ProfileName          = __ProfileName;
     this.HasExternalReference = new HashSet <IfcExternalReferenceRelationship>();
     this.HasProperties        = new HashSet <IfcProfileProperties>();
 }
コード例 #6
0
 public IfcDerivedProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcProfileDef __ParentProfile, IfcCartesianTransformationOperator2D __Operator, IfcLabel?__Label)
     : base(__ProfileType, __ProfileName)
 {
     this._ParentProfile = __ParentProfile;
     this._Operator      = __Operator;
     this._Label         = __Label;
 }
コード例 #7
0
        public override string WhereRule()
        {
            string err = "";

            if (_crossSectionPositions.Count != _crossSections.Count)
            {
                err +=
                    "WR1 SectionedSpine : The set of cross sections and the set of cross section positions shall be of the same size.\n";
            }
            IfcProfileDef firstProfile = _crossSections.FirstOrDefault();

            if (firstProfile != null)
            {
                IfcProfileTypeEnum pType = firstProfile.ProfileType;
                foreach (IfcProfileDef prof in _crossSections)
                {
                    if (prof.ProfileType != pType)
                    {
                        err +=
                            "WR2 SectionedSpine : The profile type (either AREA or CURVE) shall be consistent within the list of the profiles defining the cross sections.\n";
                        break;
                    }
                }
            }
            if (_spineCurve != null && _spineCurve.Dim != 3)
            {
                err +=
                    "WR3 SectionedSpine : The curve entity which is the underlying spine curve shall have the dimensionality of 3.\n";
            }
            return(err);
        }
コード例 #8
0
        }                                                         // optional


        /// <summary>
        /// Construct a IfcUShapeProfileDef with all required attributes.
        /// </summary>
        public IfcUShapeProfileDef(IfcProfileTypeEnum profileType, IfcPositiveLengthMeasure depth, IfcPositiveLengthMeasure flangeWidth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure flangeThickness) : base(profileType)
        {
            Depth           = depth;
            FlangeWidth     = flangeWidth;
            WebThickness    = webThickness;
            FlangeThickness = flangeThickness;
        }
コード例 #9
0
        }                                                         // optional


        /// <summary>
        /// Construct a IfcIShapeProfileDef with all required attributes.
        /// </summary>
        public IfcIShapeProfileDef(IfcProfileTypeEnum profileType, IfcPositiveLengthMeasure overallWidth, IfcPositiveLengthMeasure overallDepth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure flangeThickness) : base(profileType)
        {
            OverallWidth    = overallWidth;
            OverallDepth    = overallDepth;
            WebThickness    = webThickness;
            FlangeThickness = flangeThickness;
        }
コード例 #10
0
        }                                                                         // optional


        /// <summary>
        /// Construct a IfcCShapeProfileDef with all required attributes.
        /// </summary>
        public IfcCShapeProfileDef(IfcProfileTypeEnum profileType, IfcPositiveLengthMeasure depth, IfcPositiveLengthMeasure width, IfcPositiveLengthMeasure wallThickness, IfcPositiveLengthMeasure girth) : base(profileType)
        {
            Depth         = depth;
            Width         = width;
            WallThickness = wallThickness;
            Girth         = girth;
        }
コード例 #11
0
 public IfcTrapeziumProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __BottomXDim, IfcPositiveLengthMeasure __TopXDim, IfcPositiveLengthMeasure __YDim, IfcLengthMeasure __TopXOffset)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._BottomXDim = __BottomXDim;
     this._TopXDim    = __TopXDim;
     this._YDim       = __YDim;
     this._TopXOffset = __TopXOffset;
 }
コード例 #12
0
 public IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __OverallWidth, IfcPositiveLengthMeasure __OverallDepth, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __FlangeThickness, IfcPositiveLengthMeasure?__FilletRadius, IfcPositiveLengthMeasure __TopFlangeWidth, IfcPositiveLengthMeasure?__TopFlangeThickness, IfcPositiveLengthMeasure?__TopFlangeFilletRadius, IfcPositiveLengthMeasure?__CentreOfGravityInY)
     : base(__ProfileType, __ProfileName, __Position, __OverallWidth, __OverallDepth, __WebThickness, __FlangeThickness, __FilletRadius)
 {
     this._TopFlangeWidth        = __TopFlangeWidth;
     this._TopFlangeThickness    = __TopFlangeThickness;
     this._TopFlangeFilletRadius = __TopFlangeFilletRadius;
     this._CentreOfGravityInY    = __CentreOfGravityInY;
 }
コード例 #13
0
        }                                                            // optional


        /// <summary>
        /// Construct a IfcAsymmetricIShapeProfileDef with all required attributes.
        /// </summary>
        public IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum profileType, IfcPositiveLengthMeasure bottomFlangeWidth, IfcPositiveLengthMeasure overallDepth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure bottomFlangeThickness, IfcPositiveLengthMeasure topFlangeWidth) : base(profileType)
        {
            BottomFlangeWidth     = bottomFlangeWidth;
            OverallDepth          = overallDepth;
            WebThickness          = webThickness;
            BottomFlangeThickness = bottomFlangeThickness;
            TopFlangeWidth        = topFlangeWidth;
        }
コード例 #14
0
 public IfcCShapeProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure depth, IfcPositiveLengthMeasure width, IfcPositiveLengthMeasure wallThickness, IfcPositiveLengthMeasure girth, IfcNonNegativeLengthMeasure internalFilletRadius) : base(profileType, profileName, position)
 {
     Depth                = depth;
     Width                = width;
     WallThickness        = wallThickness;
     Girth                = girth;
     InternalFilletRadius = internalFilletRadius;
 }
コード例 #15
0
ファイル: IfcIShapeProfileDef.cs プロジェクト: sta1216/IfcDoc
 public IfcIShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __OverallWidth, IfcPositiveLengthMeasure __OverallDepth, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __FlangeThickness, IfcPositiveLengthMeasure?__FilletRadius)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._OverallWidth    = __OverallWidth;
     this._OverallDepth    = __OverallDepth;
     this._WebThickness    = __WebThickness;
     this._FlangeThickness = __FlangeThickness;
     this._FilletRadius    = __FilletRadius;
 }
コード例 #16
0
 public IfcZShapeProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure depth, IfcPositiveLengthMeasure flangeWidth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure flangeThickness, IfcNonNegativeLengthMeasure filletRadius, IfcNonNegativeLengthMeasure edgeRadius) : base(profileType, profileName, position)
 {
     Depth           = depth;
     FlangeWidth     = flangeWidth;
     WebThickness    = webThickness;
     FlangeThickness = flangeThickness;
     FilletRadius    = filletRadius;
     EdgeRadius      = edgeRadius;
 }
コード例 #17
0
ファイル: IfcCShapeProfileDef.cs プロジェクト: sta1216/IfcDoc
 public IfcCShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __Depth, IfcPositiveLengthMeasure __Width, IfcPositiveLengthMeasure __WallThickness, IfcPositiveLengthMeasure __Girth, IfcNonNegativeLengthMeasure?__InternalFilletRadius)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._Depth                = __Depth;
     this._Width                = __Width;
     this._WallThickness        = __WallThickness;
     this._Girth                = __Girth;
     this._InternalFilletRadius = __InternalFilletRadius;
 }
コード例 #18
0
 public IfcLShapeProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure depth, IfcPositiveLengthMeasure width, IfcPositiveLengthMeasure thickness, IfcNonNegativeLengthMeasure filletRadius, IfcNonNegativeLengthMeasure edgeRadius, IfcPlaneAngleMeasure legSlope) : base(profileType, profileName, position)
 {
     Depth        = depth;
     Width        = width;
     Thickness    = thickness;
     FilletRadius = filletRadius;
     EdgeRadius   = edgeRadius;
     LegSlope     = legSlope;
 }
コード例 #19
0
 public IfcIShapeProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure overallWidth, IfcPositiveLengthMeasure overallDepth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure flangeThickness, IfcNonNegativeLengthMeasure filletRadius, IfcNonNegativeLengthMeasure flangeEdgeRadius, IfcPlaneAngleMeasure flangeSlope) : base(profileType, profileName, position)
 {
     OverallWidth     = overallWidth;
     OverallDepth     = overallDepth;
     WebThickness     = webThickness;
     FlangeThickness  = flangeThickness;
     FilletRadius     = filletRadius;
     FlangeEdgeRadius = flangeEdgeRadius;
     FlangeSlope      = flangeSlope;
 }
コード例 #20
0
ファイル: IfcLShapeProfileDef.cs プロジェクト: sta1216/IfcDoc
 public IfcLShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __Depth, IfcPositiveLengthMeasure?__Width, IfcPositiveLengthMeasure __Thickness, IfcNonNegativeLengthMeasure?__FilletRadius, IfcNonNegativeLengthMeasure?__EdgeRadius, IfcPlaneAngleMeasure?__LegSlope)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._Depth        = __Depth;
     this._Width        = __Width;
     this._Thickness    = __Thickness;
     this._FilletRadius = __FilletRadius;
     this._EdgeRadius   = __EdgeRadius;
     this._LegSlope     = __LegSlope;
 }
コード例 #21
0
ファイル: IfcZShapeProfileDef.cs プロジェクト: vdubya/IfcDoc
 public IfcZShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __Depth, IfcPositiveLengthMeasure __FlangeWidth, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __FlangeThickness, IfcNonNegativeLengthMeasure?__FilletRadius, IfcNonNegativeLengthMeasure?__EdgeRadius)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this.Depth           = __Depth;
     this.FlangeWidth     = __FlangeWidth;
     this.WebThickness    = __WebThickness;
     this.FlangeThickness = __FlangeThickness;
     this.FilletRadius    = __FilletRadius;
     this.EdgeRadius      = __EdgeRadius;
 }
コード例 #22
0
ファイル: IfcIShapeProfileDef.cs プロジェクト: vdubya/IfcDoc
 public IfcIShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __OverallWidth, IfcPositiveLengthMeasure __OverallDepth, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __FlangeThickness, IfcNonNegativeLengthMeasure?__FilletRadius, IfcNonNegativeLengthMeasure?__FlangeEdgeRadius, IfcPlaneAngleMeasure?__FlangeSlope)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this.OverallWidth     = __OverallWidth;
     this.OverallDepth     = __OverallDepth;
     this.WebThickness     = __WebThickness;
     this.FlangeThickness  = __FlangeThickness;
     this.FilletRadius     = __FilletRadius;
     this.FlangeEdgeRadius = __FlangeEdgeRadius;
     this.FlangeSlope      = __FlangeSlope;
 }
コード例 #23
0
 public IfcUShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __Depth, IfcPositiveLengthMeasure __FlangeWidth, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __FlangeThickness, IfcPositiveLengthMeasure?__FilletRadius, IfcPositiveLengthMeasure?__EdgeRadius, IfcPlaneAngleMeasure?__FlangeSlope, IfcPositiveLengthMeasure?__CentreOfGravityInX)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._Depth              = __Depth;
     this._FlangeWidth        = __FlangeWidth;
     this._WebThickness       = __WebThickness;
     this._FlangeThickness    = __FlangeThickness;
     this._FilletRadius       = __FilletRadius;
     this._EdgeRadius         = __EdgeRadius;
     this._FlangeSlope        = __FlangeSlope;
     this._CentreOfGravityInX = __CentreOfGravityInX;
 }
コード例 #24
0
 public IfcCraneRailFShapeProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName, IfcAxis2Placement2D __Position, IfcPositiveLengthMeasure __OverallHeight, IfcPositiveLengthMeasure __HeadWidth, IfcPositiveLengthMeasure?__Radius, IfcPositiveLengthMeasure __HeadDepth2, IfcPositiveLengthMeasure __HeadDepth3, IfcPositiveLengthMeasure __WebThickness, IfcPositiveLengthMeasure __BaseDepth1, IfcPositiveLengthMeasure __BaseDepth2, IfcPositiveLengthMeasure?__CentreOfGravityInY)
     : base(__ProfileType, __ProfileName, __Position)
 {
     this._OverallHeight      = __OverallHeight;
     this._HeadWidth          = __HeadWidth;
     this._Radius             = __Radius;
     this._HeadDepth2         = __HeadDepth2;
     this._HeadDepth3         = __HeadDepth3;
     this._WebThickness       = __WebThickness;
     this._BaseDepth1         = __BaseDepth1;
     this._BaseDepth2         = __BaseDepth2;
     this._CentreOfGravityInY = __CentreOfGravityInY;
 }
コード例 #25
0
 public IfcAsymmetricIShapeProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure bottomFlangeWidth, IfcPositiveLengthMeasure overallDepth, IfcPositiveLengthMeasure webThickness, IfcPositiveLengthMeasure bottomFlangeThickness, IfcNonNegativeLengthMeasure bottomFlangeFilletRadius, IfcPositiveLengthMeasure topFlangeWidth, IfcPositiveLengthMeasure topFlangeThickness, IfcNonNegativeLengthMeasure topFlangeFilletRadius, IfcNonNegativeLengthMeasure bottomFlangeEdgeRadius, IfcPlaneAngleMeasure bottomFlangeSlope, IfcNonNegativeLengthMeasure topFlangeEdgeRadius, IfcPlaneAngleMeasure topFlangeSlope) : base(profileType, profileName, position)
 {
     BottomFlangeWidth        = bottomFlangeWidth;
     OverallDepth             = overallDepth;
     WebThickness             = webThickness;
     BottomFlangeThickness    = bottomFlangeThickness;
     BottomFlangeFilletRadius = bottomFlangeFilletRadius;
     TopFlangeWidth           = topFlangeWidth;
     TopFlangeThickness       = topFlangeThickness;
     TopFlangeFilletRadius    = topFlangeFilletRadius;
     BottomFlangeEdgeRadius   = bottomFlangeEdgeRadius;
     BottomFlangeSlope        = bottomFlangeSlope;
     TopFlangeEdgeRadius      = topFlangeEdgeRadius;
     TopFlangeSlope           = topFlangeSlope;
 }
コード例 #26
0
        public virtual void IfcParse(int propIndex, IPropertyValue value)
        {
            switch (propIndex)
            {
            case 0:
                _profileType = (IfcProfileTypeEnum)Enum.Parse(typeof(IfcProfileTypeEnum), value.EnumVal, true);
                break;

            case 1:
                _profileName = value.StringVal;
                break;

            default:
                this.HandleUnexpectedAttribute(propIndex, value); break;
            }
        }
コード例 #27
0
        public override void Parse(int propIndex, IPropertyValue value, int[] nestedIndex)
        {
            switch (propIndex)
            {
            case 0:
                _profileType = (IfcProfileTypeEnum)System.Enum.Parse(typeof(IfcProfileTypeEnum), value.EnumVal, true);
                return;

            case 1:
                _profileName = value.StringVal;
                return;

            default:
                throw new XbimParserException(string.Format("Attribute index {0} is out of range for {1}", propIndex + 1, GetType().Name.ToUpper()));
            }
        }
コード例 #28
0
        public RectangleProfile(IfcStore model, double x, double y, IfcProfileTypeEnum profileType, PlacementAxis2D position)
        {
            this.Model       = model;
            this.xDim        = x;
            this.yDim        = y;
            this.profileName = $"PL{x}*{y}";
            this.profileType = profileType;
            this.position    = position;


            IfcProfileDef result = model.Instances.OfType <IfcRectangleProfileDef>().Where(rect =>
            {
                if (rect.ProfileName == profileName && rect.ProfileType == profileType && rect.XDim == x && rect.YDim == y && rect.ProfileType == profileType && rect.Position.Equals(position.IfcAxis2Placement2D))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }).FirstOrDefault();

            if (result == null)
            {
                ifcRectangleProfile = model.Instances.New <IfcRectangleProfileDef>(rect =>
                {
                    rect.ProfileName = profileName;
                    rect.ProfileType = profileType;
                    rect.XDim        = x;
                    rect.YDim        = y;
                    rect.Position    = position.IfcAxis2Placement2D;
                }
                                                                                   );
            }

            else
            {
                ifcRectangleProfile = result;
            }
        }
コード例 #29
0
        public override string WhereRule()
        {
            IfcProfileDef pDef = _profiles.FirstOrDefault();
            string        err  = "";

            if (pDef != null)
            {
                IfcProfileTypeEnum pType = pDef.ProfileType;
                foreach (IfcProfileDef profile in _profiles)
                {
                    if (pType != profile.ProfileType)
                    {
                        err += "WR1 CompositeProfileDef : Either all profiles are areas or all profiles are curves\n";
                        break;
                    }
                }
            }
            if (_profiles.OfType <IfcCompositeProfileDef>().Count() > 0)
            {
                err +=
                    "WR2 CompositeProfileDef :   A composite profile should not include another composite profile, i.e. no recursive definitions should be allowed.\n";
            }
            return(err);
        }
コード例 #30
0
ファイル: IFC P.cs プロジェクト: jenca-cloud/ggIFC
		protected IfcProfileDef(IfcProfileDef i) : base(i) { mProfileType = i.mProfileType; mProfileName = i.mProfileName; }
コード例 #31
0
 public IfcRectangleProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure xDim, IfcPositiveLengthMeasure yDim) : base(profileType, profileName, position)
 {
     XDim = xDim;
     YDim = yDim;
 }
コード例 #32
0
 public virtual void IfcParse(int propIndex, IPropertyValue value)
 {
     switch (propIndex)
     {
         case 0:
             _profileType = (IfcProfileTypeEnum) Enum.Parse(typeof (IfcProfileTypeEnum), value.EnumVal, true);
             break;
         case 1:
             _profileName = value.StringVal;
             break;
         default:
             this.HandleUnexpectedAttribute(propIndex, value); break;
     }
 }