Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,CategoryName,Ordinal")] RiskCategory riskCategory)
        {
            if (id != riskCategory.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(riskCategory);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RiskCategoryExists(riskCategory.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(View(riskCategory));
        }
Esempio n. 2
0
 /// <summary>
 /// This function takes the building parameters to calculate different pressure coefficients applied in ASCE7-10 Specifications
 /// </summary>
 /// <param name="WindSpeed">Km/hr  (Wind Map, Figure 26.5-1A-C)</param>
 /// <param name="Bldg">(Table 1.5-1 Risk Category)</param>
 /// <param name="exp">Exposure Category(Sect. 26.7)</param>
 /// <param name="Hridge">Ridge Height</param>
 /// <param name="Heave">Eave Height</param>
 /// <param name="LBuilding">Building Length,Parallel to Building Ridge</param>
 /// <param name="WBuilding">Building Width, Normal to building ridge</param>
 /// <param name="roof">Roof Type</param>
 /// <param name="Kzt">Topographical Factor (Sect. 26.8 & Figure 26.8-1)</param>
 /// <param name="Kd">Direction Factor(Table 26.6)</param>
 /// <param name="isEnclosed">Is the building enclosed or not? according to (Sect. 26.2 & Table 26.11-1)</param>
 /// <param name="isHurricane">Is the building in Hurricane region or not</param>
 public static void LoadParameters(float WindSpeed, RiskCategory Bldg, ExposureCategory exp, float Hridge, float Heave,
                                   float LBuilding, float WBuilding, RoofType roof, float Kzt, float Kd, bool isEnclosed, bool isHurricane)
 {
     //Calculating theta
     //============================================
     CalculateRoofAngle(Hridge, Heave, WBuilding, roof);
     //============================================
     //Calculating mean roof
     //============================================
     CalculateMeanRoofHeight(Hridge, Heave);
     //============================================
     //Check low rise criteria
     //============================================
     IsLowRise(LBuilding, WBuilding);
     //============================================
     //Calculating +ve & -ve Internal pressure coef.
     //============================================
     CalculateInternalPressure(isEnclosed);
     //============================================
     //Calculating alpha,kH,zg,qh
     //============================================
     CalculateCoefficients(WindSpeed, exp, Kzt, Kd);
     //============================================
     //Wall and Roof End Zone Widths 'a'  and '2*a' (Fig. 28.4-1):
     //============================================
     CalculateEndZoneWidths(LBuilding, WBuilding);
     //============================================
     //calculating External Pressure Coeffients, GCpf (Fig. 28.4-1):
     //for load case A:
     CalculateExternalPressure();
     //============================================
     //MWFRS Wind Load for Load Case A & B, Calculating Net Pressures:
     CalculateNetPressure();
 }
Esempio n. 3
0
        public async Task <IActionResult> Create([Bind("Id,CategoryName,Ordinal")] RiskCategory riskCategory)
        {
            if (ModelState.IsValid)
            {
                _context.Add(riskCategory);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(riskCategory));
        }
Esempio n. 4
0
        public static bool GenerateFile(string File_Path, float DL, float CL, float LL, float Bay, float B_W, float B_L, float E_HT, float R_HT, RoofType Roof_Type, float WindSpeed, float TopoFactor,
                                        float DirectFator, RiskCategory RiskCategory,
                                        ExposureCategory ExposureCategory, bool IsEnclosed, bool IsHuricane)
        {
            double WL_1, WL_2, WL_3, WL_4, WL_1N, WL_2N, WL_3N, WL_4N, WL_1_B, WL_2_B, WL_1_BN, WL_2_BN;

            ASCE107Wind.LoadParameters(WindSpeed, RiskCategory, ExposureCategory, R_HT, E_HT, B_L, B_W, Roof_Type, TopoFactor, DirectFator, IsEnclosed, IsHuricane);
            //Check_1 = txt_Check_1.Text;
            //Check_2 = txt_Check_2.Text;
            ASCE107Wind.netPositivePressureA.TryGetValue("Wall Zone 1", out WL_1);
            ASCE107Wind.netPositivePressureA.TryGetValue("Roof Zone 2", out WL_2);
            ASCE107Wind.netPositivePressureA.TryGetValue("Roof Zone 3", out WL_3);
            ASCE107Wind.netPositivePressureA.TryGetValue("Wall Zone 4", out WL_4);

            ASCE107Wind.netNegativePressureA.TryGetValue("Wall Zone 1", out WL_1N);
            ASCE107Wind.netNegativePressureA.TryGetValue("Roof Zone 2", out WL_2N);
            ASCE107Wind.netNegativePressureA.TryGetValue("Roof Zone 3", out WL_3N);
            ASCE107Wind.netNegativePressureA.TryGetValue("Wall Zone 4", out WL_4N);

            ASCE107Wind.netPositivePressureB.TryGetValue("Roof Zone 2", out WL_1_B);
            ASCE107Wind.netPositivePressureB.TryGetValue("Wall Zone 5", out WL_2_B);

            ASCE107Wind.netNegativePressureB.TryGetValue("Roof Zone 2", out WL_1_BN);
            ASCE107Wind.netNegativePressureB.TryGetValue("Wall Zone 5", out WL_2_BN);

            if (IsLowRise(B_L, B_W))
            {
                StreamWriter Writer = new StreamWriter(File_Path.ToString());
                Writer.WriteLine("STAAD PLANE");
                Writer.WriteLine("INPUT WIDTH 79");
                Writer.WriteLine("UNIT METER KN");
                Writer.WriteLine("JOINT COORDINATES");
                Writer.WriteLine("1 0 0");
                Writer.WriteLine("2 0 " + E_HT);
                //Marks Edit
                if (Roof_Type == RoofType.Gable)
                {
                    Writer.WriteLine("3 " + B_W / 2 + " " + R_HT);
                    Writer.WriteLine("4 " + B_W + " " + E_HT);
                }
                else if (Roof_Type == RoofType.Monoslope)
                {
                    Writer.WriteLine("3 " + B_W / 2 + " " + (R_HT + E_HT) / 2);
                    Writer.WriteLine("4 " + B_W + " " + R_HT);
                }
                //   Writer.WriteLine("3 " + B_W/2 + " "  + R_HT);
                //   Writer.WriteLine("4" + B_W + " " + E_HT);
                Writer.WriteLine("5 " + B_W + " " + "0" + "\n");
                Writer.WriteLine("MEMBER INCIDENCES");
                Writer.WriteLine("1 2 1");
                Writer.WriteLine("2 2 3");
                Writer.WriteLine("3 4 3");
                Writer.WriteLine("4 4 5");
                Writer.WriteLine("DEFINE MATERIAL START");
                Writer.WriteLine("ISOTROPIC STEEL");
                Writer.WriteLine("E 205000000");
                Writer.WriteLine("Poisson 0.3");
                Writer.WriteLine("DENSITY 76.8195");
                Writer.WriteLine("ALPHA 0.000012");
                Writer.WriteLine("DAMP 0.03");
                Writer.WriteLine("END DEFINE MATERIAL");
                Writer.WriteLine("UNIT MMS KN");
                Writer.WriteLine("MEMBER PROPERTY AMERICAN");
                Writer.WriteLine("1 TAPERED 770 5 270 200 10 200 10");
                Writer.WriteLine("2 TAPERED 770 5 520 175 10 175 10");
                Writer.WriteLine("3 TAPERED 770 5 520 175 10 175 10");
                Writer.WriteLine("4 TAPERED 770 5 270 200 10 200 10");
                Writer.WriteLine("UNIT METER KN");
                Writer.WriteLine("CONSTANTS");
                Writer.WriteLine("MATERIAL STEEL ALL");
                Writer.WriteLine("SUPPORTS");
                Writer.WriteLine("1 5 " + "PINNED");
                Writer.WriteLine("LOAD 1 LOADTYPE None  TITLE DL");
                Writer.WriteLine("SELFWEIGHT Y -1");
                Writer.WriteLine("MEMBER Load");
                Writer.WriteLine("1 2 3 4 UNI GY " + (DL * Bay * (-1)));
                Writer.WriteLine("LOAD 2 LOADTYPE None  TITLE CL");
                Writer.WriteLine("MEMBER Load");
                Writer.WriteLine("2 3 UNI GY " + (CL * Bay * (-1)));
                Writer.WriteLine("LOAD 3 LOADTYPE None  TITLE LL");
                Writer.WriteLine("MEMBER Load");
                Writer.WriteLine("2 3 UNI GY " + (LL * Bay * (-1)));
                Writer.WriteLine("******** WIND LOAD CASES");
                Writer.WriteLine("LOAD 4 LOADTYPE None  TITLE WLB");
                Writer.WriteLine("MEMBER Load");
                if (WL_1 < 0)
                {
                    Writer.WriteLine("1 UNI GX " + (Math.Abs(WL_1) * Bay * (-1)));
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_1) * Bay);
                }
                if (WL_2 < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_2) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_2) * Bay * (-1));
                }
                if (WL_3 < 0)
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_3) * Bay);
                }
                else
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_3) * Bay * (-1));
                }
                if (WL_4 < 0)
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_4) * Bay);
                }
                else
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_4) * Bay * (-1));
                }
                Writer.WriteLine("LOAD 5 LOADTYPE None  TITLE WLU");
                Writer.WriteLine("MEMBER Load");
                if (WL_1N < 0)
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_1N) * Bay * (-1));
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_1N) * Bay);
                }
                if (WL_2N < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_2N) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_2N) * Bay * (-1));
                }
                if (WL_3N < 0)
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_3N) * Bay);
                }
                else
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_3N) * Bay * (-1));
                }
                if (WL_4N < 0)
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_4N) * Bay);
                }
                else
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_4N) * Bay * (-1));
                }
                Writer.WriteLine("LOAD 6 LOADTYPE None  TITLE WRB");
                Writer.WriteLine("MEMBER Load");
                if (WL_4 < 0)
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_4) * (-1) * Bay);
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_4) * Bay);
                }
                if (WL_3 < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_3) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_3) * Bay * (-1));
                }
                if (WL_2 < 0)
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_2) * Bay);
                }
                else
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_2) * Bay * (-1));
                }
                if (WL_1 < 0)
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_1) * Bay);
                }
                else
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_1) * Bay * (-1));
                }
                Writer.WriteLine("LOAD 7 LOADTYPE None  TITLE WRU");
                Writer.WriteLine("MEMBER Load");
                if (WL_4N < 0)
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_4N) * (-1) * Bay);
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_4N) * Bay);
                }
                if (WL_3N < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_3N) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_3N) * Bay * (-1));
                }
                if (WL_2N < 0)
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_2N) * Bay);
                }
                else
                {
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_2N) * Bay * (-1));
                }
                if (WL_1N < 0)
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_1N) * Bay);
                }
                else
                {
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_1N) * Bay * (-1));
                }
                Writer.WriteLine("MEMBER Load");
                Writer.WriteLine("LOAD 8 LOADTYPE None  TITLE WEB");
                Writer.WriteLine("MEMBER Load");
                if (WL_2_B < 0)
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_2_B) * (-1) * Bay);
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_2_B) * Bay);
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_2_B) * Bay);
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_2_B) * Bay * (-1));
                }
                if (WL_1_B < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_1_B) * Bay);
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_1_B) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_1_B) * Bay * (-1));
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_1_B) * Bay * (-1));
                }

                Writer.WriteLine("LOAD 9 LOADTYPE None  TITLE WEU");
                Writer.WriteLine("MEMBER Load");
                if (WL_2_BN < 0)
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_2_BN) * (-1) * Bay);
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_2_BN) * Bay);
                }
                else
                {
                    Writer.WriteLine("1 UNI GX " + Math.Abs(WL_2_BN) * Bay);
                    Writer.WriteLine("4 UNI GX " + Math.Abs(WL_2_BN) * Bay * (-1));
                }
                if (WL_1_BN < 0)
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_1_BN) * Bay);
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_1_BN) * Bay);
                }
                else
                {
                    Writer.WriteLine("2 UNI Y " + Math.Abs(WL_1_BN) * Bay * (-1));
                    Writer.WriteLine("3 UNI Y " + Math.Abs(WL_1_BN) * Bay * (-1));
                }
                Writer.WriteLine("LOAD COMB 1000 DL+LL");
                Writer.WriteLine("1 1.0 3 1.0");
                Writer.WriteLine("LOAD COMB 1001 DL+CL");
                Writer.WriteLine("1 1.0 2 1.0");
                Writer.WriteLine("LOAD COMB 1002 DL+CL+LL");
                Writer.WriteLine("1 1.0 2 1.0 3 1.0");
                Writer.WriteLine("LOAD COMB 1003 DL+WLB");
                Writer.WriteLine("1 1.0 4 1.0");
                Writer.WriteLine("LOAD COMB 1004 DL+WLU");
                Writer.WriteLine("1 1.0 5 1.0");
                Writer.WriteLine("LOAD COMB 1005 DL+WRB");
                Writer.WriteLine("1 1.0 6 1.0");
                Writer.WriteLine("LOAD COMB 1006 DL+WRU");
                Writer.WriteLine("1 1.0 7 1.0");
                Writer.WriteLine("LOAD COMB 1007 DL+WEB");
                Writer.WriteLine("1 1.0 8 1.0");
                Writer.WriteLine("LOAD COMB 1008 DL+WEU");
                Writer.WriteLine("1 1.0 9 1.0");
                Writer.WriteLine("LOAD COMB 1009 DL+CL+WLB");
                Writer.WriteLine("1 1.0 2 1.0 4 1.0");
                Writer.WriteLine("LOAD COMB 1010 DL+CL+WLU");
                Writer.WriteLine("1 1.0 2 1.0 5 1.0");
                Writer.WriteLine("LOAD COMB 1011 DL+CL+WRB");
                Writer.WriteLine("1 1.0 2 1.0 6 1.0");
                Writer.WriteLine("LOAD COMB 1012 DL+CL+WRU");
                Writer.WriteLine("1 1.0 2 1.0 7 1.0");
                Writer.WriteLine("LOAD COMB 1013 DL+CL+WEB");
                Writer.WriteLine("1 1.0 2 1.0 8 1.0");
                Writer.WriteLine("LOAD COMB 1014 DL+CL+WEU");
                Writer.WriteLine("1 1.0 2 1.0 9 1.0");
                Writer.WriteLine("PERFORM ANALYSIS PRINT ALL");
                Writer.WriteLine("LOAD LIST 1000 TO 1014");
                Writer.WriteLine("Parameter 1");
                Writer.WriteLine("CODE AISC UNIFIED 2005");
                Writer.WriteLine("Method ASD");
                Writer.WriteLine("FYLD 345000 ALL");
                Writer.WriteLine("BEAM 1 ALL");
                Writer.WriteLine("*TRACK 2 ALL");
                Writer.WriteLine("CB 0 ALL");
                Writer.WriteLine("****LZ,KZ");
                Writer.WriteLine("KZ 1.5 MEMB 1 4");
                Writer.WriteLine("LZ " + B_W + " MEMB 2 3");
                Writer.WriteLine("KY 1.0 MEMB 1 4");
                Writer.WriteLine("LY 1.5 MEMB 2 3");
                Writer.WriteLine("UNB " + E_HT + " MEMB 1 4");
                Writer.WriteLine("UNB 1.5 MEMB 2 3");
                Writer.WriteLine("UNT " + E_HT + " MEMB 1 4");
                Writer.WriteLine("UNT 1.5 MEMB 2 3");
                Writer.WriteLine("****************************** CHECK CODE AND WEIGHT");
                Writer.WriteLine("CHECK CODE ALL");
                Writer.WriteLine("UNIT METER KG");
                Writer.WriteLine("STEEL TAKE OFF ALL");
                Writer.WriteLine("FINISH");
                Writer.Close();
                return(true);
                //return MessageBox.Show("STAAD FILE IS GENERATED AND SAVED SUCCESSFULLY");
            }
            else
            {
                return(false);
                //return MessageBox.Show("Building is NOT Low Rise");
            }
        }