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;
            }
        }
Beispiel #2
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");
        }
Beispiel #3
0
        protected HndzFrame3D(string name, string description,  /*float ridgeHeight,*/
                              HndzLocationEnum location, HndzRoofSlopeEnum roofSlope, HndzRoofAccessibilityEnum roofAccessibiity,
                              HndzBuildingEnclosingEnum buildingEnclosing, HndzImportanceFactorEnum importanceFactor, double length, double baySpacing, double purlinSpacing, double width = 0, double eaveHeight = 0, HndzStorey storey = null, HndzStorey topLevel = null) :
            base(name, description, storey)
        {
            Width             = width;
            EaveHeight        = eaveHeight;
            Location          = location;
            RoofSlope         = roofSlope;
            RoofAccessibility = roofAccessibiity;
            BuildingEnclosing = buildingEnclosing;
            ImportanceFactor  = importanceFactor;
            Length            = length;
            BaySpacing        = baySpacing;
            PurlinSpacing     = purlinSpacing;
            //FramesCount = (int)(Length / BaySpacing) + 1;
            switch (RoofSlope)
            {
            case HndzRoofSlopeEnum.From1To5:
                RidgeHeight = eaveHeight + 0.2 * Width * 0.5;
                break;

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

            case HndzRoofSlopeEnum.From1To20:
                RidgeHeight = eaveHeight + 0.05 * Width * 0.5;
                break;
            }
        }
 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)
 {
 }
 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)
 {
 }
 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);
 }
Beispiel #7
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;
 }