示例#1
0
        private void frmElementLoad_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (r == -1)
                    {
                        if (mlist.StringList[i] == "PRESSURE")
                        {
                            r                  = i;
                            txt_mnos.Text      = mlist.GetString(0, r - 1);
                            txt_aload_val.Text = mlist.StringList[i + 1];
                        }
                    }
                }


                btn_aload_add.Text = "Change";
                ASTRA_Data.Clear();
            }
            else
            {
                //txt_mnos.Text = iACad.GetSelectedMembersInText();
            }
        }
示例#2
0
        private void frmTempLoad_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (r == -1)
                    {
                        if (mlist.StringList[i] == "TEMP")
                        {
                            r = i;
                            txt_joint_number.Text = mlist.GetString(0, r - 1);
                            txt_init_temp.Text    = mlist.StringList[i + 1];
                            if (mlist.Count > (i + 2))
                            {
                                txt_final_temp.Text = mlist.StringList[i + 2];
                            }
                        }
                    }
                }

                btn_jload_add.Text = "Change";
                ASTRA_Data.Clear();
            }
            else
            {
                txt_joint_number.Text = iACad.GetSelectedJointsInText();
            }
        }
示例#3
0
        private void frmMemberTruss_Load(object sender, EventArgs e)
        {
            if (MGC != null)
            {
                foreach (var item in MGC.GroupCollection)
                {
                    cmb_range.Items.Add(item.GroupName);
                }
            }

            if (ASTRA_Data != "")
            {
                ASTRA_Data = ASTRA_Data.Trim();
                if (cmb_range.Items.Contains(ASTRA_Data))
                {
                    cmb_range.SelectedItem = ASTRA_Data;
                }
                else
                {
                    txt_mem_nos.Text        = ASTRA_Data;
                    cmb_range.SelectedIndex = 1;
                }
                btn_add_data.Text = "Change";
            }
            else
            {
                if (cmb_range.Items.Count > 0)
                {
                    cmb_range.SelectedIndex = 1;
                }
                txt_mem_nos.Text = iACad.GetSelectedMembersInText();
            }
        }
示例#4
0
        private void frmSupportDisplacements_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (r == -1)
                    {
                        if (mlist.StringList[i] == "FX" || mlist.StringList[i] == "FY" || mlist.StringList[i] == "FZ" ||
                            mlist.StringList[i] == "MX" || mlist.StringList[i] == "MY" || mlist.StringList[i] == "MZ")
                        {
                            r = i;
                        }
                    }

                    if (mlist.StringList[i] == "FX")
                    {
                        txt_fx.Text = mlist.StringList[i + 1];
                    }
                    else if (mlist.StringList[i] == "FY")
                    {
                        txt_fy.Text = mlist.StringList[i + 1];
                    }
                    else if (mlist.StringList[i] == "FZ")
                    {
                        txt_fz.Text = mlist.StringList[i + 1];
                    }
                    else if (mlist.StringList[i] == "MX")
                    {
                        txt_mx.Text = mlist.StringList[i + 1];
                    }
                    else if (mlist.StringList[i] == "MY")
                    {
                        txt_my.Text = mlist.StringList[i + 1];
                    }
                    else if (mlist.StringList[i] == "MZ")
                    {
                        txt_mz.Text = mlist.StringList[i + 1];
                    }
                }

                if (r != -1)
                {
                    txt_joint_number.Text = mlist.GetString(0, r - 1);
                }
                btn_jload_add.Text = "Change";
                ASTRA_Data.Clear();
            }
            else
            {
                txt_joint_number.Text = iACad.GetSelectedJointsInText();
            }
        }
示例#5
0
        private void btn_mload_add_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_mnos_uni.Text.Replace(',', ' ');


            kStr = kStr + " " + cmb_mload_type.Text;
            kStr = kStr + " " + cmb_mload_dir.Text;

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_mload_val.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_mload_d1.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_mload_d2.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }


            ASTRA_Data.Add(kStr);


            if (Node != null)
            {
                if (btn_mload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    Node.Nodes.Add(kStr);
                    //Node.Expand();
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#6
0
        private void btn_lload_add_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_mnos_lin.Text.Replace(',', ' ');


            kStr = kStr + " LIN ";
            kStr = kStr + " " + cmb_lload_dir.Text;

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_lload_start.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_lload_end.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }

            if (ASTRA_Data.Contains(kStr))
            {
                ASTRA_Data.Remove(kStr);
            }


            ASTRA_Data.Add(kStr);

            if (btn_lload_add.Text == "Change")
            {
                Node.Text = kStr;
                this.Close();
            }
            else
            {
                if (Node != null)
                {
                    Node.Nodes.Add(kStr);
                    //Node.Expand();
                    Node.ExpandAll();
                }
                else
                {
                    this.Close();
                }
            }
        }
