예제 #1
0
        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;


                    var lst_jnt = new List <int>();
                    mi = AST_DOC.Members.Get_Member(item[0]);


                    foreach (var mbr in list_mem1)
                    {
                        mi = AST_DOC.Members.Get_Member(mbr);

                        if (!lst_jnt.Contains(mi.EndNode.NodeNo))
                        {
                            lst_jnt.Add(mi.EndNode.NodeNo);
                        }
                        if (!lst_jnt.Contains(mi.StartNode.NodeNo))
                        {
                            lst_jnt.Add(mi.StartNode.NodeNo);
                        }
                    }

                    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);


                    am1 = StructureAnalysis.GetJoint_MomentForce(lst_jnt);
                    am2 = StructureAnalysis.GetJoint_ShearForce(lst_jnt);
                    dgv_beams.Rows.Add(cnt++, true, mi.EndNode.Y.ToString("f4"), "B" + (count++),
                                       MyStrings.Get_Array_Text(item),
                                       //mi.Property.YD, mi.Property.ZD,
                                       beamDes.sectionName,

                                       beamDes.h,
                                       am1, am2,

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