Exemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            var models = new List <ModelForm1>();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                if (row.IsNewRow)
                {
                    continue;
                }
                var model = new ModelForm1();
                foreach (DataGridViewCell cell in row.Cells)
                {
                    switch (cell.ColumnIndex)
                    {
                    case 0:
                        try
                        {
                            model.FIO = cell.Value.ToString();
                        }
                        catch (Exception ex)
                        {
                            model.FIO = "";
                            MessageBox.Show("Ошибка при конвертированнии ФИО " + ex.Message);
                        }
                        continue;

                    case 1:
                        try
                        {
                            model.Adress = cell.Value.ToString();
                        }
                        catch (Exception ex)
                        {
                            model.Adress = "";
                            MessageBox.Show("Ошибка при конвертированнии адреса " + ex.Message);
                        }
                        continue;

                    case 2:
                        try
                        {
                            model.Car = cell.Value.ToString();
                        }
                        catch (Exception ex)
                        {
                            model.Car = "";
                            MessageBox.Show("Ошибка при конвертированнии марки машины " + ex.Message);
                        }
                        continue;
                    }
                }
                models.Add(model);
            }
            var modelResults = models.Where(x => x.Car.ToLower() == "audi")
                               .OrderBy(x => x.FIO)
                               .Select(x => x).ToList();

            new Form2(modelResults).ShowDialog();
        }
Exemplo n.º 2
0
        private void bt_Accept_Click(object sender, EventArgs e)
        {
            MainForm   mf   = this.ParentForm as MainForm;
            ModelForm1 cf   = mf.ModelForm;
            List <int> eles = mf.SelectElems;

            #region 输入错误判断
            if (eles.Count == 0)
            {
                mf.MessageTool.Tb_out.AppendText(Environment.NewLine + "*Error*:未选择单元!");
                return;
            }
            if (cf == null || cf.IsDisposed)
            {
                MessageBox.Show("请先新建模型", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            #endregion

            if (rb_add.Checked)//添加数据
            {
                foreach (int ele in eles)
                {
                    cf.CheckModel.assignCompType(ele, _CompType);
                }
            }
            else if (rb_del.Checked)
            {
                foreach (int ele in eles)
                {
                    cf.CheckModel.deleCompType(ele);
                }
            }
        }
Exemplo n.º 3
0
        private void bt_Accept_Click(object sender, EventArgs e)
        {
            MainForm   mf   = this.ParentForm as MainForm;
            ModelForm1 cf   = mf.ModelForm;
            List <int> eles = mf.SelectElems;

            #region 输入错误判断
            if (eles.Count == 0)
            {
                mf.MessageTool.Tb_out.AppendText(Environment.NewLine + "*Error*:未选择单元!");
                return;
            }
            if (cf == null || cf.IsDisposed)
            {
                MessageBox.Show("请先新建模型", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            #endregion

            if (rb_add.Checked)//添加数据
            {
                double Nlc = double.Parse(tb_N_LC.Text);
                double Mlc = double.Parse(tb_M_LC.Text);
                double Vlc = double.Parse(tb_V_LC.Text);

                double Ncom = double.Parse(tb_N_Com.Text);
                double Mcom = double.Parse(tb_M_Com.Text);
                double Vcom = double.Parse(tb_V_Com.Text);
                foreach (int ele in eles)
                {
                    BQuakeAdjustFactor Qaf = new BQuakeAdjustFactor(ele);
                    Qaf.N_LC  = Nlc; Qaf.M_LC = Mlc; Qaf.V_LC = Vlc;
                    Qaf.N_COM = Ncom; Qaf.M_COM = Mcom; Qaf.V_COM = Vcom;
                    cf.CheckModel.assignQuakeAdjustFactor(ele, Qaf);
                }
            }
            else if (rb_del.Checked)
            {
                foreach (int ele in eles)
                {
                    cf.CheckModel.deleQuakeAdjustFactor(ele);
                }
            }
        }
Exemplo n.º 4
0
        private void bt_Accept_Click(object sender, EventArgs e)
        {
            MainForm   mf   = this.ParentForm as MainForm;
            ModelForm1 cf   = mf.ModelForm;
            List <int> eles = mf.SelectElems;

            #region 输入错误判断
            if (eles.Count == 0)
            {
                mf.MessageTool.Tb_out.AppendText(Environment.NewLine + "*Error*:未选择单元!");
                return;
            }
            if (cf == null || cf.IsDisposed)
            {
                MessageBox.Show("请先新建模型", "提示", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            #endregion

            if (rb_add.Checked)//添加数据
            {
                double b_my = double.Parse(tb_Betamy.Text);
                double b_mz = double.Parse(tb_Betamz.Text);
                double b_ty = double.Parse(tb_Betaty.Text);
                double b_tz = double.Parse(tb_Betatz.Text);
                foreach (int ele in eles)
                {
                    BEquivalentCoeff NewEc = new BEquivalentCoeff(ele,
                                                                  b_my, b_mz, b_ty, b_tz);
                    cf.CheckModel.assignEquCoeff(ele, NewEc);
                }
            }
            else if (rb_del.Checked)
            {
                foreach (int ele in eles)
                {
                    cf.CheckModel.deldEquCoeff(ele);
                }
            }
        }
Exemplo n.º 5
0
        private void bt_Enter_Click(object sender, EventArgs e)
        {
            MainForm   mmf = this.Owner as MainForm;
            ModelForm1 cf  = mmf.ModelForm;

            if (rb_add.Checked)
            {
                //重新取得bsp对像数据
                ///重要提示:对话框中设置局部的_CurSecPara对像由于生命周期问题,不适用于连续数据修改,建议心后直接获取对话框控件的状态
                BSecDesignPara bsp = new BSecDesignPara(_CurSecPara.iSec);
                bsp.IsClosed = cb_Closed.Checked;
                bsp.RatioNet = double.Parse(tb_ratioNet.Text);
                bsp.SecCat_y = (SecCategory)cb_SecCat_y.SelectedIndex;
                bsp.SecCat_z = (SecCategory)cb_SecCat_z.SelectedIndex;
                bsp.Gama_x   = double.Parse(tb_Gamax.Text);
                bsp.Gama_y   = double.Parse(tb_Gamay.Text);
                cf.CheckModel.assignSecDP(bsp.iSec, bsp);
            }
            else if (rb_dele.Checked)
            {
                cf.CheckModel.deleSecTP(_CurSecPara.iSec);
            }
        }
Exemplo n.º 6
0
        private void bt_Run_Click(object sender, EventArgs e)
        {
            if (rtb_midasin.Text.Length == 0)
            {
                rtb_midasout.Text = "没有输入Midas格式的选择集";
                return;
            }
            List <int> nns = SelectCollection.StringToList(rtb_midasin.Text);

            MainForm   mmf = this.Owner as MainForm;//主窗口
            ModelForm1 mf  = mmf.ModelForm;

            MidasGenModel.model.Bmodel mm = mf.CurModel;

            List <Triangle> Tras = mm.getDelaunayTriangleByNodes(nns);

            rtb_midasout.Clear();//清屏
            rtb_midasout.AppendText("\n转换成功,共" + Tras.Count.ToString() + "个三角形");
            //进行三角形过滤
            if (cb_Con.Checked)
            {
                double          Ang_con  = double.Parse(tb_Ang.Text);
                List <Triangle> TransNew = new List <Triangle>();
                //畸形三角形过滤
                foreach (Triangle tt in Tras)
                {
                    if (tt.getMaxAngle() <= Ang_con)
                    {
                        TransNew.Add(tt);
                    }
                }
                Tras = TransNew;//更新新的三角形集合
                rtb_midasout.AppendText("\n进行△过滤后,共" + Tras.Count.ToString() + "个三角形");
            }

            //下面转换成板单元命令流
            int i = 1;

            rtb_midasout.AppendText("\n*ELEMENT");
            foreach (Triangle ang in Tras)
            {
                MidasGenModel.DelaunayTriangulator.Point pt1 = ang.Vertex1;
                MidasGenModel.DelaunayTriangulator.Point pt2 = ang.Vertex2;
                MidasGenModel.DelaunayTriangulator.Point pt3 = ang.Vertex3;

                int    n1    = mm.getNode(pt1.X, pt1.Y, pt1.Z);
                int    n2    = mm.getNode(pt2.X, pt2.Y, pt2.Z);
                int    n3    = mm.getNode(pt3.X, pt3.Y, pt3.Z);
                int    iNum  = i + iMaxElem;//单元号
                string trout = "\n " + iNum.ToString() + ", PLATE, 5, 2, " + n1 + ", " + n2 + ", " + n3;
                rtb_midasout.AppendText(trout);

                //提示信息输出
                label1.Text = "提示:板单元" + i.ToString() + "已生成...";
                this.Refresh();
                i++;
            }

            //更新最大单元号
            iMaxElem = iMaxElem + i;
        }