示例#7
0
        private void btn_aload_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_mnos.Text.Replace(',', ' ');


            kStr = kStr + " PRESSURE ";

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_aload_val.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }
            else
            {
                return;
            }

            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_aload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    Node.Nodes.Add(kStr);
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#8
0
        private void frmJointWeight_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (r == -1)
                    {
                        if (mlist.StringList[i].StartsWith("WEI"))
                        {
                            r = i;
                        }
                    }
                    if (mlist.StringList[i].StartsWith("WEI"))
                    {
                        txt_fy.Text = mlist.StringList[i + 1];
                    }
                }

                if (r != -1)
                {
                    txt_joint_number.Text = mlist.GetString(0, r - 1);
                }
                btn_jload_add.Text = "Change";
                ASTRA_Data.Clear();

                this.Height       = 140;
                groupBox1.Visible = false;
            }
            else
            {
                txt_joint_number.Text = iACad.GetSelectedJointsInText();

                this.Height = 447;
            }
        }
示例#9
0
        private void frmWindLoad_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (r == -1)
                    {
                        if (mlist.StringList[i] == "FX" || mlist.StringList[i] == "FY" || mlist.StringList[i] == "FZ" ||
                            mlist.StringList[i] == "MX" || mlist.StringList[i] == "MY" || mlist.StringList[i] == "MZ")
                        {
                            r = i;
                        }
                    }

                    if (mlist.StringList[i] == "FX")
                    {
                        rbtn_fx_positive.Checked = true;
                    }
                    else if (mlist.StringList[i] == "FZ")
                    {
                        rbtn_fz_positive.Checked = true;
                    }
                }

                //if (r != -1)
                //{
                //    txt_sc.Text = mlist.GetString(1, r - 1).Trim().TrimEnd().TrimStart();
                //}
                btn_add.Text = "Change";
                ASTRA_Data.Clear();
            }
            //else
            //    txt_joint_number.Text = iACad.GetSelectedJointsInText();
        }
示例#10
0
        private void btn_jload_add_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_joint_number.Text.Replace(',', ' ');

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_init_temp.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " TEMP " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_final_temp.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }


            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_jload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    Node.Nodes.Add(kStr);
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#11
0
        private void frmMemberLoad_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;

                bool Is_LINEAR = kStr.Contains("LIN");



                for (int i = 0; i < mlist.Count; i++)
                {
                    if (Is_LINEAR)
                    {
                        #region LINEAR Load
                        if (r == -1)
                        {
                            if (mlist.StringList[i] == "LIN")
                            {
                                r = i;
                            }
                        }
                        if (mlist.StringList[i] == "X")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "Y")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "Z")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GX")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GY")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GX")
                        {
                            cmb_lload_dir.SelectedItem = mlist.StringList[i];
                            txt_lload_start.Text       = mlist.StringList[i + 1];
                        }


                        if (mlist.StringList[i] == "X" ||
                            mlist.StringList[i] == "Y" ||
                            mlist.StringList[i] == "Z" ||
                            mlist.StringList[i] == "GX" ||
                            mlist.StringList[i] == "GY" ||
                            mlist.StringList[i] == "GZ")
                        {
                            if (mlist.Count > (i + 2))
                            {
                                txt_lload_end.Text = mlist.StringList[i + 2];
                            }
                        }
                        #endregion LINEAR Load
                    }
                    else
                    {
                        #region Member Load
                        if (r == -1)
                        {
                            if (mlist.StringList[i] == "UNI" || mlist.StringList[i].StartsWith("CON") ||
                                mlist.StringList[i].StartsWith("UMOM") || mlist.StringList[i].StartsWith("CMOM"))
                            {
                                r = i;

                                cmb_mload_type.SelectedItem = mlist.StringList[i];
                                continue;
                            }
                        }
                        if (mlist.StringList[i] == "X")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "Y")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "Z")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GX")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GY")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "GX")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "PX")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "PY")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }
                        else if (mlist.StringList[i] == "PZ")
                        {
                            cmb_mload_dir.SelectedItem = mlist.StringList[i];
                            txt_mload_val.Text         = mlist.StringList[i + 1];
                        }

                        if (mlist.StringList[i] == "X" ||
                            mlist.StringList[i] == "Y" ||
                            mlist.StringList[i] == "Z" ||
                            mlist.StringList[i] == "PX" ||
                            mlist.StringList[i] == "PY" ||
                            mlist.StringList[i] == "PZ" ||
                            mlist.StringList[i] == "GX" ||
                            mlist.StringList[i] == "GY" ||
                            mlist.StringList[i] == "GZ")
                        {
                            if (mlist.Count > (i + 2))
                            {
                                txt_mload_d1.Text = mlist.StringList[i + 2];
                            }
                            if (mlist.Count > (i + 3))
                            {
                                txt_mload_d2.Text = mlist.StringList[i + 3];
                            }
                        }
                        #endregion Member Load
                    }
                }

                if (r != -1)
                {
                    if (Is_LINEAR)
                    {
                        txt_mnos_lin.Text       = mlist.GetString(0, r - 1);
                        btn_lload_add.Text      = "Change";
                        tabControl1.SelectedTab = tab_LIN;
                    }
                    else
                    {
                        txt_mnos_uni.Text  = mlist.GetString(0, r - 1);
                        btn_mload_add.Text = "Change";
                    }
                }
                ASTRA_Data.Clear();
            }
            else
            {
                txt_mnos_uni.Text = iACad.GetSelectedMembersInText();
                txt_mnos_lin.Text = iACad.GetSelectedMembersInText();

                cmb_lload_dir.SelectedIndex  = 1;
                cmb_mload_type.SelectedIndex = 0;
                cmb_mload_dir.SelectedIndex  = 4;
            }
        }
