From 0a1bf56909464e938a68c29b26ab88ff51380fad Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期三, 08 一月 2025 13:56:17 +0800 Subject: [PATCH] 能效分析水力图表 装置点显示文字 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationPumpAnalyChartCtrl.cs | 105 ++++++++++++++++++++++++++-------------------------- 1 files changed, 53 insertions(+), 52 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationPumpAnalyChartCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationPumpAnalyChartCtrl.cs index e659f6b..71fc5bf 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationPumpAnalyChartCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/11-pump/03-analy/SimulationPumpAnalyChartCtrl.cs @@ -1,14 +1,4 @@ -锘縰sing DevExpress.XtraEditors; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; -using Yw.Geometry; +锘縰sing System.Data; using Yw.Pump; using Yw.Vmo; using Yw.WinFrmUI.Phart; @@ -20,6 +10,7 @@ public SimulationPumpAnalyChartCtrl() { InitializeComponent(); + this.pumpRunViewChart1.RunPointSelectedEvent += PumpRunViewChart1_RunPointSelectedEvent; } private Yw.Model.HydroModelInfo _hydroInfo = null;//姘村姏淇℃伅 @@ -82,16 +73,24 @@ public void SetBindingData(PumpRunViewViewModel vm) { this.pumpRunViewChart1.SetBindingData(vm); + this.barCheckE.Checked = this.pumpRunViewChart1.QEVisible; + this.barCheckP.Checked = this.pumpRunViewChart1.QPVisble; if (vm != null && vm.Items != null) { var item = vm.Items.FirstOrDefault(); - if (item != null) - { - this.barTxtQ.EditValue = $"{Math.Round(item.Q, 1)}m鲁/h"; - this.barTxtH.EditValue = $"{Math.Round(item.H, 2)}m"; - this.barTxtP.EditValue = $"{Math.Round(item.P ?? 0, 1)}kW"; - this.barTxtE.EditValue = $"{Math.Round(item.E ?? 0, 1)}%"; - } + SetCurrent(item); + } + } + + //璁剧疆褰撳墠 + private void SetCurrent(PumpRunViewItemViewModel item) + { + if (item != null) + { + this.barTxtQ.EditValue = $"{Math.Round(item.Q, 1)}m鲁/h"; + this.barTxtH.EditValue = $"{Math.Round(item.H, 2)}m"; + this.barTxtP.EditValue = $"{Math.Round(item.P ?? 0, 1)}kW"; + this.barTxtE.EditValue = $"{Math.Round(item.E ?? 0, 1)}%"; } } @@ -110,10 +109,10 @@ vm.Id = _pumpInfo.Code; vm.Name = _pumpInfo.Name; vm.CurveName = $"棰濆畾鏇茬嚎({_pumpInfo.RatedHz}hz)"; - vm.RatedQ = _pumpInfo.RatedQ ?? 0; - vm.RatedH = _pumpInfo.RatedH ?? 0; + vm.RatedQ = _pumpInfo.RatedQ; + vm.RatedH = _pumpInfo.RatedH; vm.RatedP = _pumpInfo.RatedP; - vm.RatedN = _pumpInfo.RatedN ?? 0; + vm.RatedN = _pumpInfo.RatedN; vm.RatedHz = _pumpInfo.RatedHz; vm.Color = Color.Black; @@ -123,7 +122,7 @@ var qh_pts = curveqh.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); if (qh_pts != null && qh_pts.Count > 3) { - vm.CurveQH = new CubicSpline2d(qh_pts); + vm.CurveQH = qh_pts; } } @@ -133,7 +132,7 @@ var qp_pts = curveqp.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); if (qp_pts != null && qp_pts.Count > 3) { - vm.CurveQP = new CubicSpline2d(qp_pts); + vm.CurveQP = qp_pts; } } @@ -143,7 +142,7 @@ var qepts = curveqe.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); if (qepts != null && qepts.Count > 3) { - vm.CurveQE = new CubicSpline2d(qepts); + vm.CurveQE = qepts; } } @@ -156,10 +155,7 @@ vmItem.Name = "杩愯"; vmItem.Hz = Math.Round(_pumpInfo.RatedHz * _pumpInfo.SpeedRatio, 1); vmItem.Color = Color.Blue; - if (_pumpInfo.RatedN.HasValue) - { - vmItem.N = Math.Round(_pumpInfo.RatedN.Value * _pumpInfo.SpeedRatio, 1); - } + vmItem.N = Math.Round(_pumpInfo.RatedN * _pumpInfo.SpeedRatio, 1); var calcuResult = _allCalcuResultVisualDict?.GetValue(_pumpInfo.Code) as HydroCalcuPumpResult; if (calcuResult != null) { @@ -172,23 +168,23 @@ if (vm.CurveQH != null) { - var qh_pts = vm.CurveQH.GetPointList(20); + var qh_pts = vm.CurveQH; var qh_run_pts = qh_pts.GetQHPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQH = new CubicSpline2d(qh_run_pts); + vmItem.CurveQH = qh_run_pts; } if (vm.CurveQP != null) { - var qp_pts = vm.CurveQP.GetPointList(20); + var qp_pts = vm.CurveQP; var qp_run_pts = qp_pts.GetQPPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQP = new CubicSpline2d(qp_run_pts); + vmItem.CurveQP = qp_pts; } if (vm.CurveQE != null) { - var qe_pts = vm.CurveQE.GetPointList(20); + var qe_pts = vm.CurveQE; var qe_run_pts = qe_pts.GetQEPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQE = new CubicSpline2d(qe_run_pts); + vmItem.CurveQE = qe_run_pts; } } @@ -210,10 +206,10 @@ vm.Id = _pumpInfo.Code; vm.Name = _pumpInfo.Name; vm.CurveName = $"棰濆畾鏇茬嚎({_pumpInfo.RatedHz}hz)"; - vm.RatedQ = _pumpInfo.RatedQ ?? 0; - vm.RatedH = _pumpInfo.RatedH ?? 0; + vm.RatedQ = _pumpInfo.RatedQ; + vm.RatedH = _pumpInfo.RatedH; vm.RatedP = _pumpInfo.RatedP; - vm.RatedN = _pumpInfo.RatedN ?? 0; + vm.RatedN = _pumpInfo.RatedN; vm.RatedHz = _pumpInfo.RatedHz; vm.Color = Color.Black; @@ -223,7 +219,7 @@ var qh_pts = curveqh.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); if (qh_pts != null && qh_pts.Count > 3) { - vm.CurveQH = new CubicSpline2d(qh_pts); + vm.CurveQH = qh_pts; } } @@ -233,17 +229,17 @@ var qp_pts = curveqp.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); if (qp_pts != null && qp_pts.Count > 3) { - vm.CurveQP = new CubicSpline2d(qp_pts); + vm.CurveQP = qp_pts; } } var curveqe = _hydroInfo.Curves?.Find(x => x.Code == _pumpInfo.CurveQE); if (curveqe != null) { - var qepts = curveqe.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); - if (qepts != null && qepts.Count > 3) + var qe_pts = curveqe.CurveData?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); + if (qe_pts != null && qe_pts.Count > 3) { - vm.CurveQE = new CubicSpline2d(qepts); + vm.CurveQE = qe_pts; } } @@ -264,10 +260,10 @@ vmItem.Name = working.Name; vmItem.Hz = workingPumpInfo.CurrentHz; vmItem.Color = HydroPumpCurveColorHelper.GetRandomColor(_allWorkingList.IndexOf(working)); - if (_pumpInfo.RatedN.HasValue) + if (_pumpInfo.RatedN > 0) { var speedRatio = workingPumpInfo.CurrentHz / _pumpInfo.RatedHz; - vmItem.N = Math.Round(_pumpInfo.RatedN.Value * speedRatio, 1); + vmItem.N = Math.Round(_pumpInfo.RatedN * speedRatio, 1); } vmItem.CurveName = $"{working.Name}({vmItem.Hz}hz)"; if (_allWorkingCalcuResultDict == null) @@ -292,23 +288,23 @@ if (vm.CurveQH != null) { - var qh_pts = vm.CurveQH.GetPointList(20); + var qh_pts = vm.CurveQH; var qh_run_pts = qh_pts.GetQHPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQH = new CubicSpline2d(qh_run_pts); + vmItem.CurveQH = qh_run_pts; } if (vm.CurveQP != null) { - var qp_pts = vm.CurveQP.GetPointList(20); + var qp_pts = vm.CurveQP; var qp_run_pts = qp_pts.GetQPPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQP = new CubicSpline2d(qp_run_pts); + vmItem.CurveQP = qp_run_pts; } if (vm.CurveQE != null) { - var qe_pts = vm.CurveQE.GetPointList(20); + var qe_pts = vm.CurveQE; var qe_run_pts = qe_pts.GetQEPointListByN(vm.RatedHz, vmItem.Hz); - vmItem.CurveQE = new CubicSpline2d(qe_run_pts); + vmItem.CurveQE = qe_run_pts; } } } @@ -321,13 +317,13 @@ //鏁堢巼绾� private void barCheckE_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - //this.pumpRunViewChart1.SetEQVisible + this.pumpRunViewChart1.QEVisible = this.barCheckE.Checked; } //鍔熺巼绾� private void barCheckP_CheckedChanged(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { - + this.pumpRunViewChart1.QPVisble = this.barCheckP.Checked; } //璁剧疆鍧愭爣杞� @@ -336,6 +332,11 @@ this.pumpRunViewChart1.SetChartAxis(); } + private void PumpRunViewChart1_RunPointSelectedEvent(PumpRunViewItemViewModel obj) + { + SetCurrent(obj); + } + } } -- Gitblit v1.9.3