From a434b83043a5646d5dd99c3e934cc8a30ac6165f Mon Sep 17 00:00:00 2001
From: Shuxia Ning <NingShuxia0927@outlook.com>
Date: 星期二, 29 十月 2024 13:29:35 +0800
Subject: [PATCH] 曲线修改

---
 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs |   34 +++++++++++++++++++---------------
 1 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs
index d3000ed..811dedb 100644
--- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs
@@ -52,8 +52,7 @@
         private List<Yw.Geometry.Point2d> _def_qe_pt_list;
         private List<Yw.Geometry.Point2d> _def_qp_pt_list;
 
-
-        private PumpGroupPt _design_pt = new(0, 0, 0, 0, 0);
+         
         private PumpGroupPt _work_point = new(0, 0, 0, 0, 0);
 
 
@@ -145,6 +144,7 @@
             _series_qp.SetCurveQPDisplay();
 
             _series_cubic_spline_eq = this.chartControl1.GetSeriesByName("SeriesEquipCurve");
+            ((SplineSeriesView)_series_cubic_spline_eq.View).LineTensionPercent = 40;
 
             _series_qh_pt = this.chartControl1.GetSeriesByName("SeriesPointQH");
             _series_qh_pt.SetPointQHDisplay();
@@ -175,7 +175,7 @@
 
             _series_qh_pt.Visible = false;
             _series_qe_pt.Visible = false;
-            _series_qp_pt.Visible = false;
+            _series_qp_pt.Visible = false; 
 
 
             this.chartControl1.ObjectHotTracked += new DevExpress.XtraCharts.HotTrackEventHandler(this.chartControl1_ObjectHotTracked);
@@ -244,8 +244,7 @@
             _def_qp_pt_list = null;
 
             _coordinate_paras = null;
-            _work_point = new PumpGroupPt(0, 0, 0, 0, 0);
-            _design_pt = new PumpGroupPt(0, 0, 0, 0, 0);
+            _work_point = new PumpGroupPt(0, 0, 0, 0, 0); 
 
             UpdateChart(false);
         }
@@ -832,20 +831,20 @@
             if (design_pt_q < minQ || design_pt_q > maxQ)
                 return;
 
+            double design_flow = 0, design_head = 0;
 
-            _design_pt.Q = design_pt_q.Value;
+            design_flow = design_pt_q.Value;
             if (design_pt_h.HasValue)
             {
-                _design_pt.H = design_pt_h.Value;
+                design_head = design_pt_h.Value;
             }
             else
             {
-                _design_pt.H = _qh.GetPointY(_design_pt.Q);
+                design_head = _qh.GetPointY(design_flow);
             }
 
-
             _series_cubic_spline_eq.Visible = _eq_visible;
-            var design_pt = new Yw.Geometry.Point2d(_design_pt.Q, _design_pt.H);
+            var design_pt = new Yw.Geometry.Point2d(design_flow, design_head);
             var eq_paras = EquipCurveHelper.CalcEquipCurve(_qh, design_pt, out Yw.Geometry.Point2d sect_pt);
             if (eq_paras != null && eq_paras.EquipCurve != null)
             {
@@ -856,15 +855,20 @@
                     _series_cubic_spline_eq.Points.Add(series_pt);
                 }
             }
+            if (sect_pt == null)
+                return;
 
+            double flow = 0, head = 0, eff = 0, power = 0;
+            flow = Math.Round(sect_pt.X,1);
+            head = Math.Round(sect_pt.Y, 2); ; 
 
-            var design_qh_pt = CreatePointSeries(Pump.eCurveType.QH, sect_pt.X, sect_pt.Y);
+            var design_qh_pt = CreatePointSeries(Pump.eCurveType.QH, flow, head);
             _series_eq_pt_list.Add(design_qh_pt);
             this.chartControl1.Series.Add(design_qh_pt);
             if (_qe != null)
             {
-                _design_pt.E = _qe.GetPointY(_design_pt.Q);
-                var design_qe_pt = CreatePointSeries(Pump.eCurveType.QE, _design_pt.Q, _design_pt.E);
+                eff = _qe.GetPointY(sect_pt.X);
+                var design_qe_pt = CreatePointSeries(Pump.eCurveType.QE, flow, eff);
                 _series_eq_pt_list.Add(design_qe_pt);
                 this.chartControl1.Series.Add(design_qe_pt);
 
@@ -872,8 +876,8 @@
 
             if (_qp != null)
             {
-                _design_pt.P = _qp.GetPointY(_design_pt.Q);
-                var design_qp_pt = CreatePointSeries(Pump.eCurveType.QP, _design_pt.Q, _design_pt.P);
+                power = _qp.GetPointY(sect_pt.X);
+                var design_qp_pt = CreatePointSeries(Pump.eCurveType.QP, flow, power);
                 _series_eq_pt_list.Add(design_qp_pt);
                 this.chartControl1.Series.Add(design_qp_pt);
             }

--
Gitblit v1.9.3