示例#12
0
        public void Add_Structure_Joint_Load()
        {
            MemberIncidenceCollection all_beams = new MemberIncidenceCollection();
            List <double>             floors    = new List <double>();

            if (iACad.AstraDocument.Members.Count > 0)
            {
                foreach (var item in iACad.AstraDocument.Members)
                {
                    if (item.StartNode.Y == item.EndNode.Y)
                    {
                        all_beams.Add(item);
                        if (!floors.Contains(item.EndNode.Y))
                        {
                            floors.Add(item.EndNode.Y);
                        }
                    }
                }
            }
            List <JointWeight> JointWeights = new List <JointWeight>();

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

            floors.Sort();
            double wght = 0.0;
            int    indx = 0;

            double factor       = MyStrings.StringToDouble(txt_factor.Text, 0.8);
            double unit_wt_wall = MyStrings.StringToDouble(txt_wall_uwgt.Text, 0.8);

            foreach (var item in all_beams)
            {
                JointWeight jw = new JointWeight();
                jw.JointNo = item.StartNode.NodeNo;
                indx       = floors.IndexOf(item.StartNode.Y);

                wght = 0.0;
                //double unit_wt_wall = 19.2;
                if (indx != -1)
                {
                    if (indx + 1 < floors.Count)
                    {
                        if (item.Property == null)
                        {
                            MessageBox.Show("Member Property is not defined for Member No "
                                            + item.MemberNo, "ASTRA", MessageBoxButtons.OK);
                            return;
                        }
                        else
                        {
                            wght = item.Property.YD * item.Length * (floors[indx + 1] - floors[indx]) * unit_wt_wall;
                        }
                    }
                    //wght = item.Property.ZD * item.Length * (floors[indx + 1] - floors[indx]) * 24.0;
                }



                if (wght != 0.0)
                {
                    wght       = wght * factor;
                    jw         = new JointWeight();
                    jw.JointNo = item.StartNode.NodeNo;
                    jw.Weight  = wght / 2;
                    JointWeights.Add(jw);



                    if (!joints.Contains(jw.JointNo))
                    {
                        joints.Add(jw.JointNo);
                    }

                    jw         = new JointWeight();
                    jw.JointNo = item.EndNode.NodeNo;
                    jw.Weight  = wght / 2;
                    JointWeights.Add(jw);


                    if (!joints.Contains(jw.JointNo))
                    {
                        joints.Add(jw.JointNo);
                    }
                }
            }

            //List<JointWeight> FinalWeights = new List<JointWeight>();
            JointWeight jwt = null;


            jwt = null;

            dgv_str_jnt_wgt.Rows.Clear();
            for (int j = 0; j < joints.Count; j++)
            {
                jwt = new JointWeight(joints[j], 0.0);
                //FinalWeights.Add(jwt);
                for (int i = 0; i < JointWeights.Count; i++)
                {
                    if (jwt.JointNo == JointWeights[i].JointNo)
                    {
                        jwt.Weight += JointWeights[i].Weight;
                    }
                }
                dgv_str_jnt_wgt.Rows.Add(jwt.JointNo, jwt.Weight.ToString("f3"));
                //Node.Nodes.Add(jwt.ToString());
                ASTRA_Data.Add(jwt.ToString());
            }

            txt_joint_number.Text = "";
            //FinalWeights.Add(jwt);

            //Node.Nodes.Add(jwt.ToString());
        }
