Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }