/// <summary> /// 更新当前对话框显示的截面信息 /// </summary> /// <param name="SecId">截面号</param> public void UpdateCurentSec(int SecId) { MainForm mmf = this.Owner as MainForm; ModelForm1 mf = mmf.ModelForm; Bmodel mm = mf.CurModel; BSections curSec = mm.sections[SecId]; string len = mm.unit.Length;//长度单位 //更新截面信息 tb_SecID.Text = SecId.ToString(); tb_SecName.Text = curSec.Name; //更新截面特性 Dgv_SecProp.Rows.Clear();//清除行 Dgv_SecProp.RowHeadersVisible = false; DataAddRow(ref Dgv_SecProp, "A", curSec.Area.ToString(), len + "^2"); DataAddRow(ref Dgv_SecProp, "Ixx", curSec.Ixx.ToString(), len + "^4"); DataAddRow(ref Dgv_SecProp, "Iyy", curSec.Iyy.ToString(), len + "^4"); DataAddRow(ref Dgv_SecProp, "Izz", curSec.Izz.ToString(), len + "^4"); DataAddRow(ref Dgv_SecProp, "Iw", curSec.Iw.ToString(), len + "^6"); DataAddRow(ref Dgv_SecProp, "Cent:y", curSec.Cy.ToString(), len); DataAddRow(ref Dgv_SecProp, "Cent:z", curSec.Cz.ToString(), len); DataAddRow(ref Dgv_SecProp, "Shear:y", curSec.Sy.ToString(), len); DataAddRow(ref Dgv_SecProp, "Shear:z", curSec.Sz.ToString(), len); DataAddRow(ref Dgv_SecProp, "CyM", curSec.CyM.ToString(), len); DataAddRow(ref Dgv_SecProp, "CyP", curSec.CyP.ToString(), len); DataAddRow(ref Dgv_SecProp, "CzM", curSec.CzM.ToString(), len); DataAddRow(ref Dgv_SecProp, "CzP", curSec.CzP.ToString(), len); MakeEditable(ref Dgv_SecProp, 1);//使可编辑 }
private void bt_CheckGo_Click(object sender, EventArgs e) { MainForm mmf = this.Owner as MainForm;//主窗口 ModelForm1 mf = mmf.ModelForm; TextBox messagebox = mmf.MessageTool.Tb_out; MidasGenModel.model.Bmodel mm = mf.CurModel; if (tb_Elems.Text.Length == 0) { lb_out.Text = "提示:没有指定单元号!"; } List <int> eles = SelectCollection.StringToList(tb_Elems.Text); int num = eles.Count;//选择单元数 int i = 1; mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + "************单元验算开始************"); mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + " 开始验算"); foreach (int ele in eles) { //mf.CheckTable.CheckElemByNum(ref mm, ele); CodeCheck.RefreshDesignPara(ref mm, mf.CheckModel, ele); CodeCheck.CalDesignPara_lemda(ref mm, ele); CodeCheck.CalDesignPara_phi(ref mm, ele, 1); //计算y向轴压稳定系数 CodeCheck.CalDesignPara_phi(ref mm, ele, 2); //计算z向轴压稳定系数 mf.CheckTable.CheckElemByNum_N(ref mm, ele, ref mf.CheckModel); string info = " " + i.ToString() + " of " + num.ToString() + " 验算完成!"; //ReplaceLastLine(ref messagebox, info); mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + info); i++; } mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + "************单元验算结束************"); }
private void bt_GoCheck_Click(object sender, EventArgs e) { MainForm mmf = this.Owner as MainForm; //主窗口 ModelForm1 mf = mmf.ModelForm; //模型窗口 TextBox messagebox = mmf.MessageTool.Tb_out; MidasGenModel.model.Bmodel mm = mf.CurModel; //激活地震组合有问题 mm.RSCombineActive(cb_isdizhen.Checked);//激活地震组合 if (tb_Elems.Text.Length == 0) { lb_out.Text = "提示:没有指定单元号!"; } List <int> eles = SelectCollection.StringToList(tb_Elems.Text); int num = eles.Count;//选择单元数 int i = 1; mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + "************单元验算开始************"); mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + " 开始验算"); foreach (int ele in eles) { mf.CheckTable.CheckElemByNum(ref mm, ele); //lb_out.Text = "提示:"+i.ToString()+" of "+num.ToString()+ "验算完成" ; string info = " " + i.ToString() + " of " + num.ToString() + " 验算完成!"; ReplaceLastLine(ref messagebox, info); i++; } mmf.MessageTool.Tb_out.AppendText(Environment.NewLine + "************单元验算结束************"); }
private void button1_Click(object sender, EventArgs e) { MainForm mmf = this.Owner as MainForm; ModelForm1 mf = mmf.ModelForm; Bmodel mm = mf.CurModel; int secid = Convert.ToInt32(tb_SecID.Text); BSections curSec = mm.sections[secid]; foreach (DataGridViewRow row in Dgv_SecProp.Rows) { string Prop = row.Cells[0].Value.ToString(); double valu = Convert.ToDouble(row.Cells[1].Value.ToString()); switch (Prop) { case "A": curSec.Area = valu; break; case "Iw": curSec.Iw = valu; break; case "Ixx": curSec.Ixx = valu; break; case "Iyy": curSec.Iyy = valu; break; case "Izz": curSec.Izz = valu; break; case "Cent:y": curSec.Cy = valu; break; case "Cent:z": curSec.Cz = valu; break; case "Shear:y": curSec.Sy = valu; break; case "Shear:z": curSec.Sz = valu; break; case "CyM": curSec.CyM = valu; break; case "CyP": curSec.CyP = valu; break; case "CzM": curSec.CzM = valu; break; case "CzP": curSec.CzP = valu; break; default: break; } } this.Close(); }
private void 查询加载点临时ToolStripMenuItem_Click(object sender, EventArgs e) { if (!this.HasToolWindow(_modelKey)) { MessageBox.Show("请先新建模型"); return; } ModelForm1 cf = this.ModelForm; BLoadTable blt = cf.CurModel.LoadTable; SortedList <int, BNLoad> NLD = blt.NLoadData["DL"] as SortedList <int, BNLoad>; MessageTool.Tb_out.AppendText(Environment.NewLine + "DL工况下节点荷载号如下:"); foreach (int n in NLD.Keys) { MessageTool.Tb_out.AppendText(" " + n.ToString()); } }
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e) { if (!this.HasToolWindow("Model")) { ModelForm1 mf = new ModelForm1(); mf.Text = "新模型"; _LayoutManager.ToolWindows.Add(mf); this.Refresh();//刷新界面 } else { DialogResult res = MessageBox.Show("现有模型数据将被初始化,是否确认对现有模型进行初始化?", "注意", MessageBoxButtons.YesNo, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button2); if (res == DialogResult.Yes) { _LayoutManager.ToolWindows.Remove(_LayoutManager.ToolWindows["Model"]); ModelForm1 mf = new ModelForm1(); mf.Text = "新模型"; _LayoutManager.ToolWindows.Add(mf); this.Refresh();//刷新界面 } } }
//点击开始时 private void bt_run_Click(object sender, EventArgs e) { string fileN = textBox1.Text; //节点文件路径 string fileE = textBox2.Text; //单元文件路径 RefreshUnitRatio(); //更新长度单位系数 MainForm mmf = this.Owner as MainForm; //主窗口 ModelForm1 mf = mmf.ModelForm; TextBox messagebox = mmf.MessageTool.Tb_out; //信息窗口 Bmodel MyModel = new Bmodel(); //模型数据库 Workbook bookN = Workbook.Load(fileN); //节点数据表 Workbook bookE = Workbook.Load(fileE); //节点数据表 #region 节点表信息读取及处理 //节点表信息读取及处理 foreach (Worksheet ws in bookN.Worksheets) { if (ws.Name == "节点") { ReadNode1(ws, ref MyModel);//读取“节点”表 } else if (ws.Name == "节点荷载" || ws.Name == "节点导荷载") { ReadNode2(ws, ref MyModel);//读取“节点荷载”表/“节点导荷载”表 } } messagebox.AppendText(Environment.NewLine + "读取节点表信息完成!"); #endregion #region 单元表信息读取及处理 //单元表信息读取及处理 foreach (Worksheet ws in bookE.Worksheets) { if (ws.Name == "单元") { ReadElem1(ws, ref MyModel); } else if (ws.Name == "单元荷载") { ReadElem2(ws, ref MyModel); } else if (ws.Name == "杆件导荷载") { ReadElem2(ws, ref MyModel); } else if (ws.Name == "计算长度") { ReadElem3(ws, ref MyModel); } } messagebox.AppendText(Environment.NewLine + "读取单元表信息完成!"); #endregion MyModel.UNIT.Force = "KN"; //指定力为KN mf.CurModel = MyModel; //存储模型入数据库 messagebox.AppendText(Environment.NewLine + "导入模型:" + MyModel.nodes.Count + "节点," + MyModel.elements.Count + "单元"); //this.Close(); }