private void Select_Members() { dgv_columns.Rows.Clear(); chk_sele_all.Checked = true; List <MemberIncidence> list_mem = new List <MemberIncidence>(); List <int> list_mem1 = new List <int>(); List <List <int> > list_conts = new List <List <int> >(); for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.EndNode.X == item.StartNode.X && item.EndNode.Y != item.StartNode.Y && item.EndNode.Z == item.StartNode.Z) { list_mem.Add(item); } } bool flag = false; List <int> lst_jnt = new List <int>(); List <List <int> > all_jnt = new List <List <int> >(); MovingLoadAnalysis.frm_ProgressBar.ON("Reading Members......"); for (int i = 0; i < list_mem.Count; i++) { MovingLoadAnalysis.frm_ProgressBar.SetValue(i, list_mem.Count); flag = false; foreach (var item in list_conts) { if (item.Contains(list_mem[i].MemberNo)) { flag = true; break; } } if (!flag) { JointCoordinateCollection cont_jcc = new JointCoordinateCollection(); list_mem1 = Get_Continuous_Members(list_mem[i], ref cont_jcc); list_conts.Add(list_mem1); lst_jnt = new List <int>(); foreach (var item in cont_jcc) { lst_jnt.Add(item.NodeNo); } all_jnt.Add(lst_jnt); } } MovingLoadAnalysis.frm_ProgressBar.OFF(); MemberIncidence mi = null; double Pu = 0.0; double Mux = 0.0; double Muy = 0.0; for (int i = 0; i < list_conts.Count; i++) { var item = list_conts[i]; mi = AST_DOC.Members.Get_Member(item[0]); //Pu = StructureAnalysis.GetJoint_R1_Axial(all_jnt[i]); //Mux = StructureAnalysis.GetJoint_M2_Bending(all_jnt[i]); //Muy = StructureAnalysis.GetJoint_M3_Bending(all_jnt[i]); Pu = StructureAnalysis.GetJoint_R1_Axial(all_jnt[i]); //Mux = StructureAnalysis.GetJoint_M2_Bending(all_jnt[i]); Mux = StructureAnalysis.GetJoint_ShearForce(all_jnt[i]); Muy = StructureAnalysis.GetJoint_M3_Bending(all_jnt[i]); dgv_columns.Rows.Add(true, "C" + (i + 1), MyStrings.Get_Array_Text(item), col_design.Section_Name, col_design.h, Main_Bar_Dia, col_design.bar_nos, Tie_Bar_Dia, Pu, Mux, Muy, ""); } }
private void Select_Members() { double d = MyStrings.StringToDouble(cmb_flr_lvl.Text, 0.0); dgv_beams.Rows.Clear(); cmb_sele_all.Checked = true; //for (int i = 0; i < AST_DOC.Members.Count; i++) //{ // var item = AST_DOC.Members[i]; // if (item.EndNode.Y == d && item.StartNode.Y == d) // { // dgv_beams.Rows.Add(true, item.MemberNo, "", item.Property.YD, item.Property.ZD); // } //} List <MemberIncidence> list_mem = new List <MemberIncidence>(); List <int> list_mem1 = new List <int>(); List <List <int> > list_conts = new List <List <int> >(); for (int c = 0; c < cmb_flr_lvl.Items.Count; c++) { d = MyStrings.StringToDouble(cmb_flr_lvl.Items[c].ToString(), 0.0); for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.EndNode.Y == d && item.StartNode.Y == d) //if (item.EndNode.Y == item.StartNode.Y) { list_mem.Add(item); } } } bool flag = false; MovingLoadAnalysis.frm_ProgressBar.On = false; MovingLoadAnalysis.frm_ProgressBar.ON("Reading continuous Beam Nos........"); MemberIncidence mi = null; int count = 1; double last_Y = 0.0; double am1, am2, am3, am4, av1, av2, av3; am1 = am2 = am3 = am4 = av1 = av2 = av3 = 0.0; JointCoordinateCollection cont_jcc = new JointCoordinateCollection(); int cnt = 1; for (int i = 0; i < list_mem.Count; i++) { MovingLoadAnalysis.frm_ProgressBar.SetValue(i, list_mem.Count); flag = false; foreach (var item in list_conts) { if (item.Contains(list_mem[i].MemberNo)) { flag = true; break; } } if (!flag) { cont_jcc = new JointCoordinateCollection(); list_mem1 = Get_Continuous_Beams(list_mem[i], ref cont_jcc); list_conts.Add(list_mem1); #region var item = list_mem1; mi = AST_DOC.Members.Get_Member(item[0]); if (last_Y != mi.EndNode.Y) { count = 1; } beamDes.Get_All_Forces(cont_jcc, ref am1, ref am2, ref am3, ref am4, ref av1, ref av2, ref av3); dgv_beams.Rows.Add(cnt++, true, mi.EndNode.Y.ToString("f4"), "B" + (count++), MyStrings.Get_Array_Text(item), mi.Property.YD, mi.Property.ZD, d1, d2, d3, d4, //d5, d6, beamDes.Shear_Bar_dia, am1.ToString("f3"), am2.ToString("f3"), am3.ToString("f3"), am4.ToString("f3"), av1.ToString("f3"), av2.ToString("f3"), av3.ToString("f3"), ""); last_Y = mi.EndNode.Y; #endregion } } MovingLoadAnalysis.frm_ProgressBar.OFF(); //MemberIncidence mi = null; //int count = 1; //double last_Y = 0.0; //double am1, am2, am3, am4, av1, av2, av3; //am1 = am2 = am3 = am4 = av1 = av2 = av3 = 0.0; //for (int i = 0; i < list_conts.Count; i++) //{ // var item = list_conts[i]; // mi = AST_DOC.Members.Get_Member(item[0]); // if (last_Y != mi.EndNode.Y) // { // count = 1; // } // dgv_beams.Rows.Add(i+1, true, mi.EndNode.Y.ToString("f3"), "B" + (count++), // MyStrings.Get_Array_Text(item), // mi.Property.YD, mi.Property.ZD, // d1, d2, d3, d4, d5, d6, // beamDes.Shear_Bar_dia, // am1.ToString("f3"), // am2.ToString("f3"), // am3.ToString("f3"), // am4.ToString("f3"), // av1.ToString("f3"), // av2.ToString("f3"), // av3.ToString("f3"), // ""); // last_Y = mi.EndNode.Y; //} }
public List <int> Get_Continuous_Members(MemberIncidence b1, ref JointCoordinateCollection cont_jcc) { //JointCoordinateCollection cont_jcc = new JointCoordinateCollection(); MemberIncidenceCollection mbr_coll = new MemberIncidenceCollection(); if (b1 == null) { return(new List <int>()); } List <MemberIncidence> list = new List <MemberIncidence>(); JointCoordinateCollection jcc = new JointCoordinateCollection(); jcc.Add(b1.StartNode); jcc.Add(b1.EndNode); MemberIncidenceCollection mic1 = new MemberIncidenceCollection(); MemberIncidenceCollection mic2 = new MemberIncidenceCollection(); //MemberIncidenceCollection mic3 = new MemberIncidenceCollection(); MemberIncidenceCollection mic4 = new MemberIncidenceCollection(); foreach (var item in AST_DOC.Members) { if (item.EndNode.NodeNo == jcc[0].NodeNo || item.StartNode.NodeNo == jcc[0].NodeNo) { mic1.Add(item); } if (item.EndNode.NodeNo == jcc[1].NodeNo || item.StartNode.NodeNo == jcc[1].NodeNo) { mic2.Add(item); } } //if (jcc[0].NodeNo < jcc[1].NodeNo) //{ // if (!cont_jcc.Contains(jcc[1])) // { // cont_jcc.Add(jcc[1]); // } //} cont_jcc.Add(jcc[0]); cont_jcc.Add(jcc[1]); int flag = 0; mbr_coll.Add(b1); while (flag <= 1) { for (int i = 0; i < AST_DOC.Members.Count; i++) { foreach (var item in AST_DOC.Members) { if (b1.Direction == item.Direction) { if (item.StartNode.NodeNo == cont_jcc[cont_jcc.Count - 1].NodeNo) { if (!cont_jcc.Contains(item.EndNode)) { mbr_coll.Add(item); cont_jcc.Add(item.EndNode); i = 0; break; } } if (item.EndNode.NodeNo == cont_jcc[cont_jcc.Count - 1].NodeNo) { if (!cont_jcc.Contains(item.StartNode)) { mbr_coll.Add(item); cont_jcc.Add(item.StartNode); i = 0; break; } } } } } if (mbr_coll.Count == 1) { cont_jcc.Clear(); cont_jcc.Add(jcc[1]); cont_jcc.Add(jcc[0]); } else { break; } flag++; } List <int> mls = new List <int>(); foreach (var item in mbr_coll) { mls.Add(item.MemberNo); } return(mls); }
private void Select_Members() { double min_y = 999; for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.StartNode.Y < min_y) { min_y = item.StartNode.Y; } if (item.EndNode.Y < min_y) { min_y = item.EndNode.Y; } } dgv_columns.Rows.Clear(); chk_sele_all.Checked = true; List <MemberIncidence> list_mem = new List <MemberIncidence>(); List <int> list_mem1 = new List <int>(); List <List <int> > list_conts = new List <List <int> >(); for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.EndNode.X == item.StartNode.X && item.EndNode.Y != item.StartNode.Y && item.EndNode.Z == item.StartNode.Z) { if (item.EndNode.Y == min_y || item.StartNode.Y == min_y) { list_mem.Add(item); } } } bool flag = false; MemberIncidence mi = null; double P = 0.0; double Mx = 0.0; List <int> all_jnt = new List <int>(); for (int i = 0; i < list_mem.Count; i++) { var item = list_mem[i]; all_jnt.Clear(); //if (item.StartNode.Y < item.EndNode.Y) // all_jnt.Add(item.StartNode.NodeNo); //else // all_jnt.Add(item.EndNode.NodeNo); all_jnt.Add(item.EndNode.NodeNo); all_jnt.Add(item.StartNode.NodeNo); P = StructureAnalysis.GetJoint_R1_Axial(all_jnt); Mx = StructureAnalysis.GetJoint_MomentForce(all_jnt); mi = item; dgv_columns.Rows.Add((i + 1), true, "P" + (i + 1), item.MemberNo, Pile_Design.D.ToString("f3"), Pile_Design.LPC, Pile_Design.BPC, Pile_Design.DPC, Pile_Design.d1, Pile_Design.d2, Pile_Design.d3, (P / 10).ToString("f4"), (Mx / 10).ToString("f4"), ""); } }
public void Load_Floor_Levels() { if (DGV_Joints == null) { return; } BeamTable = new Hashtable(); AllColumn = new List <int>(); selected_beams = new List <int>(); selected_columns = new List <int>(); List <double> flvls = new List <double>(); double d = 0.0; //JointCoordinateCollection //MemberIncidenceCollection MemberIncidence mi = new MemberIncidence(); //MemberIncidenceCollection mic = new MemberIncidenceCollection(); JointCoordinate jc = new JointCoordinate(); //JointCoordinateCollection jcc = new JointCoordinateCollection(); List <int> selected_mems = MyStrings.Get_Array_Intiger(kStr); for (int i = 0; i < DGV_Joints.RowCount; i++) { jc = new JointCoordinate(); jc.NodeNo = MyStrings.StringToInt(DGV_Joints[0, i].Value.ToString(), 0); jc.X = MyStrings.StringToDouble(DGV_Joints[1, i].Value.ToString(), 0.0); jc.Y = MyStrings.StringToDouble(DGV_Joints[2, i].Value.ToString(), 0.0); jc.Z = MyStrings.StringToDouble(DGV_Joints[3, i].Value.ToString(), 0.0); jcc.Add(jc); } for (int i = 0; i < DGV_Members.RowCount; i++) { mi = new MemberIncidence(); mi.MemberNo = MyStrings.StringToInt(DGV_Members[0, i].Value.ToString(), 0); //jc.X = MyStrings.StringToDouble(DGV_Members[1, i].Value.ToString(), 0.0); mi.StartNode.NodeNo = MyStrings.StringToInt(DGV_Members[2, i].Value.ToString(), 0); mi.EndNode.NodeNo = MyStrings.StringToInt(DGV_Members[3, i].Value.ToString(), 0); mic.Add(mi); } mic.CopyJointCoordinates(jcc); foreach (var item in mic) { if (item.StartNode.Y == item.EndNode.Y) { if (selected_mems.Contains(item.MemberNo)) { selected_beams.Add(item.MemberNo); } d = item.StartNode.Y; if (!flvls.Contains(d)) { flvls.Add(d); //cmb_floor_levels.Items.Add(d.ToString("f3")); } } else if (item.StartNode.X == item.EndNode.X && item.StartNode.Z == item.EndNode.Z) { if (selected_mems.Contains(item.MemberNo)) { selected_columns.Add(item.MemberNo); } AllColumn.Add(item.MemberNo); } } flvls.Sort(); List <int> mems = new List <int>(); List <int> all_beams = new List <int>(); foreach (var lvl in flvls) { cmb_floor_levels.Items.Add(lvl.ToString("f3")); mems = new List <int>(); foreach (var item in mic) { if (item.StartNode.Y == item.EndNode.Y) { d = item.StartNode.Y; if (lvl == d) { mems.Add(item.MemberNo); } } } BeamTable.Add(lvl.ToString("f3"), mems); all_beams.AddRange(mems.ToArray()); } BeamTable.Add("all", all_beams); }
private void Select_Members() { double min_y = 999; for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.StartNode.Y < min_y) { min_y = item.StartNode.Y; } if (item.EndNode.Y < min_y) { min_y = item.EndNode.Y; } } dgv_columns.Rows.Clear(); chk_sele_all.Checked = true; List <MemberIncidence> list_mem = new List <MemberIncidence>(); List <int> list_mem1 = new List <int>(); List <List <int> > list_conts = new List <List <int> >(); for (int i = 0; i < AST_DOC.Members.Count; i++) { var item = AST_DOC.Members[i]; if (item.EndNode.X == item.StartNode.X && item.EndNode.Y != item.StartNode.Y && item.EndNode.Z == item.StartNode.Z) { if (item.EndNode.Y == min_y || item.StartNode.Y == min_y) { list_mem.Add(item); } } } bool flag = false; MemberIncidence mi = null; double P = 0.0; double Mx = 0.0; List <int> all_jnt = new List <int>(); for (int i = 0; i < list_mem.Count; i++) { var item = list_mem[i]; all_jnt.Clear(); all_jnt.Add(item.StartNode.NodeNo); all_jnt.Add(item.EndNode.NodeNo); P = StructureAnalysis.GetJoint_R1_Axial(all_jnt); //Mx = StructureAnalysis.GetJoint_M1_Torsion(all_jnt); Mx = StructureAnalysis.GetJoint_MomentForce(all_jnt); mi = item; dgv_columns.Rows.Add((i + 1), true, "F" + (i + 1), item.MemberNo, mi.Property.YD, mi.Property.ZD, Foot_Des.l, Foot_Des.b, Foot_Des.P1, Foot_Des.P2, Foot_Des.ph, Foot_Des.bar_dia, P, Mx, ""); } }
public void Draw_Members() { //Clear_All(); ASTRADoc astdoc; //astdoc = new ASTRADoc(ACad.AstraDocument); astdoc = (iACad.AstraDocument); astdoc.Members.Clear(); for (int i = 0; i < DGV.Rows.Count; i++) { MemberIncidence mbr = new MemberIncidence(); DGV[0, i].Value = i + 1; mbr.MemberNo = MyStrings.StringToInt(DGV[0, i].Value.ToString(), 0); if (DGV[1, i].Value.ToString().StartsWith("C")) { mbr.MemberType = MembType.CABLE; } else if (DGV[1, i].Value.ToString().StartsWith("T")) { mbr.MemberType = MembType.TRUSS; } else { mbr.MemberType = MembType.BEAM; } mbr.StartNode.NodeNo = MyStrings.StringToInt(DGV[2, i].Value.ToString(), 0); mbr.EndNode.NodeNo = MyStrings.StringToInt(DGV[3, i].Value.ToString(), 0); astdoc.Members.Add(mbr); } foreach (var item in iACad.Document.ActionLayout.Entities) { if (item is vdFigure) { vdFigure vf = item as vdFigure; if (vf.Layer.Name == "Members") { vf.Deleted = true; } } } iACad.Document.Redraw(true); astdoc.Members.CopyJointCoordinates(astdoc.Joints); astdoc.MemberProperties.CopyMemberIncidence(astdoc.Members); astdoc.Members.DrawMember(iACad.Document, 0.3); }
void Get_Slabs(MemberIncidenceCollection mic) { List <int> slab_mbrs = new List <int>(); MemberIncidence mi = mic[0]; JointCoordinate jc1, jc2; jc1 = mi.StartNode; jc2 = mi.EndNode; MemberIncidenceCollection mc2 = new MemberIncidenceCollection(); for (int i = 1; i < mic.Count; i++) { var item = mic[i]; if (item.StartNode == jc1 || item.EndNode == jc1) { mc2.Add(item); } if (item.StartNode == jc2 || item.EndNode == jc2) { mc2.Add(item); } } for (int i = 0; i < mc2.Count; i++) { var item = mc2[i]; if (item.Direction == mi.Direction) { mc2.RemoveAt(i); i = 0; } } List <int> jnts = new List <int>(); for (int i = 0; i < mc2.Count; i++) { var item = mc2[i]; if (!jnts.Contains(item.StartNode.NodeNo)) { jnts.Add(item.StartNode.NodeNo); } if (!jnts.Contains(item.EndNode.NodeNo)) { jnts.Add(item.EndNode.NodeNo); } } jnts.Remove(jc1.NodeNo); jnts.Remove(jc2.NodeNo); MemberIncidence mc4 = new MemberIncidence(); for (int i = 1; i < mic.Count; i++) { var item = mic[i]; if (item.StartNode.NodeNo == jnts[0] && item.EndNode.NodeNo == jnts[1]) { mc4 = item; break; } else if (item.EndNode.NodeNo == jnts[0] && item.StartNode.NodeNo == jnts[1]) { mc4 = item; break; } } jnts.Remove(jc1.NodeNo); jnts.Remove(jc2.NodeNo); }