示例#13
0
        private void btn_jload_add_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_joint_number.Text.Replace(',', ' ');

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_fy.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr.Trim() + " WEIGHT " + dval.ToString("f3").Trim();
            }

            if (kStr != "")
            {
                ASTRA_Data.Add(kStr);
            }

            if (Node != null)
            {
                if (btn_jload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    if (kStr == "")
                    {
                        Node.Nodes.Clear();
                        ASTRA_Data.Clear();
                        if (dgv_str_jnt_wgt.Rows.Count > 1)
                        {
                            for (int i = 0; i < dgv_str_jnt_wgt.Rows.Count - 1; i++)
                            {
                                kStr = dgv_str_jnt_wgt[0, i].Value.ToString() +
                                       " WEIGHT " + dgv_str_jnt_wgt[1, i].Value.ToString();

                                ASTRA_Data.Add(kStr);
                            }
                            foreach (var item in ASTRA_Data)
                            {
                                Node.Nodes.Add(item);
                            }
                        }
                    }
                    else
                    {
                        Node.Nodes.Add(kStr);
                    }

                    //Node.Nodes.Add(kStr);
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#14
0
        private void frmFloorLoad_Load(object sender, EventArgs e)
        {
            if (ASTRA_Data.Count > 0)
            {
                string kStr = ASTRA_Data[0];

                MyStrings mlist = new MyStrings(MyStrings.RemoveAllSpaces(kStr), ' ');

                int r = -1;
                for (int i = 0; i < mlist.Count; i++)
                {
                    if (i == 0)
                    {
                        if (mlist.StringList[i].StartsWith("XR") ||
                            mlist.StringList[i].StartsWith("XL"))
                        {
                            rbtn_XLimit.Checked = true;
                        }
                        if (mlist.StringList[i].StartsWith("YR") ||
                            mlist.StringList[i].StartsWith("YL"))
                        {
                            rbtn_YLimit.Checked = true;
                        }
                        if (mlist.StringList[i].StartsWith("ZR") ||
                            mlist.StringList[i].StartsWith("ZL"))
                        {
                            rbtn_ZLimit.Checked = true;
                        }
                    }
                    if (mlist.StringList[i].StartsWith("FL"))
                    {
                        txt_pressure.Text = mlist.StringList[++i];
                        chk_One.Checked   = false;
                    }

                    if (mlist.StringList[i].StartsWith("ON"))
                    {
                        txt_pressure.Text = mlist.StringList[++i];
                        chk_One.Checked   = true;
                    }
                    if (mlist.StringList[i].StartsWith("GX"))
                    {
                        rbtn_GX.Checked = true;
                    }
                    if (mlist.StringList[i].StartsWith("GY"))
                    {
                        rbtn_GY.Checked = true;
                    }
                    if (mlist.StringList[i].StartsWith("GZ"))
                    {
                        rbtn_GZ.Checked = true;
                    }

                    if (mlist.StringList[i].StartsWith("XR") ||
                        mlist.StringList[i].StartsWith("XL"))
                    {
                        //rbtn_XLimit.Checked = true;
                        txt_X_min.Text = mlist.StringList[++i];
                        txt_X_max.Text = mlist.StringList[++i];
                    }
                    else if (mlist.StringList[i].StartsWith("YR") ||
                             mlist.StringList[i].StartsWith("YL"))
                    {
                        //rbtn_YLimit.Checked = true;
                        txt_Y_min.Text = mlist.StringList[++i];
                        txt_Y_max.Text = mlist.StringList[++i];
                    }
                    else if (mlist.StringList[i].StartsWith("ZR") ||
                             mlist.StringList[i].StartsWith("ZL"))
                    {
                        //rbtn_ZLimit.Checked = true;
                        txt_Z_min.Text = mlist.StringList[++i];
                        txt_Z_max.Text = mlist.StringList[++i];
                    }
                }


                btn_fload_add.Text = "Change";
                ASTRA_Data.Clear();
            }
            else
            {
                //txt_mnos.Text = iACad.GetSelectedMembersInText();
            }
        }
示例#15
0
        private void btn_fload_Click(object sender, EventArgs e)
        {
            string kStr = "";
            //XRANGE 4 18 FLOAD -0.15 YRANGE 0 10.43  ZRANGE -1 5.4  GY
            //YRANGE 4 18 FLOAD -0.15 XRANGE 0 10.43  ZRANGE -1 5.4  GY
            //ZRANGE 4 18 FLOAD -0.15 XRANGE 0 10.43  YRANGE -1 5.4  GY


            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_pressure.Text, 0.0);



            if (rbtn_XLimit.Checked)
            {
                if (chk_One.Checked)
                {
                    kStr = string.Format("XRANGE {0} {1} ONE {2} YRANGE {3} {4}  ZRANGE {5} {6}",
                                         txt_X_min.Text, txt_X_max.Text, txt_pressure.Text,
                                         txt_Y_min.Text, txt_Y_max.Text,
                                         txt_Z_min.Text, txt_Z_max.Text);
                }
                else
                {
                    kStr = string.Format("XRANGE {0} {1} FLOAD {2} YRANGE {3} {4}  ZRANGE {5} {6}",
                                         txt_X_min.Text, txt_X_max.Text, txt_pressure.Text,
                                         txt_Y_min.Text, txt_Y_max.Text,
                                         txt_Z_min.Text, txt_Z_max.Text);
                }
            }
            else if (rbtn_YLimit.Checked)
            {
                if (chk_One.Checked)
                {
                    kStr = string.Format("YRANGE {0} {1} ONE {2} XRANGE {3} {4}  ZRANGE {5} {6}",
                                         txt_Y_min.Text, txt_Y_max.Text, txt_pressure.Text,
                                         txt_X_min.Text, txt_X_max.Text,
                                         txt_Z_min.Text, txt_Z_max.Text);
                }
                else
                {
                    kStr = string.Format("YRANGE {0} {1} FLOAD {2} XRANGE {3} {4}  ZRANGE {5} {6}",
                                         txt_Y_min.Text, txt_Y_max.Text, txt_pressure.Text,
                                         txt_X_min.Text, txt_X_max.Text,
                                         txt_Z_min.Text, txt_Z_max.Text);
                }
            }
            else if (rbtn_ZLimit.Checked)
            {
                if (chk_One.Checked)
                {
                    kStr = string.Format("ZRANGE {0} {1} ONE {2} XRANGE {3} {4}  YRANGE {5} {6}",
                                         txt_Z_min.Text, txt_Z_max.Text, txt_pressure.Text,
                                         txt_X_min.Text, txt_X_max.Text,
                                         txt_Y_min.Text, txt_Y_max.Text);
                }
                else
                {
                    kStr = string.Format("ZRANGE {0} {1} FLOAD {2} XRANGE {3} {4}  YRANGE {5} {6}",
                                         txt_Z_min.Text, txt_Z_max.Text, txt_pressure.Text,
                                         txt_X_min.Text, txt_X_max.Text,
                                         txt_Y_min.Text, txt_Y_max.Text);
                }
            }



            if (rbtn_GX.Checked)
            {
                kStr = kStr + " GX";
            }
            else if (rbtn_GY.Checked)
            {
                kStr = kStr + " GY";
            }
            else if (rbtn_GZ.Checked)
            {
                kStr = kStr + " GZ";
            }

            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_fload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    Node.Nodes.Add(kStr);
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#16
0
        private void btn_jload_add_Click(object sender, EventArgs e)
        {
            string kStr = "SC ";

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_sc.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + dval.ToString("f3");
            }

            if (rbtn_fx_positive.Checked)
            {
                kStr = kStr + " FX ";
            }

            if (false)
            {
                #region CC

                List <double> list_x = new List <double>();
                List <double> list_y = new List <double>();
                List <double> list_z = new List <double>();


                int i = 0;


                foreach (var item in iACad.AstraDocument.Joints)
                {
                    if (!list_x.Contains(item.X))
                    {
                        list_x.Add(item.X);
                    }
                    if (!list_y.Contains(item.Y))
                    {
                        list_y.Add(item.Y);
                    }
                    if (!list_z.Contains(item.Z))
                    {
                        list_z.Add(item.Z);
                    }
                }


                list_x.Sort();
                list_y.Sort();
                list_z.Sort();

                i = 0;

                System.Collections.Hashtable hash_XY = new System.Collections.Hashtable();
                System.Collections.Hashtable hash_XZ = new System.Collections.Hashtable();
                System.Collections.Hashtable hash_YX = new System.Collections.Hashtable();
                System.Collections.Hashtable hash_YZ = new System.Collections.Hashtable();
                System.Collections.Hashtable hash_ZX = new System.Collections.Hashtable();
                System.Collections.Hashtable hash_ZY = new System.Collections.Hashtable();

                //List<double> coords1 = new List<double>();
                //List<double> coords2 = new List<double>();



                JointCoordinateCollection coords1 = new JointCoordinateCollection();
                JointCoordinateCollection coords2 = new JointCoordinateCollection();



                foreach (var x in list_x)
                {
                    coords1 = new JointCoordinateCollection();
                    coords2 = new JointCoordinateCollection();

                    foreach (var item in iACad.AstraDocument.Joints)
                    {
                        if (item.X == x)
                        {
                            if (!coords1.Contains(item))
                            {
                                coords1.Add(item);
                            }
                            if (!coords2.Contains(item))
                            {
                                coords2.Add(item);
                            }
                        }
                    }
                    hash_XY.Add(x, coords1);
                    hash_XZ.Add(x, coords2);
                }



                foreach (var y in list_y)
                {
                    coords1 = new JointCoordinateCollection();
                    coords2 = new JointCoordinateCollection();

                    foreach (var item in iACad.AstraDocument.Joints)
                    {
                        if (item.Y == y)
                        {
                            if (!coords1.Contains(item))
                            {
                                coords1.Add(item);
                            }
                            if (!coords2.Contains(item))
                            {
                                coords2.Add(item);
                            }
                        }
                    }
                    hash_YX.Add(y, coords1);
                    hash_YZ.Add(y, coords2);
                }

                hash_ZX = new System.Collections.Hashtable();
                hash_ZY = new System.Collections.Hashtable();

                foreach (var z in list_z)
                {
                    coords1 = new JointCoordinateCollection();
                    coords2 = new JointCoordinateCollection();

                    foreach (var item in iACad.AstraDocument.Joints)
                    {
                        if (item.Z == z)
                        {
                            if (!coords1.Contains(item))
                            {
                                coords1.Add(item);
                            }
                            if (!coords2.Contains(item))
                            {
                                coords2.Add(item);
                            }
                        }
                    }
                    hash_ZX.Add(z, coords1);
                    hash_ZY.Add(z, coords2);
                }

                #endregion CC
            }


            Seismic_Calculations ss = new Seismic_Calculations(iACad);
            ss.Set_AS();


            List <double> forces    = ss.Get_All_Forces();
            List <double> latforces = ss.Get_Latetal_Forces();

            double W = 0.0;


            foreach (var item in forces)
            {
                W += item;
            }
            double Fs = 0.0;

            foreach (var item in latforces)
            {
                Fs += item;
            }



            double Vb = W * dval;



            List <double> lst_Q = new List <double>();


            foreach (var item in latforces)
            {
                lst_Q.Add(item * Vb / Fs);
            }



            //List<int> ll = ss.Get_FX_Joints(false);


            //ll = ss.Get_FX_Joints(true);

            //ll = ss.Get_FZ_Joints(false);

            //ll = ss.Get_FZ_Joints(true);


            for (int i = 1; i < ss.list_y.Count; i++)
            {
                var jntLst = ss.Get_Floor_Joints(ss.list_y[i]);

                foreach (var item in jntLst)
                {
                    if (rbtn_fz_positive.Checked)
                    {
                        kStr = item + " FZ " + (lst_Q[i - 1] / jntLst.Count).ToString("f3");
                    }
                    else if (rbtn_fz_negative.Checked)
                    {
                        kStr = item + " FZ -" + (lst_Q[i - 1] / jntLst.Count).ToString("f3");
                    }
                    else if (rbtn_fx_positive.Checked)
                    {
                        kStr = item + " FX " + (lst_Q[i - 1] / jntLst.Count).ToString("f3");
                    }
                    else if (rbtn_fx_negative.Checked)
                    {
                        kStr = item + " FX -" + (lst_Q[i - 1] / jntLst.Count).ToString("f3");
                    }
                    ASTRA_Data.Add(kStr);
                }
            }



            //if (rbtn_fz_positive.Checked)
            //{
            //    kStr = kStr + " FZ ";
            //}

            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_add.Text == "Change")
                {
                    //Node = Node.Parent;

                    //Node.Parent.Nodes.Clear();

                    Node.Text = "JOINT LOAD";

                    //var nd = Node.Nodes.Add("JOINT LOAD");

                    foreach (var item in ASTRA_Data)
                    {
                        Node.Nodes.Add(item);
                    }
                    //nd.Nodes.Add(
                    this.Close();
                }
                else
                {
                    //Node.Text = "JOINT LOAD";

                    var nd = Node.Nodes.Add("JOINT LOAD");

                    foreach (var item in ASTRA_Data)
                    {
                        nd.Nodes.Add(item);
                    }


                    //Node.Nodes.Add(kStr);
                    //Node.Expand();
                    Node.ExpandAll();
                }
            }
            //else
            //{
            this.Close();
            //}
        }
