Esempio n. 1
0
        }                                                                 // 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;
        }
 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;
 }
Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 5
0
 public IfcProfileDef(IfcProfileTypeEnum __ProfileType, IfcLabel?__ProfileName)
 {
     this.ProfileType          = __ProfileType;
     this.ProfileName          = __ProfileName;
     this.HasExternalReference = new HashSet <IfcExternalReferenceRelationship>();
     this.HasProperties        = new HashSet <IfcProfileProperties>();
 }
Esempio n. 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;
 }
        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);
        }
Esempio n. 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;
        }
Esempio n. 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;
        }
Esempio n. 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;
        }
Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 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;
        }
Esempio n. 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;
 }
Esempio n. 15
0
 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;
 }
Esempio n. 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;
 }
Esempio n. 17
0
 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;
 }
Esempio n. 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;
 }
Esempio n. 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;
 }
Esempio n. 20
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)
 {
     this._Depth        = __Depth;
     this._Width        = __Width;
     this._Thickness    = __Thickness;
     this._FilletRadius = __FilletRadius;
     this._EdgeRadius   = __EdgeRadius;
     this._LegSlope     = __LegSlope;
 }
Esempio n. 21
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)
 {
     this.Depth           = __Depth;
     this.FlangeWidth     = __FlangeWidth;
     this.WebThickness    = __WebThickness;
     this.FlangeThickness = __FlangeThickness;
     this.FilletRadius    = __FilletRadius;
     this.EdgeRadius      = __EdgeRadius;
 }
Esempio n. 22
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)
 {
     this.OverallWidth     = __OverallWidth;
     this.OverallDepth     = __OverallDepth;
     this.WebThickness     = __WebThickness;
     this.FlangeThickness  = __FlangeThickness;
     this.FilletRadius     = __FilletRadius;
     this.FlangeEdgeRadius = __FlangeEdgeRadius;
     this.FlangeSlope      = __FlangeSlope;
 }
Esempio n. 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;
 }
 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;
 }
Esempio n. 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;
 }
Esempio n. 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;
            }
        }
Esempio n. 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()));
            }
        }
        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;
            }
        }
Esempio n. 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);
        }
Esempio n. 30
0
		protected IfcProfileDef(IfcProfileDef i) : base(i) { mProfileType = i.mProfileType; mProfileName = i.mProfileName; }
Esempio n. 31
0
 public IfcRectangleProfileDef(IfcProfileTypeEnum profileType, IfcLabel profileName, IfcAxis2Placement2D position, IfcPositiveLengthMeasure xDim, IfcPositiveLengthMeasure yDim) : base(profileType, profileName, position)
 {
     XDim = xDim;
     YDim = yDim;
 }
Esempio n. 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;
     }
 }