public HndzFrameSingleBay3D(string name, string description, /*float ridgeHeight,*/ double length, double baySpacing, double purlinSpacing,
                                    HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                                    HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor,
                                    ICollection <HndzFrameSingleBay2D> frames2D, ICollection <HndzPurlinStandrdCase> purlins,
                                    ICollection <HndzGuirt> girts, HndzStorey storey = null) : base(name, description, location, roofSlope, roofAccessibiity,
                                                                                                    buildingEnclosing, importanceFactor, length, baySpacing, purlinSpacing, 0, 0, storey)
        {
            Type     = HndzFrameTypeEnum.ClearSpan;
            Frames2D = frames2D;
            Purlins  = purlins;
            Girts    = girts;
            if (Frames2D != null)
            {
                HndzFrameSingleBay2D anyFrame = Frames2D.ToArray()[0];

                Point3d lowerLeft = anyFrame.LeftColumn.ExtrusionLine.baseNode.Point;
                //Point3d upperLeft = anyFrame.LeftColumn.ExtrusionLine.EndNode.Point;

                Point3d lowerRight = anyFrame.RightColumn.ExtrusionLine.baseNode.Point;
                //Point3d upperRight = anyFrame.RightColumn.ExtrusionLine.EndNode.Point;

                EaveHeight = anyFrame.RightColumn.ExtrusionLine.RhinoLine.Length;
                Width      = new Line(lowerLeft, lowerRight).Length;
            }
        }
Esempio n. 2
0
 public HndzFloor(Double thickness, HndzProfile profile, HndzStorey storey = null, Double baseOffset = 0) :
     this(null, profile, storey, baseOffset)
 {
     FloorThickness = thickness;
     ExtrusionLine  = new HndzLine(new Point3d(profile.Centroid.X, profile.Centroid.Y, storey.Elevation - FloorThickness + baseOffset),
                                   new Point3d(profile.Centroid.X, profile.Centroid.Y, storey.Elevation + baseOffset));
 }
Esempio n. 3
0
 public HndzCurtainWallStandardCase(HndzStorey storey, Double baseOffset = 0, Line baseLine        = default(Line),
                                    Double unconnectedHeight             = 0, Double wallThickness = 0, ICollection <HndzWallOpening> wallOpenings = null) :
     this(HndzResources.DefaultName, HndzResources.DefaultDescription,
          storey, baseOffset, baseLine, unconnectedHeight,
          wallThickness, wallOpenings)
 {
 }
Esempio n. 4
0
 public HndzWallArc(String name, String description, HndzStorey storey, Double baseOffset = 0,
                    Arc baseArc = default(Arc), Double unconnectedHeight = 0, Double wallThickness = 0,
                    ICollection <HndzWallOpening> wallOpenings = null) :
     base(name, description, unconnectedHeight, wallThickness, storey, baseOffset, wallOpenings)
 {
     BaseArc = baseArc;
 }
 public HndzBuildingElement(string name, string description, HndzStorey storey = null, Double baseOffset = 0,
                            HndzProductDiscipline discipline = HndzProductDiscipline.None) :
     base(name, description, storey)
 {
     Discipline = discipline;
     BaseOffset = baseOffset;
     //AddToAssociatedStorey();
 }
Esempio n. 6
0
 public HndzStairLanding(Double thickness, HndzProfile profile, HndzStorey storey, Double finishFloorThickness, Double baseOffset = 0) :
     this(null, profile, storey, baseOffset)
 {
     SlabThickness = thickness;
     ExtrusionLine = new HndzLine(new Point3d(profile.Centroid.X, profile.Centroid.Y, storey.Elevation -
                                              SlabThickness - finishFloorThickness + baseOffset),
                                  new Point3d(profile.Centroid.X, profile.Centroid.Y, storey.Elevation - finishFloorThickness + baseOffset));
 }
 public HndzFrameSingleBay3D(double length, double baySpacing, double purlinSpacing,
                             HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                             HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor,
                             ICollection <HndzFrameSingleBay2D> frames2D, ICollection <HndzPurlinStandrdCase> purlins,
                             ICollection <HndzGuirt> girts, HndzStorey storey = null) : this(HndzResources.DefaultName, HndzResources.DefaultDescription, length,
                                                                                             baySpacing, purlinSpacing, location, roofSlope, roofAccessibiity,
                                                                                             buildingEnclosing, importanceFactor, frames2D, purlins, girts, storey)
 {
 }
Esempio n. 8
0
 public HndzStairFlight(string name, string description, HndzStorey baseStorey, int numberOfRisers,
                        int numberOfTreads, double riserHeight, double treadLength, HndzProfile profile)
     : base(name, description, baseStorey)
 {
     Profile        = profile;
     NumberOfRisers = numberOfRisers;
     NumberOfTreads = numberOfTreads;
     RiserHeight    = riserHeight;
     TreadLength    = treadLength;
 }
