From 217c17853daef559040a66aced4a613c4308e4ca Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期三, 23 十月 2024 13:04:23 +0800 Subject: [PATCH] 曲线并联 --- WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs | 83 +++++++++++++++++++++++++++++++++-------- 1 files changed, 66 insertions(+), 17 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs index da94d99..413b980 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs @@ -1,7 +1,6 @@ 锘縰sing DevExpress.Utils; using DevExpress.XtraCharts; using System.Text; -using System.Windows.Forms; using Yw.Geometry; namespace Yw.WinFrmUI.Phart @@ -15,9 +14,7 @@ { InitializeComponent(); InitialChart(); - this.chartControl1.RuntimeHitTesting = true; - //this.chartControl1.SelectionMode = ElementSelectionMode.Single; - //this.chartControl1.SeriesSelectionMode = SeriesSelectionMode.Series; + this.chartControl1.RuntimeHitTesting = true; } #region Private Variable @@ -153,7 +150,7 @@ #endregion - #region Add Update Curve + #region Add Set /// <summary> /// 娣诲姞鏇茬嚎 @@ -165,6 +162,20 @@ return; _vm_list = new List<PumpSerialParallelInfoViewModel>(); _design_pt = design_pt; + _initialData = true; + _vm_list.AddRange(vm_list); + UpdateChart(true); + } + + /// <summary> + /// 娣诲姞鏇茬嚎 + /// </summary> + /// <param name="vm_list"></param> + public void Add(List<PumpSerialParallelInfoViewModel> vm_list) + { + if (vm_list == null || !vm_list.Any()) + return; + _vm_list = new List<PumpSerialParallelInfoViewModel>(); _initialData = true; _vm_list.AddRange(vm_list); UpdateChart(true); @@ -185,6 +196,23 @@ _vm_list.Add(vm); UpdateChart(true); } + + /// <summary> + /// 娣诲姞鏇茬嚎 + /// </summary> + /// <param name="vm"></param> + public void Add(PumpSerialParallelInfoViewModel vm) + { + if (vm == null) + return; + if (_vm_list == null) + _vm_list = new List<PumpSerialParallelInfoViewModel>(); + _initialData = true; + _vm_list.Add(vm); + UpdateChart(true); + } + + /// <summary> /// 璁剧疆鏇茬嚎 @@ -243,7 +271,7 @@ } } } - + /// <summary> /// 璁剧疆璁捐鐐� /// </summary> @@ -251,7 +279,7 @@ public void SetDesignPt(Yw.Geometry.Point2d design_pt) { _design_pt = design_pt; - UpdateChart(true); + UpdateChart(true,true); } @@ -286,7 +314,7 @@ /// 鏇存柊鍥捐〃 /// </summary> /// <param name="calc_coordinate">璁$畻鍧愭爣</param> - public void UpdateChart(bool calc_coordinate = false) + public void UpdateChart(bool calc_coordinate = false, bool calc_eq = false) { if (calc_coordinate || _coordinate_paras == null) { @@ -294,14 +322,13 @@ CalcCoordinate(); } - CalcSeries(); + CalcSeries(calc_eq); CalcChartAxis(); CalcWorkPointByQ(); CalcTextAnchorPoint(); - } #endregion @@ -484,17 +511,38 @@ _axis_y_qp.GridLines.Visible = true; } + var minQ = _coordinate_paras.CoordMinQ; + var maxQ = _coordinate_paras.DispMaxQ(); - _axis_x_q.SetAxisRange(_coordinate_paras.CoordMinQ, _coordinate_paras.DispMaxQ()); - _axis_y_qh.SetAxisRange(_coordinate_paras.DispMinH(), _coordinate_paras.DispMaxH()); - _axis_y_qe.SetAxisRange(_coordinate_paras.DispMinE(), _coordinate_paras.DispMaxE()); - _axis_y_qp.SetAxisRange(_coordinate_paras.DispMinP(), _coordinate_paras.DispMaxP()); + + var minH = _coordinate_paras.DispMinH(); + var maxH = _coordinate_paras.DispMaxH(); + + + var minE = _coordinate_paras.DispMinE(); + var maxE = _coordinate_paras.DispMaxE(); + + + + var minP = _coordinate_paras.DispMinP(); + var maxP = _coordinate_paras.DispMaxP(); + + if (double.IsNaN(minP)||double.IsNaN(maxP)) + { + minP = 0; + maxP = 1000; + } + + _axis_x_q.SetAxisRange(minQ, maxQ); + _axis_y_qh.SetAxisRange(minH, maxH); + _axis_y_qe.SetAxisRange(minE, maxE); + _axis_y_qp.SetAxisRange(minP, maxP); } /// <summary> /// 璁$畻绯诲垪 /// </summary> - private void CalcSeries() + private void CalcSeries(bool calc_eq) { this.chartControl1.BeginInit(); this.chartControl1.Series.Clear(); @@ -519,13 +567,14 @@ else { CreateLineSeries(vm); - CreateEqSeries(vm, _design_pt); + if (calc_eq) + CreateEqSeries(vm, _design_pt); } } } else { - LineVisible = false; + //LineVisible = false; } this.chartControl1.EndInit(); } -- Gitblit v1.9.3