public void Draw_Joints() { //Clear_All(); ASTRADoc astdoc; //astdoc = new ASTRADoc(iACad.AstraDocument); astdoc = (iACad.AstraDocument); astdoc.Joints.Clear(); for (int i = 0; i < DGV.Rows.Count; i++) { JointCoordinate jn = new JointCoordinate(); DGV[0, i].Value = i + 1; //jn.NodeNo = MyList.StringToInt(DGV[0, i].Value.ToString(), 0); jn.NodeNo = MyStrings.StringToInt(DGV[0, i].Value.ToString(), 0); jn.Point.x = MyStrings.StringToDouble(DGV[1, i].Value.ToString(), 0.0); jn.Point.y = MyStrings.StringToDouble(DGV[2, i].Value.ToString(), 0.0); jn.Point.z = MyStrings.StringToDouble(DGV[3, i].Value.ToString(), 0.0); astdoc.Joints.Add(jn); } //iACad.Document.ActiveLayOut.Entities.EraseAll(); foreach (var item in iACad.Document.ActionLayout.Entities) { if (item is vdFigure) { vdFigure vf = item as vdFigure; if (vf.Layer.Name == "Nodes") { vf.Deleted = true; } } } iACad.Document.Redraw(true); astdoc.Joints.DrawJointsText(iACad.Document, 0.3); //iACad.AstraDocument = astdoc; //AST_DOC.Members.DrawMember(VDoc); //AST_DOC.Elements.DrawElements(VDoc); //AST_DOC.Supports.DrawSupport(VDoc); }
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); }