Esempio n. 9
0
        public HndzCurtainWallStandardCase(String name, String description, HndzStorey storey, Double baseOffset = 0,
                                           Line baseLine = default(Line), Double unconnectedHeight = 0, Double wallThickness = 0, ICollection <HndzWallOpening> wallOpenings = null) :
            base(name, description, unconnectedHeight, wallThickness, storey, baseOffset, wallOpenings)
        {
            BaseLine = baseLine;
            Point3d StartPoint = new Point3d(BaseLine.PointAt(.5).X, BaseLine.PointAt(.5).Y, BaseOffset);
            Point3d EndPoint   = new Point3d(StartPoint.X, StartPoint.Y, unconnectedHeight + BaseOffset);

            ExtrusionLine = new HndzLine(new Line(StartPoint, EndPoint));
        }
Esempio n. 10
0
 protected HndzWall(string name, string description, HndzLine extrusionLine, Double wallThickness,
                    HndzStorey storey = null, double baseOffset = 0, ICollection <HndzWallOpening> wallOpenings = null) :
     base(name, description, extrusionLine, storey, baseOffset)
 {
     if (ExtrusionLine != null)
     {
         UnconnectedHeight = ExtrusionLine.RhinoLine.Length;
     }
     WallThickness = wallThickness;
 }
Esempio n. 11
0
        public HndzCurtainWallArc(String name, String description, HndzStorey storey, Double baseOffset = 0,
                                  Arc baseArc = default(Arc), Double unconnectedHeight = 0, Double wallThickness = 0,
                                  ICollection <HndzWallOpening> wallOpenings = null) :
            base(name, description, unconnectedHeight, wallThickness, storey, baseOffset, wallOpenings)
        {
            //TODO: MS: convert this into hndzProfile
            BaseArc = baseArc;
            Point3d mid = GetPointOnArc(BaseArc, .5);

            Point3d StartPoint = new Point3d(mid.X, mid.Y, BaseOffset);
            Point3d EndPoint   = new Point3d(mid.X, mid.Y, unconnectedHeight + BaseOffset);

            //Point3d StartPoint = new Point3d(BaseArc.MidPoint.X, BaseArc.MidPoint.Y, BaseOffset);
            //Point3d EndPoint = new Point3d(StartPoint.X, StartPoint.Y, unconnectedHeight + BaseOffset);
            ExtrusionLine = new HndzLine(new Line(StartPoint, EndPoint));
        }
Esempio n. 12
0
        public HndzWallStandardCase(String name, String description, HndzStorey storey, Double baseOffset = 0,
                                    Line baseLine = default(Line), Double unconnectedHeight = 0, Double wallThickness = 0, ICollection <HndzWallOpening> wallOpenings = null) :
            base(name, description, unconnectedHeight, wallThickness, storey, baseOffset, wallOpenings)
        {
            BaseLine = baseLine;
            //MS:
            //Step1: Create HndzProfile
            var myWallRec         = new Rectangle3d(Plane.WorldXY, wallThickness, BaseLine.Length);
            var orientationVector = new Vector2d(BaseLine.UnitTangent.X, BaseLine.UnitTangent.Y);
            var myHndzProfile     = new HndzRectangularProfile(myWallRec, orientationVector);

            Profile = myHndzProfile;

            //Step2: Create Extrusion Line
            Point3d StartPoint = new Point3d(BaseLine.PointAt(.5).X, BaseLine.PointAt(.5).Y, BaseOffset + storey.Elevation);
            Point3d EndPoint   = new Point3d(StartPoint.X, StartPoint.Y, unconnectedHeight + BaseOffset + storey.Elevation);

            ExtrusionLine = new HndzLine(new Line(StartPoint, EndPoint));
        }
Esempio n. 13
0
 public HndzFrameMultiSpan13D(double length, double baySpacing, double width, double eaveHeight, int v, HndzLocationEnum selectedIndex1, HndzRoofSlopeEnum selectedIndex2, HndzRoofAccessibilityEnum selectedIndex3, HndzBuildingEnclosingEnum partiallyEnclosed, HndzImportanceFactorEnum iI, object p1, object p2, object p3, object p4, object p5, HndzStorey storey)
 {
     Length                 = length;
     this.baySpacing        = baySpacing;
     Width                  = width;
     EaveHeight             = eaveHeight;
     this.v                 = v;
     this.selectedIndex1    = selectedIndex1;
     this.selectedIndex2    = selectedIndex2;
     this.selectedIndex3    = selectedIndex3;
     this.partiallyEnclosed = partiallyEnclosed;
     this.iI                = iI;
     this.p1                = p1;
     this.p2                = p2;
     this.p3                = p3;
     this.p4                = p4;
     this.p5                = p5;
     this.storey            = storey;
 }