示例#17
0
        private void btn_jload_add_Click(object sender, EventArgs e)
        {
            double Area_Factor = MyStrings.StringToDouble(txt_area_factor.Text, 0.6);
            double Velocity    = MyStrings.StringToDouble(txt_velocity.Text, 0.6);
            double Pressure    = MyStrings.StringToDouble(txt_pressure.Text, 0.6);

            double Width  = 0.0;
            double Height = 0.0;



            string kStr = "SC ";


            Seismic_Calculations ss = new Seismic_Calculations(iACad);

            ss.Set_AS();



            List <int> ll = ss.Get_FX_Joints(false);



            if (rbtn_fx_negative.Checked)
            {
                //ll = ss.Get_FX_Joints(false);

                Width  = ss.list_z[0] - ss.list_z[ss.list_z.Count - 1];
                Height = ss.list_y[1] - ss.list_y[ss.list_y.Count - 1];
            }
            else if (rbtn_fx_positive.Checked)
            {
                ll = ss.Get_FX_Joints(true);


                Width  = ss.list_z[0] - ss.list_z[ss.list_z.Count - 1];
                Height = ss.list_y[1] - ss.list_y[ss.list_y.Count - 1];
            }
            else if (rbtn_fz_positive.Checked)
            {
                ll = ss.Get_FZ_Joints(false);

                Width  = ss.list_x[0] - ss.list_x[ss.list_x.Count - 1];
                Height = ss.list_y[1] - ss.list_y[ss.list_y.Count - 1];
            }
            else if (rbtn_fz_negative.Checked)
            {
                ll     = ss.Get_FZ_Joints(true);
                Width  = ss.list_x[0] - ss.list_x[ss.list_x.Count - 1];
                Height = ss.list_y[1] - ss.list_y[ss.list_y.Count - 1];
            }

            Width  = Math.Abs(Width);
            Height = Math.Abs(Height);


            //Wind Rectangle Width = 13.432 m
            //Wind Rectangle Height = 26.810 m
            //Effective Area Factor = 0.60 (User Input)
            //Wind Rectangle Effective Area = 13.432 x 26.810 x 0.60 =216.067 Sq.m
            //Total Wind Force = 216.067 x 540 N. = 116676 N = 116.676 kN
            //Total Wind Force is to be applied on 30 Nodes as shown
            //Wind Force per Node = 116.676 / 30 = 3.89 kN in FX or FZ directions.

            double Wind_Eff_Area = Width * Height * Area_Factor;

            double total_force         = Wind_Eff_Area * Pressure / 1000;
            double wind_force_per_node = total_force / ll.Count;



            //ll = ss.Get_FX_Joints(true);

            //ll = ss.Get_FZ_Joints(false);

            //ll = ss.Get_FZ_Joints(true);


            //for (int i = 1; i < ss.list_y.Count; i++)
            //{
            //var jntLst = ss.Get_Floor_Joints(ss.list_y[i]);

            foreach (var item in ll)
            {
                if (rbtn_fz_positive.Checked)
                {
                    kStr = item + " FZ " + (wind_force_per_node).ToString("f3");
                }
                else if (rbtn_fz_negative.Checked)
                {
                    kStr = item + " FZ -" + (wind_force_per_node).ToString("f3");
                }
                else if (rbtn_fx_positive.Checked)
                {
                    kStr = item + " FX " + (wind_force_per_node).ToString("f3");
                }
                else if (rbtn_fx_negative.Checked)
                {
                    kStr = item + " FX -" + (wind_force_per_node).ToString("f3");
                }
                ASTRA_Data.Add(kStr);
            }
            //}



            //if (rbtn_fz_positive.Checked)
            //{
            //    kStr = kStr + " FZ ";
            //}

            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_add.Text == "Change")
                {
                    //Node = Node.Parent;

                    //Node.Parent.Nodes.Clear();

                    Node.Text = "JOINT LOAD";

                    //var nd = Node.Nodes.Add("JOINT LOAD");

                    foreach (var item in ASTRA_Data)
                    {
                        Node.Nodes.Add(item);
                    }
                    //nd.Nodes.Add(
                    this.Close();
                }
                else
                {
                    //Node.Text = "JOINT LOAD";

                    var nd = Node.Nodes.Add("JOINT LOAD");

                    foreach (var item in ASTRA_Data)
                    {
                        nd.Nodes.Add(item);
                    }


                    //Node.Nodes.Add(kStr);
                    //Node.Expand();
                    Node.ExpandAll();
                }
            }
            //else
            //{
            this.Close();
        }
