private void Read_Analysis_Result(string AnalysisFile) { try { BridgeDesign = new BridgeMemberAnalysis(iApp, AnalysisFile); } catch (Exception ex) { } }
public bool OpenAnalysisFile(string file_name) { string analysis_file = file_name; if (File.Exists(analysis_file)) { btn_view_structure.Enabled = true; Input_File = (file_name); string rep_file = Path.Combine(user_path, "ANALYSIS_REP.TXT"); //if (File.Exists(rep_file)) //{ // Truss_Analysis = new SteelTrussMemberAnalysis(rep_file); //} //else this.Refresh(); iApp.ShowPleaseWait("Reading Result please wait....."); Truss_Analysis = new BridgeMemberAnalysis(iApp, analysis_file); txt_length.Text = Truss_Analysis.Analysis.Length.ToString(); txt_X.Text = "-" + txt_length.Text; txt_width.Text = Truss_Analysis.Analysis.Width.ToString(); txt_gd_np.Text = (Truss_Analysis.Analysis.NoOfPanels - 1).ToString("0"); txt_analysis_file.Visible = true; txt_analysis_file.Text = analysis_file; //if (File.Exists(kFile)) //{ // //Read_DL_SIDL(); // //Read_Live_Load(); //} iApp.ClosePleaseWait(); this.Refresh(); MessageBox.Show(this, "File opened successfully."); } string ll_txt = Path.Combine(user_path, "LL.txt"); Live_Load_List = LoadData.GetLiveLoads(ll_txt); if (Live_Load_List == null) { return(true); } cmb_load_type.Items.Clear(); return(true); }
private void btn_create_data_Click(object sender, EventArgs e) { using (SaveFileDialog ofd = new SaveFileDialog()) { ofd.Filter = "All Text Files(*.txt)|*.txt"; ofd.DefaultExt = ".txt"; if (ofd.ShowDialog() != DialogResult.Cancel) { Input_File = ofd.FileName; CreateData(); WriteData(Input_File); Write_Load_Data(); Truss_Analysis = new BridgeMemberAnalysis(iApp, Input_File); string ll_txt = Path.Combine(working_folder, "LL.txt"); Live_Load_List = LoadData.GetLiveLoads(ll_txt); if (Live_Load_List == null) { return; } cmb_load_type.Items.Clear(); for (int i = 0; i < Live_Load_List.Count; i++) { cmb_load_type.Items.Add(Live_Load_List[i].TypeNo + " : " + Live_Load_List[i].Code); } if (cmb_load_type.Items.Count > 0) { cmb_load_type.SelectedIndex = cmb_load_type.Items.Count - 1; //if (dgv_live_load.RowCount == 0) //Add_LiveLoad(); } } } Button_Enable_Disable(); }
public void Analysis_Abutment() { string ana_file = Path.Combine(Get_Project_Folder(), "Abutment_Analysis_Input.txt"); string kStr = ""; List <string> list = new List <string>(); int i = 0; list.Add("ASTRA FLOOR RCC T GIRDER BRIDGE DECK ANALYSIS"); list.Add("UNIT METER MTON"); list.Add("JOINT COORDINATES"); List <JointNode> Joints = new List <JointNode>(); List <Member> MemColls = new List <Member>(); double L = MyList.StringToDouble(txt_Ana_L.Text, 0.0); double og = MyList.StringToDouble(txt_Ana_og.Text, 0.0); double inc = (L - og * 2) / 4.0; double ws = 2.0 - og; JointNode jn = new JointNode(); jn.NodeNo = 1; jn.X = 0.0; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 2; jn.X = og + og; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 3; jn.X = og + ws; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 4; jn.X = og + inc; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 5; jn.X = og + 2 * inc; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 6; jn.X = og + 3 * inc; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 7; jn.X = L - (og + ws); Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 8; jn.X = og + 4 * inc; Joints.Add(jn); jn = new JointNode(); jn.NodeNo = 9; jn.X = L; Joints.Add(jn); Member mbr = new Member(); mbr.MemberNo = 1; mbr.StartNode = Joints[0]; mbr.EndNode = Joints[1]; MemColls.Add(mbr); for (i = 2; i < Joints.Count; i++) { mbr = new Member(); mbr.MemberNo = i; mbr.StartNode = Joints[i - 1]; mbr.EndNode = Joints[i]; MemColls.Add(mbr); } for (i = 0; i < Joints.Count; i++) { list.Add(Joints[i].ToString()); } list.Add("MEMBER INCIDENCES"); for (i = 0; i < MemColls.Count; i++) { list.Add(MemColls[i].ToString()); } list.Add("SECTION PROPERTIES"); ////list.Add("1 2 5 6 AX"); ////list.Add(string.Format("1 2 6 7 PRIS AX 0.036212 IX 0.00001 IY 0.000697 IZ 0.001", //list.Add(string.Format("1 2 7 8 PRIS AX {0} IX 0.00001 IY {1} IZ 0.001", // txt_smp_i_a_sup.Text, // txt_smp_i_Ix_sup.Text // )); //list.Add(string.Format("3 TO 6 PRIS AX {0} IX 0.00001 IY {1} IZ 0.001", // txt_smp_i_a_mid.Text, // txt_smp_i_ix_mid.Text // )); list.Add(string.Format("MATERIAL CONSTANT")); list.Add(string.Format("E 2.85E6 ALL")); list.Add(string.Format("DENSITY CONCRETE ALL")); list.Add(string.Format("POISSON CONCRETE ALL")); list.Add(string.Format("SUPPORT")); //list.Add(string.Format("2 6 PINNED")); list.Add(string.Format("2 8 FIXED BUT FX MZ")); //list.Add(string.Format("99 100 101 102 FIXED BUT FX MZ")); //list.Add(string.Format("LOAD 1 DEAD LOAD")); //list.Add(string.Format("MEMBER LOAD")); //list.Add(string.Format("1 2 7 8 UNI GY -{0:f4}", MyList.StringToDouble(txt_Ana_DL_supp.Text, 0.0)/10.0)); //list.Add(string.Format("3 TO 6 UNI GY -{0}", MyList.StringToDouble(txt_Ana_DL_mid.Text, 0.0)/10.0)); //list.Add(string.Format("LOAD 2 SIDL")); //list.Add(string.Format("MEMBER LOAD")); //list.Add(string.Format("1 TO 8 UNI GY -{0}", MyList.StringToDouble(txt_Ana_SIDL.Text, 0.0) / 10.0)); //list.Add(string.Format("LOAD 3 FPLL")); //list.Add(string.Format("MEMBER LOAD")); //list.Add(string.Format("1 TO 8 UNI GY -{0}", MyList.StringToDouble(txt_Ana_FPLL.Text, 0.0)/10.0)); //list.Add(string.Format("PRINT SUPPORT REACTIONS")); //list.Add(string.Format("PERFORM ANALYSIS")); //list.Add(string.Format("FINISH")); File.WriteAllLines(ana_file, list.ToArray()); MessageBox.Show("Input Data Created as " + ana_file, "ASTRA"); #region Process try { #region Process //int i = 0; ProcessCollection pcol = new ProcessCollection(); ProcessData pd = new ProcessData(); string flPath = ana_file; iapp.Progress_Works.Clear(); if (File.Exists(flPath)) { pd = new ProcessData(); pd.Process_File_Name = flPath; pd.Process_Text = "PROCESS ANALYSIS FOR " + Path.GetFileNameWithoutExtension(flPath).ToUpper(); pcol.Add(pd); iapp.Progress_Works.Add("Reading Analysis Data from " + Path.GetFileNameWithoutExtension(flPath).ToUpper() + " (ANALYSIS_REP.TXT)"); } i++; string ana_rep_file = Path.Combine(Path.GetDirectoryName(flPath), "ANALYSIS_REP"); if (iapp.Show_and_Run_Process_List(pcol)) { BridgeMemberAnalysis DeadLoad_Analysis = new BridgeMemberAnalysis(iapp, ana_rep_file); } #endregion Process } catch (Exception ex) { } #endregion Process }
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."; }