예제 #1
0
        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, "");
            }
        }
예제 #2
0
        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, "");
            }
        }