From 9cc5bf68aaab46f33f2b00f8dcef0ab52ced0c41 Mon Sep 17 00:00:00 2001 From: tangxu <tangxu76880903> Date: 星期五, 27 十二月 2024 10:17:12 +0800 Subject: [PATCH] 添加出口口径初始化 --- WinFrmUI/DPumpHydr.WinFrmUI.Volute/出水设计/ctrlSetOutflowParas.cs | 168 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 103 insertions(+), 65 deletions(-) diff --git "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" index d9b5417..b111c75 100644 --- "a/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" +++ "b/WinFrmUI/DPumpHydr.WinFrmUI.Volute/\345\207\272\346\260\264\350\256\276\350\256\241/ctrlSetOutflowParas.cs" @@ -9,6 +9,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using DPumpHydr.WinFrmUI.Volute.ViewModel; +using static System.Runtime.InteropServices.JavaScript.JSType; namespace DPumpHydr.WinFrmUI.Volute { @@ -17,94 +18,131 @@ public ctrlSetOutflowParas() { InitializeComponent(); - + BuildAllTips(); } eOutflowStyle _stype = eOutflowStyle.鏈煡; - //ViewModel.OtuflowParas _otuflowParas = null; - ViewModel.OtuflowParas _otuflowParas = new OtuflowParas() { Offset = 10, High = 420, Dia = 80, TopValue_left = 80, BtmValue_left = 80, BtmValue_reight = 80, TopValue_reight = 80, H1 = 10, H2 = 10, Septalradius = 10 }; + public Func<OtuflowParas, bool> OnRefreshShape = null; + ViewModel.OtuflowParas _outflowParas = null; + + //鎺т欢 sidelineExitControl _sidelineExitControl = null; sideCurveExitControl _sideCurveExitControl = null; - public void SetBindingData(eOutflowStyle style) + public void SetOutflowStyle(eOutflowStyle style) { - if(_stype == style) + if (_stype == style) return; - _stype = style; - - var control = InitialParasControl( ); - if (control is sidelineExitControl) - { - _sidelineExitControl = (sidelineExitControl)control; + _stype = style; - _sidelineExitControl.SetBindingData(_otuflowParas); - if (_stype == eOutflowStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�) - { - _sidelineExitControl.SetA_state(false); - } - else - { - _sidelineExitControl.SetA_state(true); - } - } - if (control is sideCurveExitControl) - { - _sideCurveExitControl = (sideCurveExitControl)control; - _sideCurveExitControl.SetBindingData(_otuflowParas); - } - - } - public ViewModel.OtuflowParas GetBindingData(out string error) - { - error = ""; - if(_stype == eOutflowStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) - { - _otuflowParas = _sideCurveExitControl.GetBindingData(out error); - if(_otuflowParas == null) - { - return null; - } - } - else - { - _otuflowParas = _sidelineExitControl.GetBindingData(out error); - if (_otuflowParas == null) - { - return null; - } - } - return _otuflowParas; - } - private Control InitialParasControl( ) - { - - Control newControl = null; + panel.Controls.Clear(); switch (_stype) { case eOutflowStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�: - newControl = new sidelineExitControl(); metroTile鎵╂暎绠″舰鐘�.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238); - break; + + if (_sidelineExitControl == null) + _sidelineExitControl = new sidelineExitControl(); + _sidelineExitControl.SetA_state(false); + _sidelineExitControl.Dock = DockStyle.Top; + panel.Controls.Add(_sidelineExitControl); + return; case eOutflowStyle.渚ч潰鍑哄彛_鏇茬嚎杩炴帴: - newControl = new sidelineExitControl(); metroTile鎵╂暎绠″舰鐘�.BackgroundImage = GlobalResource.BuildImage("Side-exit-curve.png", 878, 238); - break; + if (_sidelineExitControl == null) + _sidelineExitControl = new sidelineExitControl(); + _sidelineExitControl.Dock = DockStyle.Top; + _sidelineExitControl.SetA_state(true); + panel.Controls.Add(_sidelineExitControl); + return; case eOutflowStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴: - newControl = new sideCurveExitControl(); metroTile鎵╂暎绠″舰鐘�.BackgroundImage = GlobalResource.BuildImage("Side-exit-straight-line.png", 878, 238); - break; + + if (_sideCurveExitControl == null) + _sideCurveExitControl = new sideCurveExitControl(); + _sideCurveExitControl.Dock = DockStyle.Top; + panel.Controls.Add(_sideCurveExitControl); + return; default: throw new ArgumentException("Invalid control type"); } + } - panel.Controls.Clear(); - panel.Controls.Add(newControl); - newControl.Dock = DockStyle.Top; - return newControl; + public void InitialParas( + eOutflowStyle style, + ViewModel.HdrBaseInfo hdrBaseInfo , + ViewModel.GeomBaseInfo geomBaseInfo , + ViewModel.SectionBundleInfo sectionBundleInfo ) + { + SetOutflowStyle(style); + //鍑哄彛鐩村緞鏍囧噯鍖� + double outer_dia = 4.5 * Math.Pow(hdrBaseInfo.Q / 3600 / hdrBaseInfo.n, 1 / 3.0) * 1000; + double height = 10 * (int)((geomBaseInfo.D3 * 1.3 + sectionBundleInfo.H[8] + 15) / 10); + + double a = 0; + if (style == eOutflowStyle.涓績鍑哄彛_鍨傜洿娉曞叞闈㈡祦鍑�) + { + a = 0; + } + else + { + a = (int)((geomBaseInfo.D3 + sectionBundleInfo.H[8]) / 2); + } + + _outflowParas = new OtuflowParas(); + _outflowParas.Offset = a; + _outflowParas.Heigh = height; + _outflowParas.H1 = 5; + _outflowParas.H2 = 5; + _outflowParas.Dia = GetStdDia(outer_dia); + _outflowParas.Septalradius = 10; + if (_stype == eOutflowStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + { + _sideCurveExitControl.SetBindingData(_outflowParas); + } + else + { + _sidelineExitControl.SetBindingData(_outflowParas); + } + } + + private static double GetStdDia(double mm) + { + var iFlangeCodeList = new int[] {10,15,20,25,32, + 40,50,65,80,100, + 125,150,200,250,300, + 350,400,450,500,600, + 700,800,900,1000,1200, + 1400,1600,1800,2000,5000,100000}; + + for (int i = 0; i < iFlangeCodeList.Count() - 1; i++) + { + if (mm < iFlangeCodeList[i]) + return iFlangeCodeList[i]; + } + + + return iFlangeCodeList.Last(); + } + // + public ViewModel.OtuflowParas GetBindingData(out string error) + { + error = ""; + if (_stype == eOutflowStyle.渚ч潰鍑哄彛_鐩寸嚎杩炴帴) + { + _outflowParas = _sideCurveExitControl.GetBindingData(out error); + } + else + { + _outflowParas = _sidelineExitControl.GetBindingData(out error); + } + + return _outflowParas; } - public Func<OtuflowParas, bool> OnRefreshShape = null; + + private void BuildAllTips() { @@ -113,7 +151,7 @@ public void ShowPage() { - OnRefreshShape(_otuflowParas); + OnRefreshShape(_outflowParas); } -- Gitblit v1.9.3