From 399c534c415062b08ee5a00fb2c36608f4b3c7ff Mon Sep 17 00:00:00 2001 From: tangxu <tangxu76880903> Date: 星期六, 02 十一月 2024 18:32:06 +0800 Subject: [PATCH] 添加occ控件 --- WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs | 179 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 143 insertions(+), 36 deletions(-) diff --git a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs index 6b1457b..b07e29e 100644 --- a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs +++ b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/MainViewPage_StepInfo.cs @@ -1,16 +1,22 @@ -锘� -using System; +锘縰sing System; using System.Collections.Generic; using System.Windows.Forms; using System.IO; using System.Text; using System.Linq; -using DPumpHydr.WinFrmUI.Volute.ViewModel; namespace DPumpHydr.WinFrmUI.Volute { public partial class MainViewPage { + // + ctrlHdrBaseInfo _ctrlHdrBaseInfo = null; + ctrlGeomBaseInfo _ctrlGeomBaseInfo = null; + ctrlSectionBaseInfo _ctrlSectionBaseInfo = null; + ctrlSectionShapeInfo18 _ctrlSectionShapeInfo18 = null; + ctrlSetOutflowStyle _ctrlSetOutflowStyle = null; + ctrlSetOutflowDim _ctrlSetOutflowDim = null; + //鍩虹淇℃伅 private readonly string Group_Name_Base_Info = "BaseInfo"; private readonly int Group_ID_Base_Info = -1;//缁処D @@ -56,18 +62,28 @@ } ViewModel.HdrBaseInfo _hdrBaseInfo = null; ViewModel.GeomBaseInfo _geomBaseInfo = null; + ViewModel.SectionBaseInfo _sectionBaseInfo = null; + ViewModel.SectionShapePara _sectionShapePara = null; + DPumpHydr.WinFrmUI.Volute.TreeStepNode next_step = null; + int _currentSectIndex; /// <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 || _currentSectIndex>8 || _currentSectIndex<=1) + { + _currentSectIndex = 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; @@ -83,8 +99,9 @@ { _geomBaseInfo = new ViewModel.GeomBaseInfo(); } - _geomBaseInfo.Calc(hdrBaseInfo); + _geomBaseInfo.Calc(_hdrBaseInfo); } + //绗簩姝ヨ繘琛屼笅涓�姝ョ偣鍑� if (_currentStepID == Step_ID_Geom_Base_Info) { string error_info; @@ -95,48 +112,116 @@ return false; } _geomBaseInfo = geomBaseInfo; + if(_sectionBaseInfo == null) + { + _sectionBaseInfo = new ViewModel.SectionBaseInfo(); + } + _sectionBaseInfo.CalcV3(_hdrBaseInfo, _geomBaseInfo); + _sectionBaseInfo.CalcArea(_hdrBaseInfo, _geomBaseInfo, _sectionBaseInfo.V3); + _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); + _currentSectIndex--; + if (_sectionShapePara == null) + { + _sectionShapePara = new ViewModel.SectionShapePara(); + } + _sectionShapePara.Initialparameters(_currentSectIndex, _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, _currentSectIndex); + if(_currentSectIndex != 9) + { + _currentSectIndex--; + } + _sectionShapePara.Initialparameters(_currentSectIndex, _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 && _currentSectIndex >=1 &&_currentSectIndex < 8) + { + _currentSectIndex++; + _sectionShapePara.Initialparameters(_currentSectIndex, _sectionBaseInfo); + SetParasCtrl(Step_ID_Section18_Dim); + return true; + } + if(_currentStepID == Step_ID_Outflow_Style) + { + _currentSectIndex = 1; + _sectionShapePara.Initialparameters(_currentSectIndex, _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> /// <param name="step_id"></param> private void SetParasCtrl(long step_id) { + //绗竴姝� if (step_id == Step_ID_Hdr_Base_Info) { if (_ctrlHdrBaseInfo == null) @@ -146,6 +231,7 @@ _ctrlHdrBaseInfo.SetBindingData(_hdrBaseInfo); } + //绗簩姝� if (step_id == Step_ID_Geom_Base_Info) { if (_ctrlGeomBaseInfo == null) @@ -159,9 +245,7 @@ _ctrlGeomBaseInfo.SetBindingData(_geomBaseInfo); } - - - + //绗笁姝� if (step_id == Step_ID_Section18_Base) { if (_ctrlSectionBaseInfo == null) @@ -170,11 +254,11 @@ _ctrlSectionBaseInfo.Name = "ctrlSectionBaseInfo"; _ctrlSectionBaseInfo.Dock = DockStyle.Right; } - - this.panelParas.Controls.Clear(); this.panelParas.Controls.Add(_ctrlSectionBaseInfo); + _ctrlSectionBaseInfo.SetBindingData(_sectionBaseInfo); } + //绗洓姝� if (step_id == Step_ID_Section18_Dim) { if (_ctrlSectionShapeInfo18 == null) @@ -183,9 +267,9 @@ _ctrlSectionShapeInfo18.Name = "ctrlSectionShapeInfo18"; _ctrlSectionShapeInfo18.Dock = DockStyle.Right; } - this.panelParas.Controls.Clear(); this.panelParas.Controls.Add(_ctrlSectionShapeInfo18); + _ctrlSectionShapeInfo18.SetBindingData(_sectionShapePara); } @@ -220,8 +304,31 @@ this._currentStepID = step_id; } - + /// <summary> + /// 铚楀3鍙傛暟瀵煎嚭 + /// </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", $"铚楀3鍙傛暟.json"); + File.WriteAllText(filePath, json); + } + #region 鍒濆鍖栨楠ゅ垪琛� /// <summary> @@ -389,7 +496,7 @@ _ctrlHdrBaseInfo.Dock = DockStyle.Right; _ctrlHdrBaseInfo.SetBindingData(hdrBaseInfo); } - this.panelParas.Controls.Clear(); + //this.panelParas.Controls.Clear();//涓嶈兘娓呯悊 this.panelParas.Controls.Add(_ctrlHdrBaseInfo); this._currentStepID = Step_ID_Hdr_Base_Info; //this.stepTreeListCtrl.SetStepSource(_allStepNodes, 1); -- Gitblit v1.9.3