Esempio n. 14
0
 protected HndzPurlin(String name, String description, HndzLine extrusionLine, HndzProfile profile, HndzStorey storey = null,
                      double baseOffset = 0, Vector3d direction = default(Vector3d)) :
     base(name, description, extrusionLine, profile, storey, baseOffset)
 {
 }
Esempio n. 15
0
 public HndzCurtainWallArc(HndzStorey storey, Double baseOffset = 0,
                           Arc baseArc = default(Arc), Double unconnectedHeight = 0, Double wallThickness = 0,
                           ICollection <HndzWallOpening> wallOpenings = null) :
     this(HndzResources.DefaultName, HndzResources.DefaultDescription, storey, baseOffset, baseArc, unconnectedHeight, wallThickness, wallOpenings)
 {
 }
Esempio n. 16
0
 public HndzFloor(HndzLine extrusionLine, HndzProfile profile, HndzStorey storey = null, Double baseOffset = 0) :
     this(HndzResources.DefaultName, HndzResources.DefaultDescription, profile, extrusionLine, storey, baseOffset)
 {
 }
Esempio n. 17
0
 public HndzFrameMonoSlope2D(string name, string description, HndzColumn rightColumn, HndzBeam beam, HndzSupport rightSupport, HndzColumn leftColumn, HndzSupport leftSupport, HndzStorey storey = null) : base(name, description, storey)
 {
     RightColumn  = rightColumn;
     Beam         = beam;
     RightSupport = rightSupport;
     LeftColumn   = leftColumn;
     LeftSupport  = leftSupport;
 }
Esempio n. 18
0
 public HndzFrameSingleBay3D(double length, double baySpacing, double width, double eaveHeight, double purlinSpacing,
                             HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                             HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor,
                             SectionI columnsStartSection = null, SectionI columnsEndSection    = null, SectionI beamsStartSection = null,
                             SectionI beamsEndSection     = null, SectionChannel purlinsSection = null, HndzStorey storey          = null) :
     this(HndzResources.DefaultName, HndzResources.DefaultDescription, length, baySpacing, width, eaveHeight,
          purlinSpacing, location, roofSlope, roofAccessibiity, buildingEnclosing, importanceFactor,
          columnsStartSection, columnsEndSection, beamsStartSection, beamsEndSection, purlinsSection, storey)
 {
 }
Esempio n. 19
0
 public HndzFloor(String name, String description, HndzProfile profile, HndzLine extrusionLine, HndzStorey storey = null, Double baseOffset = 0) :
     base(name, description, extrusionLine, storey, baseOffset)
 {
     Profile = profile;
 }
Esempio n. 20
0
 public HndzStraightStairFlight(string name, string description, HndzStorey baseStorey, double width, double length,
                                Point3d origin, int numberOfRisers, int numberOfTreads, double riserHeight, double treadLength)
     : base(name, description, baseStorey, numberOfRisers, numberOfTreads, riserHeight, treadLength,
            new HndzRectangularProfile(new Rectangle3d(new Plane(origin, Vector3d.ZAxis), width, length)))
 {
 }
Esempio n. 21
0
 public HndzFrameSingleBay3D(string name, string description, double length,
                             double baySpacing, double width, double eaveHeight, double purlinSpacing,
                             HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                             HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor,
                             SectionI columnsStartSection = null, SectionI columnsEndSection    = null, SectionI beamsStartSection = null,
                             SectionI beamsEndSection     = null, SectionChannel purlinsSection = null, HndzStorey storey          = null) :
     base(name, description, location, roofSlope, roofAccessibiity, buildingEnclosing, importanceFactor, length,
          baySpacing, purlinSpacing, width, eaveHeight, storey)
 {
     AssemblePEB(columnsStartSection, columnsEndSection, beamsStartSection, beamsEndSection, purlinsSection);
 }
Esempio n. 22
0
 }                                     // ana msh m7tagha
 #endregion
 #region Constructors
 protected HndzColumn(String name, String description, HndzLine extrusionLine, HndzProfile profile, HndzStorey storey = null, Double baseOffset = 0,
                      HndzProductDiscipline discipline = HndzProductDiscipline.Structural) :
     base(name, description, extrusionLine, profile, storey, baseOffset)
 {
     UnconnectedHeight = extrusionLine.RhinoLine.Length;
 }
