| | |
| | | using System.Text; |
| | | using System.Linq; |
| | | using DPumpHydr.WinFrmUI.Volute.ViewModel; |
| | | using System.Security.Policy; |
| | | |
| | | namespace DPumpHydr.WinFrmUI.Volute |
| | | { |
| | |
| | | ViewModel.HdrBaseInfo _hdrBaseInfo = null; |
| | | ViewModel.GeomBaseInfo _geomBaseInfo = null; |
| | | ViewModel.SectionBaseInfo _sectionBaseInfo = null; |
| | | ViewModel.SectionShapePara _sectionShapePara = null; |
| | | DPumpHydr.WinFrmUI.Volute.TreeStepNode next_step = null; |
| | | int index; |
| | | /// <summary> |
| | | /// 下一步核心 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private bool GoNextStepCore() |
| | | { |
| | | var next_step = (from x in _allStepNodes |
| | | where x.ID > _currentStepID |
| | | orderby x.ID |
| | | select x).FirstOrDefault(); |
| | | if (next_step == null) |
| | | return false; |
| | | if (_currentStepID != Step_ID_Section18_Dim || index>8 || index<=1) |
| | | { |
| | | index = 9; |
| | | next_step = (from x in _allStepNodes |
| | | where x.ID > _currentStepID |
| | | orderby x.ID |
| | | select x).FirstOrDefault(); |
| | | if (next_step == null) |
| | | return false; |
| | | } |
| | | |
| | | //第一步进行下一步点击 |
| | | if(_currentStepID == Step_ID_Hdr_Base_Info) |
| | | { |
| | | string error_info; |
| | |
| | | { |
| | | _geomBaseInfo = new ViewModel.GeomBaseInfo(); |
| | | } |
| | | _geomBaseInfo.Calc(hdrBaseInfo); |
| | | _geomBaseInfo.Calc(_hdrBaseInfo); |
| | | } |
| | | //第二步进行下一步点击 |
| | | if (_currentStepID == Step_ID_Geom_Base_Info) |
| | | { |
| | | string error_info; |
| | |
| | | } |
| | | _sectionBaseInfo.CalcV3(_hdrBaseInfo, _geomBaseInfo); |
| | | _sectionBaseInfo.CalcArea(_hdrBaseInfo, _geomBaseInfo, _sectionBaseInfo.V3); |
| | | _sectionBaseInfo.IntialShapeType(_hdrBaseInfo, _geomBaseInfo, eSectionShapeType.对称); |
| | | _sectionBaseInfo.IntialShapeType(_hdrBaseInfo, _geomBaseInfo, _sectionBaseInfo.ShapeType); |
| | | } |
| | | //if (_currentStepID == Step_ID_Section18_Base) |
| | | //{ |
| | | // string error_info; |
| | | // var geomBaseInfo = _ctrlGeomBaseInfo.GetBindingData(out error_info); |
| | | // if (geomBaseInfo == null) |
| | | // { |
| | | // MessageBox.Show(error_info); |
| | | // return false; |
| | | // } |
| | | // _geomBaseInfo = geomBaseInfo; |
| | | //} |
| | | //第三步进行下一步点击 |
| | | if (_currentStepID == Step_ID_Section18_Base) |
| | | { |
| | | |
| | | string error_info; |
| | | var sectionBaseInfo = _ctrlSectionBaseInfo.GetBindingData(out error_info); |
| | | if (sectionBaseInfo == null) |
| | | { |
| | | MessageBox.Show(error_info); |
| | | return false; |
| | | } |
| | | _sectionBaseInfo = sectionBaseInfo; |
| | | _sectionBaseInfo.InitialAllParameters(_hdrBaseInfo, _geomBaseInfo); |
| | | index--; |
| | | if (_sectionShapePara == null) |
| | | { |
| | | _sectionShapePara = new ViewModel.SectionShapePara(); |
| | | } |
| | | _sectionShapePara.Initialparameters(index, _sectionBaseInfo); |
| | | } |
| | | //1-8断面进行下一步点击 |
| | | if (_currentStepID == Step_ID_Section18_Dim) |
| | | { |
| | | string error_info; |
| | | var sectionShapeInfo18 = _ctrlSectionShapeInfo18.GetBindingData(out error_info); |
| | | if (sectionShapeInfo18 == null) |
| | | { |
| | | MessageBox.Show(error_info); |
| | | return false; |
| | | } |
| | | _sectionShapePara = sectionShapeInfo18; |
| | | _sectionShapePara.CalcHeightByArea(_sectionBaseInfo.ShapeType); |
| | | _sectionBaseInfo.EditSingleShape(_sectionShapePara, index); |
| | | if(index != 9) |
| | | { |
| | | index--; |
| | | } |
| | | _sectionShapePara.Initialparameters(index, _sectionBaseInfo); |
| | | } |
| | | SetParasCtrl(next_step.ID); |
| | | |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 上一步核心 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private bool GoPrevStepCore() |
| | | { |
| | | { |
| | | //bool IsChanges = true; |
| | | //if (_currentStepID == Step_ID_Section18_Base && _ctrlSectionBaseInfo.IsParameterChange()) |
| | | //{ |
| | | // IsChanges = false; |
| | | //} |
| | | //if(IsChanges) |
| | | //{ |
| | | // DialogResult result = MessageBox.Show("已经修改过的数据需要保存吗?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); |
| | | // if (result == DialogResult.OK) |
| | | // { |
| | | // string error_info = ""; |
| | | // var hdrBaseInfo = _ctrlSectionBaseInfo.GetBindingData(out error_info); |
| | | // if (hdrBaseInfo == null) |
| | | // { |
| | | // MessageBox.Show(error_info); |
| | | // return false; |
| | | // } |
| | | // } |
| | | //} |
| | | if (_currentStepID == Step_ID_Hdr_Base_Info) |
| | | return false; |
| | | |
| | | if(_currentStepID == Step_ID_Section18_Dim && index >=1 &&index < 8) |
| | | { |
| | | index++; |
| | | _sectionShapePara.Initialparameters(index, _sectionBaseInfo); |
| | | SetParasCtrl(Step_ID_Section18_Dim); |
| | | return true; |
| | | } |
| | | if(_currentStepID == Step_ID_Outflow_Style) |
| | | { |
| | | index = 1; |
| | | _sectionShapePara.Initialparameters(index, _sectionBaseInfo); |
| | | } |
| | | var prev_step = (from x in _allStepNodes |
| | | where x.ID < _currentStepID |
| | | orderby x.ID |
| | | select x).LastOrDefault(); |
| | | where x.ID < _currentStepID |
| | | orderby x.ID |
| | | select x).LastOrDefault(); |
| | | if (prev_step == null) |
| | | return false; |
| | | |
| | | SetParasCtrl(prev_step.ID); |
| | | |
| | | SetParasCtrl(prev_step.ID); |
| | | |
| | | return true; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 生成第几步控件 |
| | | /// </summary> |
| | |
| | | this.panelParas.Controls.Add(_ctrlSectionBaseInfo); |
| | | _ctrlSectionBaseInfo.SetBindingData(_sectionBaseInfo); |
| | | } |
| | | //第四步 |
| | | if (step_id == Step_ID_Section18_Dim) |
| | | { |
| | | if (_ctrlSectionShapeInfo18 == null) |
| | |
| | | _ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18"; |
| | | _ctrlSectionShapeInfo18.Dock = DockStyle.Right; |
| | | } |
| | | |
| | | this.panelParas.Controls.Clear(); |
| | | this.panelParas.Controls.Add(_ctrlSectionShapeInfo18); |
| | | _ctrlSectionShapeInfo18.SetBindingData(_sectionShapePara); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | this._currentStepID = step_id; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 蜗壳参数导出 |
| | | /// </summary> |
| | | public void VoluteDeriveArgument() |
| | | { |
| | | if(_sectionBaseInfo == null ) |
| | | { |
| | | MessageBox.Show("您还没有完成定义参数!请定义完成后在进行导出!(至少完成第三步)"); |
| | | return; |
| | | } |
| | | if(_currentStepID <= 21) |
| | | { |
| | | DialogResult result = MessageBox.Show("确定不进行后续断面参数的调整,使用初始计算后的参数吗?","提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); |
| | | if (result == DialogResult.Cancel) |
| | | { |
| | | return; |
| | | } |
| | | } |
| | | ViewModel.SectionShapePara VoluteArgument = new ViewModel.SectionShapePara(); |
| | | string json = VoluteArgument.DeriveArgument(_sectionBaseInfo); |
| | | string filePath = Path.Combine(@"C:\Users\THL\Desktop", $"蜗壳参数.json"); |
| | | File.WriteAllText(filePath, json); |
| | | } |
| | | |
| | | #region 初始化步骤列表 |
| | | |
| | | /// <summary> |