private void frmTBeamAnalysis_Load(object sender, EventArgs e)
        {
            Joints   = new JointNodeCollection();
            MemColls = new MemberCollection();
            Button_Enable_Disable();

            dgv_live_load.Rows.Add("TYPE 1 : IRCCLASSA", -18.8, 0, 2.75, 0.2);
            dgv_live_load.Rows.Add("TYPE 1 : IRCCLASSA", -18.8, 0, 6.25, 0.2);
            dgv_live_load.Rows.Add("TYPE 1 : IRCCLASSA", -18.8, 0, 9.75, 0.2);
        }
Exemple #2
0
        void Show_Moment_Shear()
        {
            MemberCollection mc = new MemberCollection(BridgeDesign.Analysis.Members);

            CMember mem = null;

            mem = new CMember();
            string kStr = "";


            MemberCollection sort_membs = new MemberCollection();

            JointNodeCollection jn_col = BridgeDesign.Analysis.Joints;

            double L       = BridgeDesign.Analysis.Length;
            double W       = BridgeDesign.Analysis.Width;
            double d_eff   = BridgeDesign.Analysis.Effective_Depth;
            double support = BridgeDesign.Analysis.Support_Distance;


            int i = 0;

            List <int> _Support_inn_joints = new List <int>();
            List <int> _deff_inn_joints    = new List <int>();
            List <int> _L8_inn_joints      = new List <int>();
            List <int> _L4_inn_joints      = new List <int>();
            List <int> _3L8_inn_joints     = new List <int>();
            List <int> _L2_inn_joints      = new List <int>();



            List <int> _Support_out_joints = new List <int>();
            List <int> _deff_out_joints    = new List <int>();
            List <int> _L8_out_joints      = new List <int>();
            List <int> _L4_out_joints      = new List <int>();
            List <int> _3L8_out_joints     = new List <int>();



            List <double> _X_joints = new List <double>();
            List <double> _Z_joints = new List <double>();

            for (i = 0; i < jn_col.Count; i++)
            {
                if (_X_joints.Contains(jn_col[i].X) == false)
                {
                    _X_joints.Add(jn_col[i].X);
                }
                if (_Z_joints.Contains(jn_col[i].Z) == false)
                {
                    _Z_joints.Add(jn_col[i].Z);
                }
            }

            List <double> _X_min = new List <double>();
            List <double> _X_max = new List <double>();
            double        x_max, x_min;
            double        vvv = 99999999999999999;

            for (int zc = 0; zc < _Z_joints.Count; zc++)
            {
                x_min = vvv;
                x_max = -vvv;

                for (i = 0; i < jn_col.Count; i++)
                {
                    //if (_X_joints.Contains(jn_col[i].X) == false) _X_joints.Add(jn_col[i].X);
                    //if (_Z_joints.Contains(jn_col[i].Z) == false) _Z_joints.Add(jn_col[i].Z);

                    if (_Z_joints[zc] == jn_col[i].Z)
                    {
                        if (x_min > jn_col[i].X)
                        {
                            x_min = jn_col[i].X;
                        }
                        if (x_max < jn_col[i].X)
                        {
                            x_max = jn_col[i].X;
                        }
                    }
                }
                if (x_max != -vvv)
                {
                    _X_max.Add(x_max);
                }
                if (x_min != vvv)
                {
                    _X_min.Add(x_min);
                }
            }



            double cant_wi = _Z_joints.Count > 1 ? _Z_joints[2] : 0.0;


            for (i = 0; i < jn_col.Count; i++)
            {
                try
                {
                    if ((jn_col[i].Z >= cant_wi && jn_col[i].Z <= (W - cant_wi)) == false)
                    {
                        continue;
                    }
                    x_min = _X_min[_Z_joints.IndexOf(jn_col[i].Z)];

                    #region L/2
                    if ((jn_col[i].X.ToString("0.0") == ((L / 2.0) + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi && jn_col[i].Z <= (W - cant_wi))
                        {
                            _L2_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/2

                    #region L/4

                    if (jn_col[i].X.ToString("0.0") == ((L / 4.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _L4_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (L / 4.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _L4_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/4

                    #region support
                    if ((jn_col[i].X.ToString("0.0") == (support + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _Support_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if ((jn_col[i].X.ToString("0.0") == (L - support + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _Support_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion Effective Depth

                    #region Effective Depth
                    if ((jn_col[i].X.ToString("0.0") == (d_eff + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _deff_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if ((jn_col[i].X.ToString("0.0") == (L - d_eff + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _deff_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion Effective Depth


                    #region L/8

                    if (jn_col[i].X.ToString("0.0") == ((L / 8.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _L8_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (L / 8.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _L8_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/8

                    #region 3L/8

                    if (jn_col[i].X.ToString("0.0") == ((3 * L / 8.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _3L8_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (3 * L / 8.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _3L8_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/8
                }
                catch (Exception ex) { MessageBox.Show(this, ""); }
            }


            if (_L2_inn_joints.Count > 2)
            {
                _L2_inn_joints.RemoveAt(0);
                _L2_inn_joints.RemoveAt(_L2_inn_joints.Count - 1);
            }



            if (_L4_inn_joints.Count > 2)
            {
                _L4_inn_joints.RemoveAt(0);
                _L4_inn_joints.RemoveAt(_L4_inn_joints.Count - 1);
            }
            if (_L4_out_joints.Count > 2)
            {
                _L4_out_joints.RemoveAt(0);
                _L4_out_joints.RemoveAt(_L4_out_joints.Count - 1);
            }



            if (_L8_inn_joints.Count > 2)
            {
                _L8_inn_joints.RemoveAt(0);
                _L8_inn_joints.RemoveAt(_L8_inn_joints.Count - 1);
            }
            if (_L8_out_joints.Count > 2)
            {
                _L8_out_joints.RemoveAt(0);
                _L8_out_joints.RemoveAt(_L8_out_joints.Count - 1);
            }

            if (_3L8_inn_joints.Count > 2)
            {
                _3L8_inn_joints.RemoveAt(0);
                _3L8_inn_joints.RemoveAt(_3L8_inn_joints.Count - 1);
            }
            if (_3L8_out_joints.Count > 2)
            {
                _3L8_out_joints.RemoveAt(0);
                _3L8_out_joints.RemoveAt(_3L8_out_joints.Count - 1);
            }


            if (_deff_inn_joints.Count > 2)
            {
                _deff_inn_joints.RemoveAt(0);
                _deff_inn_joints.RemoveAt(_deff_inn_joints.Count - 1);
            }
            if (_deff_out_joints.Count > 2)
            {
                _deff_out_joints.RemoveAt(0);
                _deff_out_joints.RemoveAt(_deff_out_joints.Count - 1);
            }


            if (_Support_inn_joints.Count > 2)
            {
                _Support_inn_joints.RemoveAt(0);
                _Support_inn_joints.RemoveAt(_Support_inn_joints.Count - 1);
            }


            if (_Support_out_joints.Count > 2)
            {
                _Support_out_joints.RemoveAt(0);
                _Support_out_joints.RemoveAt(_Support_out_joints.Count - 1);
            }



            _Support_inn_joints.AddRange(_Support_out_joints);
            _3L8_inn_joints.AddRange(_3L8_out_joints);
            _L8_inn_joints.AddRange(_L8_out_joints);
            _L4_inn_joints.AddRange(_L4_out_joints);
            _deff_inn_joints.AddRange(_deff_out_joints);



            mem = new CMember();
            mem.Group.MemberNos = _L2_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_L2_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_L2_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_L2_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_L2_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_inner_L2_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_L2_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _3L8_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_3L8_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_3L8_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_3L8_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_3L8_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_inner_3L8_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_3L8_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _L4_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_L4_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_L4_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_L4_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_L4_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_inner_L4_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_L4_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _L8_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_L8_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_L8_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_L8_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_L8_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_inner_L8_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_L8_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _deff_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_deff_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_deff_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_deff_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_deff_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_inner_deff_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_deff_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _Support_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_inner_support_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_inner_shear_support_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_inner_shear_support_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();

            txt_inner_support_moment.Text        = mem.MaxBendingMoment.Force.ToString();
            txt_inner_support_member_no.Text     = mem.MaxBendingMoment.MemberNo.ToString();
            txt_inner_support_moment_loadno.Text = mem.MaxBendingMoment.Loadcase.ToString();



            //txt_inner_L2_shear.Text = BridgeDesign.GetJoint_ShearForce(_L2_inn_joints).ToString();
            //txt_inner_L2_moment.Text = BridgeDesign.GetJoint_MomentForce(_L2_inn_joints).ToString();

            //txt_inner_3L8_shear.Text = BridgeDesign.GetJoint_ShearForce(_3L8_inn_joints).ToString();
            //txt_inner_3L8_moment.Text = BridgeDesign.GetJoint_MomentForce(_3L8_inn_joints).ToString();

            //txt_inner_L4_shear.Text = BridgeDesign.GetJoint_ShearForce(_L4_inn_joints).ToString();
            //txt_inner_L4_moment.Text = BridgeDesign.GetJoint_MomentForce(_L4_inn_joints).ToString();

            //txt_inner_L8_shear.Text = BridgeDesign.GetJoint_ShearForce(_L8_inn_joints).ToString();
            //txt_inner_L8_moment.Text = BridgeDesign.GetJoint_MomentForce(_L8_inn_joints).ToString();

            //txt_inner_deff_shear.Text = BridgeDesign.GetJoint_ShearForce(_deff_inn_joints).ToString();
            //txt_inner_deff_moment.Text = BridgeDesign.GetJoint_MomentForce(_deff_inn_joints).ToString();

            //txt_inner_support_shear.Text = BridgeDesign.GetJoint_ShearForce(_Support_inn_joints).ToString();
            //txt_inner_support_moment.Text = BridgeDesign.GetJoint_MomentForce(_Support_inn_joints).ToString();



            _L2_inn_joints.Clear();
            _3L8_inn_joints.Clear();
            _L4_inn_joints.Clear();
            _L8_inn_joints.Clear();
            _deff_inn_joints.Clear();
            _Support_inn_joints.Clear();

            _3L8_out_joints.Clear();
            _L8_out_joints.Clear();
            _L4_out_joints.Clear();
            _deff_out_joints.Clear();
            _Support_out_joints.Clear();


            for (i = 0; i < jn_col.Count; i++)
            {
                try
                {
                    if ((jn_col[i].Z >= cant_wi && jn_col[i].Z <= (W - cant_wi)) == false)
                    {
                        continue;
                    }
                    x_min = _X_min[_Z_joints.IndexOf(jn_col[i].Z)];

                    #region L/2
                    if ((jn_col[i].X.ToString("0.0") == ((L / 2.0) + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi && jn_col[i].Z <= (W - cant_wi))
                        {
                            _L2_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/2

                    #region L/4

                    if (jn_col[i].X.ToString("0.0") == ((L / 4.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _L4_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (L / 4.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _L4_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/4

                    #region support
                    if ((jn_col[i].X.ToString("0.0") == (support + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _Support_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if ((jn_col[i].X.ToString("0.0") == (L - support + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _Support_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion Effective Depth

                    #region Effective Depth
                    if ((jn_col[i].X.ToString("0.0") == (d_eff + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _deff_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if ((jn_col[i].X.ToString("0.0") == (L - d_eff + x_min).ToString("0.0")))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _deff_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion Effective Depth


                    #region L/8

                    if (jn_col[i].X.ToString("0.0") == ((L / 8.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _L8_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (L / 8.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _L8_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/8

                    #region 3L/8

                    if (jn_col[i].X.ToString("0.0") == ((3 * L / 8.0) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z >= cant_wi)
                        {
                            _3L8_inn_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    if (jn_col[i].X.ToString("0.0") == ((L - (3 * L / 8.0)) + x_min).ToString("0.0"))
                    {
                        if (jn_col[i].Z <= (W - cant_wi))
                        {
                            _3L8_out_joints.Add(jn_col[i].NodeNo);
                        }
                    }
                    #endregion L/8
                }
                catch (Exception ex) { MessageBox.Show(this, ""); }
            }
            if (_L2_inn_joints.Count > 2)
            {
                _L2_inn_joints.RemoveRange(1, _L2_inn_joints.Count - 2);
            }

            if (_L4_inn_joints.Count > 2)
            {
                _L4_inn_joints.RemoveRange(1, _L4_inn_joints.Count - 2);
                _L4_out_joints.RemoveRange(1, _L4_out_joints.Count - 2);
                _L4_out_joints.AddRange(_L4_inn_joints);
            }

            if (_deff_inn_joints.Count > 2)
            {
                _deff_inn_joints.RemoveRange(1, _deff_inn_joints.Count - 2);
                _deff_out_joints.RemoveRange(1, _deff_out_joints.Count - 2);
                _deff_out_joints.AddRange(_deff_inn_joints);
            }
            if (_Support_inn_joints.Count > 2)
            {
                _Support_inn_joints.RemoveRange(1, _Support_inn_joints.Count - 2);
                _Support_out_joints.RemoveRange(1, _Support_out_joints.Count - 2);
                _Support_out_joints.AddRange(_Support_inn_joints);
            }

            if (_L8_inn_joints.Count > 2)
            {
                _L8_inn_joints.RemoveRange(1, _L8_inn_joints.Count - 2);
                _L8_out_joints.RemoveRange(1, _L8_out_joints.Count - 2);
                _L8_out_joints.AddRange(_L8_inn_joints);
            }

            if (_3L8_inn_joints.Count > 2)
            {
                _3L8_inn_joints.RemoveRange(1, _3L8_inn_joints.Count - 2);
                _3L8_out_joints.RemoveRange(1, _3L8_out_joints.Count - 2);
                _3L8_out_joints.AddRange(_3L8_inn_joints);
            }


            mem = new CMember();
            mem.Group.MemberNos = _Support_out_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_outer_support_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_support_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();
            txt_outer_support_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();


            txt_outer_support_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_outer_support_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();
            txt_outer_support_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _deff_out_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_outer_deff_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_deff_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();
            txt_outer_deff_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();

            txt_outer_deff_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_outer_deff_shear_loadno.Text    = mem.MaxShearForce.Force.ToString();
            txt_outer_deff_shear_member_no.Text = mem.MaxShearForce.Force.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _L8_out_joints;
            kStr = BridgeDesign.GetForce(ref mem);


            txt_outer_L8_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_L8_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_outer_L8_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();

            txt_outer_L8_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_outer_L8_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_outer_L8_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _L4_out_joints;
            kStr = BridgeDesign.GetForce(ref mem);

            txt_outer_L4_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_L4_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_outer_L4_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();

            txt_outer_L4_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_outer_L4_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_outer_L4_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _3L8_out_joints;
            kStr = BridgeDesign.GetForce(ref mem);


            txt_outer_3L8_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_3L8_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_outer_3L8_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();

            txt_outer_3L8_shear.Text           = mem.MaxShearForce.Force.ToString();
            txt_outer_3L8_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            txt_outer_3L8_shear_loadno.Text    = mem.MaxShearForce.Loadcase.ToString();



            mem = new CMember();
            mem.Group.MemberNos = _L2_inn_joints;
            kStr = BridgeDesign.GetForce(ref mem);


            txt_outer_L2_moment.Text           = mem.MaxBendingMoment.Force.ToString();
            txt_outer_L2_moment_loadno.Text    = mem.MaxBendingMoment.Loadcase.ToString();
            txt_outer_L2_moment_member_no.Text = mem.MaxBendingMoment.MemberNo.ToString();
            txt_outer_L2_shear.Text            = mem.MaxShearForce.Force.ToString();
            txt_outer_L2_shear_loadno.Text     = mem.MaxShearForce.Loadcase.ToString();
            txt_outer_L2_shear_member_no.Text  = mem.MaxShearForce.MemberNo.ToString();

            //CMember mem = new CMember();
            //mem.Group.MemberNos = _L2_inn_joints;


            //txt_outer_L2_shear.Text = BridgeDesign.GetForce(ref mem);
            //txt_outer_L2_shear.Text = mem.Force.ToString();
            //txt_outer_L2_shear_member_no.Text = mem.MaxShearForce.MemberNo.ToString();
            //txt_outer_L2_shear_node_no.Text = mem.MaxShearForce.Loadcase.ToString();



            #region Null All variables
            mc = null;


            jn_col = null;


            _L2_inn_joints   = null;
            _L4_inn_joints   = null;
            _deff_inn_joints = null;

            _L4_out_joints   = null;
            _deff_out_joints = null;
            #endregion
            Show_Cross_Girder();
        }
Exemple #3
0
        public bool Create_Data(string file_name)
        {
            List <string> list = new List <string>();


            //con
            int Upper_Connector_Index = -1;
            int Lower_Connector_Index = -1;


            int indx = 12;



            int pnl_nos = (int)(Tower_Height / Bracing_Panel_Height);

            #region X Points


            double x_ps   = (Tower_Base_Width - Tower_Top_Width) / 2;
            double X_Incr = (x_ps) / (pnl_nos);



            List <double> x_side_1 = new List <double>();
            List <double> x_side_2 = new List <double>();

            List <double> y_side   = new List <double>();
            List <double> z_side_1 = new List <double>();
            List <double> z_side_2 = new List <double>();


            double x = 0, y = 0, z = 0;


            int i = 0;


            for (i = 0; i <= pnl_nos; i++)
            {
                x = i * X_Incr;
                y = i * Bracing_Panel_Height;

                x_side_1.Add(x);
                z_side_1.Add(x);

                x_side_2.Add(Tower_Base_Width - x);
                z_side_2.Add(Tower_Base_Width - x);


                y_side.Add(y);
            }


            i = 0;

            #endregion X Points


            //     Tower_Lower_Connector_Width = 10.0;
            //Tower_Upper_Connector_Width = 20.0;

            if (Tower_Upper_Connector_Width != 0.0)
            {
                for (i = 0; i < y_side.Count; i++)
                {
                    if (Tower_Upper_Connector_Width.ToString("f3") == y_side[i].ToString("f3"))
                    {
                        Upper_Connector_Index = i; break;
                    }
                }
            }

            if (Tower_Lower_Connector_Width != 0.0)
            {
                for (i = 0; i < y_side.Count; i++)
                {
                    if (Tower_Lower_Connector_Width.ToString("f3") == y_side[i].ToString("f3"))
                    {
                        Lower_Connector_Index = i; break;
                    }
                }
            }

            JointNodeCollection jnc_1, jnc_2, jnc_3, jnc_4; // First Tower


            JointNodeCollection jnc_5, jnc_6, jnc_7, jnc_8;// Second Tower

            jnc_1 = new JointNodeCollection();
            jnc_2 = new JointNodeCollection();
            jnc_3 = new JointNodeCollection();
            jnc_4 = new JointNodeCollection();

            jnc_5 = new JointNodeCollection();
            jnc_6 = new JointNodeCollection();
            jnc_7 = new JointNodeCollection();
            jnc_8 = new JointNodeCollection();


            double x_dist = Tower_Base_Width + Tower_Clear_Distance;



            JointNode jn = null;

            #region Side 1
            for (i = 0; i < y_side.Count; i++)
            {
                #region First Tower
                jn = new JointNode();

                jn.X = x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_1.Add(jn);
                #endregion First Tower


                #region Second Tower
                jn = new JointNode();

                jn.X = x_dist + x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_6.Add(jn);
                #endregion Second Tower
            }

            #endregion Side 1


            #region Side 2
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_2.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_1[i];

                jnc_5.Add(jn);
            }

            #endregion Side 2


            #region Side 3
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_3.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_1[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_8.Add(jn);
            }

            #endregion Side 3


            #region Side 4
            for (i = 0; i < y_side.Count; i++)
            {
                jn = new JointNode();

                jn.X = x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_4.Add(jn);


                jn = new JointNode();

                jn.X = x_dist + x_side_2[i];
                jn.Y = y_side[i];
                jn.Z = z_side_2[i];

                jnc_7.Add(jn);
            }

            #endregion Side 4


            JointNodeCollection con_jnt_1 = new JointNodeCollection();


            //indx = 12;

            indx = 12;



            double mid_x = (x_dist + Tower_Base_Width) / 2.0;

            if (Upper_Connector_Index != -1)
            {
                indx = Upper_Connector_Index;

                #region  Connector 1

                #region Connector Joint 1

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 1

                #region Connetor Joint 2

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 2


                indx++;
                #region Connetor Joint 3

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 3

                #region Connetor Joint 4

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_1.Add(jn);



                #endregion Connetor Joint 4

                #endregion  Connector 1
            }
            indx = 5;

            JointNodeCollection con_jnt_2 = new JointNodeCollection();

            if (Lower_Connector_Index != -1)
            {
                indx = Lower_Connector_Index;

                #region  Connector 2

                #region Connector Joint 1

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 1

                #region Connetor Joint 2

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 2


                indx++;
                #region Connetor Joint 3

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_1[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 3

                #region Connetor Joint 4

                jn = new JointNode();

                jn.X = mid_x;
                jn.Y = y_side[indx];
                jn.Z = z_side_2[indx];

                con_jnt_2.Add(jn);



                #endregion Connetor Joint 4

                #endregion  Connector 2
            }
            list.Add(string.Format(""));
            list.Add(string.Format("ASTRA SPACE TOWER"));
            list.Add(string.Format("UNIT MTON METRES"));
            list.Add(string.Format("JOINT COORDINATES"));
            int jnt_no = 1;

            #region Joint Coordinates
            foreach (var item in jnc_1)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_2)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_3)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_4)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }
            foreach (var item in jnc_5)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_6)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_7)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in jnc_8)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }


            foreach (var item in con_jnt_1)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            foreach (var item in con_jnt_2)
            {
                item.NodeNo = jnt_no++;
                list.Add(item.ToString());
            }

            #endregion Joint Coordinates



            int mem_no = 1;


            Member mbr = new Member();

            MemberCollection m_side_1 = new MemberCollection();



            List <int> sec_1 = new List <int>();
            List <int> sec_2 = new List <int>();

            #region Tower 1
            #region Member Side 1 [1-15]
            for (i = 1; i < jnc_1.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i - 1];
                mbr.EndNode   = jnc_1[i];

                m_side_1.Add(mbr);


                sec_1.Add(mem_no++);
            }

            #endregion Member Side 1

            #region Member Side 2 [16-30]

            for (i = 1; i < jnc_2.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_2[i - 1];
                mbr.EndNode   = jnc_2[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 2

            #region Member Side 3 [31-45]


            for (i = 1; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_3[i - 1];
                mbr.EndNode   = jnc_3[i];

                m_side_1.Add(mbr);

                sec_1.Add(mem_no++);
            }

            #endregion Member Side 3

            #region Member Side 4 [46-60]


            for (i = 1; i < jnc_4.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_4[i - 1];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 4

            #region Member 61-76


            for (i = 0; i < jnc_1.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i];
                mbr.EndNode   = jnc_2[i];

                m_side_1.Add(mbr);

                sec_2.Add(mem_no++);
            }

            #endregion Member 61-76

            #region Member 77-92


            for (i = 0; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_3[i];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 93-108


            for (i = 0; i < jnc_3.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_1[i];
                mbr.EndNode   = jnc_3[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 109-124


            for (i = 0; i < jnc_2.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_2[i];
                mbr.EndNode   = jnc_4[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 109-124

            #region Member 125-139


            for (i = 1; i < jnc_1.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_3[i - 1];
                    mbr.EndNode   = jnc_1[i];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_1[i];
                    mbr.EndNode   = jnc_3[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception ex) { }
            }

            #endregion Member 109-124

            #region Member 140-154


            for (i = 1; i < jnc_2.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_2[i - 1];
                    mbr.EndNode   = jnc_4[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_4[i];
                    mbr.EndNode   = jnc_2[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 140-154

            #region Member 155-169


            for (i = 1; i < jnc_3.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_4[i - 1];
                    mbr.EndNode   = jnc_3[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);



                    mbr           = new Member();
                    mbr.StartNode = jnc_3[i];
                    mbr.EndNode   = jnc_4[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #region Member 170-184

            for (i = 1; i < jnc_1.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_1[i - 1];
                    mbr.EndNode   = jnc_2[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_2[i];
                    mbr.EndNode   = jnc_1[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169
            #endregion Tower 1



            #region Tower 2

            #region Member Side 1 [185-199]

            JointNodeCollection jnc = jnc_5;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 1

            #region Member Side 2 [200-214]

            jnc = jnc_6;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 2

            #region Member Side 3 [215-229]


            jnc = jnc_7;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 3

            #region Member Side 4 [230-244]

            jnc = jnc_8;
            for (i = 1; i < jnc.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc[i - 1];
                mbr.EndNode   = jnc[i];

                m_side_1.Add(mbr);
                sec_1.Add(mem_no++);
            }

            #endregion Member Side 4

            #region Member 245-260


            for (i = 0; i < jnc_5.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_5[i];
                mbr.EndNode   = jnc_6[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 61-76

            #region Member 261-276


            for (i = 0; i < jnc_7.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_7[i];
                mbr.EndNode   = jnc_8[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 277-292


            for (i = 0; i < jnc_7.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_5[i];
                mbr.EndNode   = jnc_7[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 77-92

            #region Member 293-308


            for (i = 0; i < jnc_6.Count; i++)
            {
                mbr           = new Member();
                mbr.StartNode = jnc_6[i];
                mbr.EndNode   = jnc_8[i];

                m_side_1.Add(mbr);
                sec_2.Add(mem_no++);
            }

            #endregion Member 109-124

            #region Member 309-323


            for (i = 1; i < jnc_5.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_7[i - 1];
                    mbr.EndNode   = jnc_5[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_5[i];
                    mbr.EndNode   = jnc_7[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 109-124

            #region Member 324-338


            for (i = 1; i < jnc_6.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_6[i - 1];
                    mbr.EndNode   = jnc_8[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);


                    mbr           = new Member();
                    mbr.StartNode = jnc_8[i];
                    mbr.EndNode   = jnc_6[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 140-154

            #region Member 339-353


            for (i = 1; i < jnc_7.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_8[i - 1];
                    mbr.EndNode   = jnc_7[i];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);

                    mbr           = new Member();
                    mbr.StartNode = jnc_7[i];
                    mbr.EndNode   = jnc_8[i + 1];

                    m_side_1.Add(mbr);

                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #region Member 354-368

            for (i = 1; i < jnc_5.Count; i += 2)
            {
                try
                {
                    mbr           = new Member();
                    mbr.StartNode = jnc_5[i - 1];
                    mbr.EndNode   = jnc_6[i];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);

                    mbr           = new Member();
                    mbr.StartNode = jnc_6[i];
                    mbr.EndNode   = jnc_5[i + 1];

                    m_side_1.Add(mbr);
                    sec_2.Add(mem_no++);
                }
                catch (Exception exx) { }
            }

            #endregion Member 155-169

            #endregion Tower 2



            MemberCollection m_conn = new MemberCollection();


            if (Upper_Connector_Index != -1)
            {
                #region Connector 1


                indx = Upper_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                //indx = 12;
                indx = Upper_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_1[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[0];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[1];
                mbr.EndNode   = con_jnt_1[2];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[0];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_1[2];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                //indx = 12;
                indx = Upper_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_1[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[3];
                mbr.EndNode   = jnc_8[indx];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx + 1];
                mbr.EndNode   = con_jnt_1[1];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_1[1];
                mbr.EndNode   = jnc_6[indx + 1];
                m_conn.Add(mbr);


                #endregion Connector
            }


            if (Lower_Connector_Index != -1)
            {
                #region Connector 2

                //MemberCollection m_conn = new MemberCollection();

                //indx = 5;
                indx = Lower_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_2[indx];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                //indx = 5;
                indx = Lower_Connector_Index;


                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_2[0];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                indx++;
                mbr = new Member();

                mbr.StartNode = jnc_6[indx];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);



                //indx++;
                mbr = new Member();

                mbr.StartNode = jnc_8[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[0];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[1];
                mbr.EndNode   = con_jnt_2[2];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[0];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = con_jnt_2[2];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                //indx = 5;
                indx = Lower_Connector_Index;

                mbr = new Member();

                mbr.StartNode = jnc_4[indx];
                mbr.EndNode   = con_jnt_2[3];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[3];
                mbr.EndNode   = jnc_8[indx];
                m_conn.Add(mbr);


                mbr = new Member();

                mbr.StartNode = jnc_2[indx + 1];
                mbr.EndNode   = con_jnt_2[1];
                m_conn.Add(mbr);



                mbr = new Member();

                mbr.StartNode = con_jnt_2[1];
                mbr.EndNode   = jnc_6[indx + 1];
                m_conn.Add(mbr);


                #endregion Connector
            }
            mem_no = 1;


            #region MEMBER INCIDENCES
            list.Add("MEMBER INCIDENCES");
            foreach (var item in m_side_1)
            {
                item.MemberNo = mem_no++;
                list.Add(item.ToString());
            }
            foreach (var item in m_conn)
            {
                sec_2.Add(mem_no);

                item.MemberNo = mem_no++;
                list.Add(item.ToString());
            }

            #endregion MEMBER INCIDENCES

            #region MEMBER PROPERTY


            list.Add(string.Format("UNIT KG CM"));
            list.Add(string.Format("MEMBER PROPERTY"));
            //list.Add(string.Format("{0} PRISMATIC AX 7.44 IX 11.7 IY 11.7 IZ 11.7", MyList.Get_Array_Text(sec_2)));
            //list.Add(string.Format("{0} PRISMATIC AX 68.81 IX 1046.5 IY 1046.5 IZ 1046.5", MyList.Get_Array_Text(sec_1)));

            //list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IY {3} IZ {4}", MyList.Get_Array_Text(sec_1), Tower_SEC_VS_AX, Tower_SEC_VS_IX, Tower_SEC_VS_IX, Tower_SEC_VS_IZ));
            //list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IY {3} IZ {4}", MyList.Get_Array_Text(sec_2), Tower_SEC_BS_AX, Tower_SEC_BS_IX, Tower_SEC_BS_IX, Tower_SEC_BS_IZ));
            //list.Add(string.Format("{0} PRISMATIC AX 68.81 IX 1046.5 IY 1046.5 IZ 1046.5", MyList.Get_Array_Text(sec_1)));


            list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IZ {3}", MyList.Get_Array_Text(sec_1), Tower_SEC_VS_AX, Tower_SEC_VS_IX, Tower_SEC_VS_IZ));
            list.Add(string.Format("{0} PRISMATIC AX {1} IX {2} IZ {3}", MyList.Get_Array_Text(sec_2), Tower_SEC_BS_AX, Tower_SEC_BS_IX, Tower_SEC_BS_IZ));

            #endregion MEMBER PROPERTY


            #region CONSTANTS & Others

            List <int> supp = new List <int>();

            supp.Add(jnc_1[0].NodeNo);
            supp.Add(jnc_2[0].NodeNo);
            supp.Add(jnc_3[0].NodeNo);
            supp.Add(jnc_4[0].NodeNo);
            supp.Add(jnc_5[0].NodeNo);
            supp.Add(jnc_6[0].NodeNo);
            supp.Add(jnc_7[0].NodeNo);
            supp.Add(jnc_8[0].NodeNo);

            string supp_jnts = MyList.Get_Array_Text(supp);

            List <int> dl = new List <int>();
            indx = jnc_1.Count - 1;
            dl.Add(jnc_1[indx].NodeNo);
            dl.Add(jnc_2[indx].NodeNo);
            dl.Add(jnc_3[indx].NodeNo);
            dl.Add(jnc_4[indx].NodeNo);
            dl.Add(jnc_5[indx].NodeNo);
            dl.Add(jnc_6[indx].NodeNo);
            dl.Add(jnc_7[indx].NodeNo);
            dl.Add(jnc_8[indx].NodeNo);


            string dl_jnts = MyList.Get_Array_Text(dl);



            list.Add(string.Format("UNIT KG CM"));
            list.Add(string.Format("MATERIAL CONSTANT"));
            list.Add(string.Format("E 2000000 ALL"));
            list.Add(string.Format("DEN 78 ALL"));
            list.Add(string.Format("SUPPORTS"));
            //list.Add(string.Format("1 17 33 49 65 81 97 113 FIXED"));
            list.Add(string.Format("{0} FIXED", supp_jnts));
            //list.Add(string.Format("SELFWEIGHT Y -1.4"));
            list.Add(string.Format("UNIT MTON M"));
            list.Add(string.Format("LOAD 1 LIVE LOAD"));
            list.Add(string.Format("JOINT LOAD"));
            list.Add(string.Format("{0} FY -{1}", dl_jnts, Tower_Live_Load));
            list.Add(string.Format("LOAD 2 DEAD LOAD"));
            list.Add(string.Format("JOINT LOAD"));
            list.Add(string.Format("{0} FY -{1}", dl_jnts, Tower_Dead_Load));
            list.Add(string.Format("SEISMIC COEEFICIENT {0}", Tower_Seismic_Coefficient));
            list.Add(string.Format("PRINT SUPPORT REACTION"));
            list.Add(string.Format("PERFORM ANALYSIS"));
            list.Add(string.Format("FINISH"));
            list.Add(string.Format(""));

            #endregion CONSTANTS


            File.WriteAllLines(file_name, list.ToArray());

            return(true);
        }