Esempio n. 23
0
 protected HndzFrame2D(string name, string description, HndzStorey storey = null,
                       double baseOffset = 0) :
     base(name, description, storey /*, baseOffset,HndzProductDiscipline.Structural*/)
 {
 }
Esempio n. 24
0
 protected HndzBeam(String name, String description, HndzLine extrusionLine, HndzProfile profile, HndzStorey storey = null, double baseOffset = 0) :
     base(name, description, extrusionLine, profile, storey, baseOffset)
 {
 }
Esempio n. 25
0
        private HndzFrameMonoSlope3D(string name, string description, double length,
                                     double baySpacing, double width, double eaveHeight, double purlinSpacing,
                                     HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                                     HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor,
                                     SectionI columnsStartSection = null, SectionI columnsEndSection    = null, SectionI beamsStartSection = null,
                                     SectionI beamsEndSection     = null, SectionChannel purlinsSection = null, HndzStorey storey          = null) :
            base(name, description, location, roofSlope, roofAccessibiity, buildingEnclosing, importanceFactor, length,
                 baySpacing, purlinSpacing, width, eaveHeight, storey)
        {
            switch (RoofSlope)
            {
            case HndzRoofSlopeEnum.From1To5:
                RidgeHeight = EaveHeight + 0.2 * Width;
                break;

            case HndzRoofSlopeEnum.From1To10:
                RidgeHeight = EaveHeight + 0.1 * Width;
                break;

            case HndzRoofSlopeEnum.From1To20:
                RidgeHeight = EaveHeight + 0.05 * Width;
                break;
            }
            AssemblePEB(columnsStartSection, columnsEndSection, beamsStartSection, beamsEndSection, purlinsSection);
            //throw new NotImplementedException("sorry,this will be fixed in the next version");
        }
Esempio n. 26
0
 /// <summary>
 /// main constructor
 /// </summary>
 /// <param name="profile">constant profile along column extrude direction</param>
 /// <param name="name">name for the column</param>
 /// <param name="description">description for the column</param>
 /// <param name="height">column actual height(in Z-direction)</param>
 /// <param name="storey">storey which contains the column base elevation</param>
 /// <param name="topLevel">storey which intersects with column top elevation</param>
 /// <param name="baseOffset">offset from base</param>
 /// <param name="topOffset">offset from top</param>
 public HndzBracingStandrdCase(string name, string description, HndzProfile profile, HndzLine extrusionLine, HndzStorey storey = null,
                               double baseOffset = 0) :
     base(name, description, extrusionLine, profile, storey, baseOffset)
 {
     Profile = profile;
 }
Esempio n. 27
0
 /// <summary>
 /// our default constructor
 /// </summary>
 /// <param name="profile">constant profile along column extrude direction</param>
 /// <param name="height">column actual height(in Z-direction)</param>
 /// <param name="storey">storey which contains the column base elevation</param>
 /// <param name="topLevel">storey which intersects with column top elevation</param>
 /// <param name="baseOffset">offset from base</param>
 /// <param name="topOffset">offset from top</param>
 public HndzBracingStandrdCase(HndzProfile profile, HndzLine extrusionLine, HndzStorey storey = null, HndzStorey topLevel = null,
                               double baseOffset = 0, double topOffset = 0) :
     this(HndzResources.DefaultName, HndzResources.DefaultDescription, profile, extrusionLine, storey, baseOffset)
 {
 }
Esempio n. 28
0
 protected HndzFrame2D(string name, string description, HndzStorey storey = null) :
     base(name, description, storey)
 {
 }
Esempio n. 29
0
 protected HndzWall(string name, string description, Double unconnectedHeight, Double wallThickness,
                    HndzStorey storey = null, double baseOffset = 0, ICollection <HndzWallOpening> wallOpenings = null) :
     this(name, description, new HndzLine(new Line(new Point3d(), new Vector3d(0, 0, unconnectedHeight))),
          wallThickness, storey, baseOffset)
 {
 }
Esempio n. 30
0
 public HndzFrameMultiGable2D(string name, string description, HndzColumn rightColumn, HndzSupport rightSupport, HndzColumn middleColumn, HndzColumn leftColumn, HndzSupport leftSupport, HndzBeam leftBeamLeft,
                              HndzBeam rightBeamLeft, HndzBeam leftBeamRight, HndzBeam rightBeamRight, HndzStorey storey = null) : base(name, description, storey)
 {
     RightColumn    = rightColumn;
     RightSupport   = rightSupport;
     MiddleColumn   = middleColumn;
     LeftColumn     = leftColumn;
     LeftSupport    = leftSupport;
     LeftBeamLeft   = leftBeamLeft;
     RightBeamLeft  = rightBeamLeft;
     LeftBeamRight  = leftBeamRight;
     RightBeamRight = rightBeamRight;
 }