示例#18
0
        private void btn_jload_add_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_joint_number.Text.Replace(',', ' ');

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_fx.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " FX " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_fy.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " FY " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_fz.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " FZ " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_mx.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " MX " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_my.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " MY " + dval.ToString("f3");
            }
            dval = MyStrings.StringToDouble(txt_mz.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " MZ " + dval.ToString("f3");
            }

            if (textBox1.Text != "")
            {
                kStr = kStr + " *" + textBox1.Text;
            }

            ASTRA_Data.Add(kStr);

            if (Node != null)
            {
                if (btn_jload_add.Text == "Change")
                {
                    Node.Text = kStr;
                    this.Close();
                }
                else
                {
                    Node.Nodes.Add(kStr);
                    //Node.Expand();
                    Node.ExpandAll();
                }
            }
            else
            {
                this.Close();
            }
        }
示例#19
0
        private void btn_aload_Click(object sender, EventArgs e)
        {
            string kStr = "";

            kStr = txt_mnos.Text.Replace(',', ' ');


            kStr = kStr + " TH ";

            double dval = 0.0;

            dval = MyStrings.StringToDouble(txt_thk_val.Text, 0.0);
            if (dval != 0.0)
            {
                kStr = kStr + " " + dval.ToString("f3");
            }
            //else
            //    return;
            //1 TO 234 TH 0.07 DEN 0.0 EXX 3.00934E6  EXY 531061  EXG 0.0  EYY 3.00934E6  EYG 0.0  GXY 1.23913E6

            //dval = MyList.StringToDouble(txt_DEN_val.Text, 0.0);
            if (txt_DEN_val.Text != "")
            {
                kStr = kStr + " DEN " + txt_DEN_val.Text;
            }
            if (txt_EXX_val.Text != "")
            {
                kStr = kStr + " EXX " + txt_EXX_val.Text;
            }
            if (txt_EXY_val.Text != "")
            {
                kStr = kStr + " EXY " + txt_EXY_val.Text;
            }
            if (txt_EXG_val.Text != "")
            {
                kStr = kStr + " EXG " + txt_EXG_val.Text;
            }
            if (txt_EYY_val.Text != "")
            {
                kStr = kStr + " EYY " + txt_EYY_val.Text;
            }
            dval = MyStrings.StringToDouble(txt_EYG_val.Text, 0.0);
            if (txt_EYG_val.Text != "")
            {
                kStr = kStr + " EYG " + txt_EYG_val.Text;
            }
            if (txt_GXY_val.Text != "")
            {
                kStr = kStr + " GXY " + txt_GXY_val.Text;
            }



            if (TRV != null)
            {
                if (ASTRA_Data.Count > 0)
                {
                    TRV.SelectedNode.Text = kStr;
                    this.Close();
                }
                else
                {
                    ASTRA_Data.Add(kStr);
                    TRV.Nodes.Add(kStr);
                }
            }
            else
            {
                this.Close();
            }
        }