private void btn_mem_ana_Click(object sender, EventArgs e)
        {
            CableMember cbl = null;

            Results = new List <string>();

            Results.Clear();
            #region TechSOFT Banner
            Results.Add("");
            Results.Add("");
            Results.Add("\t\t**********************************************");
            Results.Add("\t\t*                 ASTRA Pro                  *");
            Results.Add("\t\t*        TechSOFT Engineering Services       *");
            Results.Add("\t\t*                                            *");
            Results.Add("\t\t*        DESIGN OF STAY CABLE MEMBERS        *");
            Results.Add("\t\t*                                            *");
            Results.Add("\t\t**********************************************");
            Results.Add("\t\t----------------------------------------------");
            Results.Add("\t\tTHIS RESULT CREATED ON " + System.DateTime.Now.ToString("dd.MM.yyyy  AT HH:mm:ss") + " ");
            Results.Add("\t\t----------------------------------------------");

            #endregion



            Read_Cable_Member();
            dgv_cable_design.Rows.Clear();
            for (int i = 0; i < Cable_Members.Count; i++)
            {
                cbl = Cable_Members[i];
                Design_Cables(ref cbl);
                Results.AddRange(cbl.DesignResult.ToArray());
                dgv_cable_design.Rows.Add(cbl.ToArray_Extradosed());
            }

            #region Table Report


            List <string> list = new List <string>();


            list.Add(string.Format(""));
            list.Add(string.Format(""));

            list.Add(string.Format(""));
            list.Add(string.Format(""));
            list.Add(string.Format("Length of Central Span  [L1] = 100.0 m"));
            list.Add(string.Format("Length of Side Span 1   [L2] = 65.0 m"));
            list.Add(string.Format("Length of Side Span 2   [L3] = 65.0 m"));
            list.Add(string.Format(""));
            list.Add(string.Format("Width Along Z-direction [B] = 9.75 m"));
            list.Add(string.Format(""));
            list.Add(string.Format("Width of Cantilever Slab [B1] = 1.975 m"));
            list.Add(string.Format(""));
            list.Add(string.Format("Height of Tower [H1] = 12.0 m"));
            list.Add(string.Format("Nos of Cables [NCAB] = 6 nos"));
            list.Add(string.Format(""));
            list.Add(string.Format("Initial Cable Distance from Tower [D1] = 13.5 m"));
            list.Add(string.Format("Horizontal Distance between Two Cables [D2] = 6.0 m"));
            list.Add(string.Format("Cable Circular Diameter [cd] = 0.15 m"));
            list.Add(string.Format(""));
            list.Add(string.Format("-------------------------------------------------------------------------------------------------------------------------------------------------"));
            list.Add(string.Format("User's    Start     End     Length    Calculated     Calculated      Tensile         Allowable       Remarks         Vertical      Horizontal "));
            list.Add(string.Format("Member    Joint    Joint                Force          Stress        Capacity     Tensile Capacity                  Deflection     Deflection"));
            list.Add(string.Format(" No         No       No                                              of Cable        of Cable                        at Deck       at Pylon Top"));
            list.Add(string.Format("                             (m)        (Ton)        (Ton/Sq.m)     (N/Sq.mm)        (N/Sq.mm)                         (m)            (m)"));
            list.Add(string.Format("-------------------------------------------------------------------------------------------------------------------------------------------------"));

            string frmt = "{0,7} {1,7} {2,7} {3,10} {4,12} {5,14} {6,14} {7,16} {8,12} {9,18} {10,15} ";
            for (int i = 0; i < dgv_cable_design.RowCount; i++)
            {
                list.Add(string.Format(frmt
                                       , dgv_cable_design[1, i].Value.ToString()
                                       , dgv_cable_design[2, i].Value.ToString()
                                       , dgv_cable_design[6, i].Value.ToString()
                                       , dgv_cable_design[10, i].Value.ToString()
                                       , dgv_cable_design[12, i].Value.ToString()
                                       , dgv_cable_design[13, i].Value.ToString()
                                       , dgv_cable_design[14, i].Value.ToString()
                                       , dgv_cable_design[15, i].Value.ToString()
                                       , dgv_cable_design[16, i].Value.ToString()
                                       , dgv_cable_design[19, i].Value.ToString()
                                       , dgv_cable_design[20, i].Value.ToString()
                                       ));
            }
            list.Add(string.Format("-------------------------------------------------------------------------------------------------------------------------------------------------"));
            list.Add(string.Format(""));
            list.Add(string.Format(""));
            list.Add(string.Format(""));


            Results.InsertRange(15, list.ToArray());


            #endregion Table Report

            Results.Add("\t\t----------------------------------------------");
            Results.Add("\t\tTHIS RESULT ENDED ON " + System.DateTime.Now.ToString("dd.MM.yyyy  AT HH:mm:ss") + " ");
            Results.Add("\t\t----------------------------------------------");

            File.WriteAllLines(Cable_Design_Report, Results.ToArray());
            Results.Clear();

            iApp.View_Result(Cable_Design_Report);
            //try
            //{
            Button_Enable_Disable();
        }
        public void Read_Cable_Member()
        {
            //Input_Data

            if (CS_Analysis == null)
            {
                return;
            }
            //Results.Clear();
            List <BridgeMemberAnalysis> lst_ana = new List <BridgeMemberAnalysis>();

            if (CS_Analysis.DeadLoad_Analysis != null)
            {
                lst_ana.Add(CS_Analysis.DeadLoad_Analysis);
            }

            if (CS_Analysis.All_LL_Analysis != null)
            {
                lst_ana.AddRange(CS_Analysis.All_LL_Analysis);
            }

            //if (CS_Analysis.TotalLoad_Analysis != null) lst_ana.Add(CS_Analysis.TotalLoad_Analysis);



            if (CS_Analysis.TotalLoad_Analysis == null)
            {
                CS_Analysis.TotalLoad_Analysis = lst_ana[0];
            }
            Bridge_Analysis = CS_Analysis.TotalLoad_Analysis;


            if (Bridge_Analysis.MemberAnalysis == null)
            {
                MessageBox.Show("Analysis not done.", "ASTRA", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            List <int> list_mem = null;

            string     kStr          = MyList.RemoveAllSpaces(txt_cbl_des_mem_nos.Text.Trim().ToUpper());
            List <int> non_cable_mem = new List <int>();

            if (kStr == "ALL")
            {
                kStr = "1 TO " + Bridge_Analysis.Analysis.Members.Count;
            }
            list_mem = MyList.Get_Array_Intiger(kStr);

            CableMember cbl = new CableMember(); dgv_cable_design.Rows.Clear();

            Cable_Members.Clear();
            foreach (var item in list_mem)
            {
                cbl = new CableMember();
                cbl.User_MemberNo = item;

                AnalysisData ana = (AnalysisData)Bridge_Analysis.MemberAnalysis[item];
                if (ana != null)
                {
                    cbl.ASTRA_MemberNo = ana.AstraMemberNo;
                }

                cbl.MemberDetails = Bridge_Analysis.Analysis.Members.GetMember(item);

                List <int> l_int = new List <int>();

                l_int.Add(cbl.StartJointNo);
                l_int.Add(cbl.EndJointNo);


                CMember mem = new CMember();

                mem.Group.MemberNos.Add(item);

                mem.Result = Bridge_Analysis.GetForce(ref mem);
                if (mem.MaxTensionForce != null)
                {
                    cbl.AnalysisForce = (mem.MaxTensionForce.Force == 0.0) ? mem.MaxCompForce : mem.MaxTensionForce;
                }
                if (mem.MaxStress != null)
                {
                    cbl.AnalysisStress = mem.MaxStress;
                }
                if (cbl.MemberDetails != null)
                {
                    if (cbl.InclinationAngle > 0 && cbl.InclinationAngle < 90)
                    {
                        Cable_Members.Add(cbl);
                        dgv_cable_design.Rows.Add(cbl.ToArray_Extradosed());
                    }
                    else
                    {
                        non_cable_mem.Add(item);
                    }
                }
            }
            if (kStr == "")
            {
                MessageBox.Show(this, "Please put member nos.", "ASTRA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                txt_cbl_des_mem_nos.Focus();
            }
            else if (non_cable_mem.Count != 0)
            {
                kStr = MyList.Get_Array_Text(non_cable_mem);


                //kStr = kStr.Replace(" ", ", ");
                MessageBox.Show(this, "Member No(s) : " + kStr + " are not Cable Member", "ASTRA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else if (dgv_cable_design.RowCount == 0)
            {
                MessageBox.Show(this, "Member No(s) : " + kStr + " are not Cable Member", "ASTRA", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }

            grb_members.Text = "Total " + dgv_cable_design.RowCount + " Members in the List.";
        }