From 342fa8be89ce72d4a1f87fc857def22b41722dfc Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期日, 03 十一月 2024 14:43:19 +0800 Subject: [PATCH] 曲线 问题修改 --- WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/PumpParallelAnalyDlg.cs | 53 ++ WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/04-variable-speed/PumpVariableSpeedChart.cs | 22 + WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.Designer.cs | 360 ++++++++++++------------ WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelChart.cs | 78 ++++ WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/04-coordinate/PumpAxisValueDlg.cs | 1 WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpParallelChartDlg.cs | 28 + WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.Designer.cs | 2 WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs | 34 + WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs | 60 ++- WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.cs | 37 + WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.resx | 180 ++++++------ WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoViewModel.cs | 12 12 files changed, 531 insertions(+), 336 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpParallelChartDlg.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpParallelChartDlg.cs index ddd1271..1b183c8 100644 --- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpParallelChartDlg.cs +++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/99-common/PumpParallelChartDlg.cs @@ -189,20 +189,38 @@ return default; } + Yw.Geometry.CubicSpline2d qh = new Yw.Geometry.CubicSpline2d(calc_pt_qh_list); + Yw.Geometry.CubicSpline2d qe = new Yw.Geometry.CubicSpline2d(calc_pt_qe_list); + Yw.Geometry.CubicSpline2d qp = new Yw.Geometry.CubicSpline2d(calc_pt_qp_list); + + var total_flow = list.Sum(x => x.Qh.MaxX); + var parallel_flow = calc_pt_qh_list.Max(x => x.X); + if (total_flow > parallel_flow * 1.05) + { + var ex_ratio = total_flow / parallel_flow; + if (qh != null) + qh.MaxX = qh.MaxX * ex_ratio; + if (qe != null) + qe.MaxX = qe.MaxX * ex_ratio; + if (qp != null) + qp.MaxX = qp.MaxX * ex_ratio; + } + + + var vm_sp = new Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel(); vm_sp.Id = _parallel_id; vm_sp.Name = line_name; - vm_sp.Qh = new Yw.Geometry.CubicSpline2d(calc_pt_qh_list); - vm_sp.Qe = new Yw.Geometry.CubicSpline2d(calc_pt_qe_list); - vm_sp.Qp = new Yw.Geometry.CubicSpline2d(calc_pt_qp_list); + vm_sp.Qh = qh; + vm_sp.Qe = qe; + vm_sp.Qp = qp; vm_sp.QhCalc = vm_sp.Qh; vm_sp.QeCalc = vm_sp.Qe; vm_sp.QpCalc = vm_sp.Qp; vm_sp.Color = Color.Black; vm_sp.IsBp = true; vm_sp.IsDefault = true; - - var pt_list = vm_sp.Qp.GetPointList(12); + return vm_sp; } diff --git a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/PumpParallelAnalyDlg.cs b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/PumpParallelAnalyDlg.cs index 55de50d..8949c90 100644 --- a/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/PumpParallelAnalyDlg.cs +++ b/WinFrmUI/HStation.WinFrmUI.PhartRelation.Core/PumpParallelAnalyDlg.cs @@ -121,7 +121,7 @@ vm.Qp = new CubicSpline2d(qp_pt_list); } vm.CalcuQ = x.CalcuQ; - vm.CalcuH = x.CalcuH; + vm.CalcuH = x.CalcuH; vm.Color = GetRandomColor(i); vm.Calc(); vm_list.Add(vm); @@ -189,25 +189,60 @@ line_name = "骞惰仈鏇茬嚎"; calc_bol = helper.CalculateParallel(out calc_pt_qh_list, out calc_pt_qe_list, out calc_pt_qp_list); - if (!calc_bol || calc_pt_qh_list.Count < 3) + if (!calc_bol || calc_pt_qh_list.Count < 4) { return default; } + var qh = new Yw.Geometry.CubicSpline2d(calc_pt_qh_list); + var qe = new Yw.Geometry.CubicSpline2d(calc_pt_qe_list); + var qp = new Yw.Geometry.CubicSpline2d(calc_pt_qp_list); + + var vm_sp = new Yw.WinFrmUI.Phart.PumpSerialParallelInfoViewModel(); vm_sp.Id = _parallel_id; vm_sp.Name = line_name; - vm_sp.Qh = new Yw.Geometry.CubicSpline2d(calc_pt_qh_list); - vm_sp.Qe = new Yw.Geometry.CubicSpline2d(calc_pt_qe_list); - vm_sp.Qp = new Yw.Geometry.CubicSpline2d(calc_pt_qp_list); - vm_sp.QhCalc = vm_sp.Qh; - vm_sp.QeCalc = vm_sp.Qe; - vm_sp.QpCalc = vm_sp.Qp; + vm_sp.Qh = qh; + vm_sp.Qe = qe; + vm_sp.Qp = qp; + + vm_sp.Color = Color.Black; vm_sp.IsBp = true; vm_sp.IsDefault = true; - var pt_list = vm_sp.Qp.GetPointList(12); + var total_flow = list.Sum(x => x.Qh.MaxX); + var parallel_flow = calc_pt_qh_list.Max(x => x.X); + double extend_ratio = 1; + if (total_flow > parallel_flow * 1.05) + { + extend_ratio = total_flow / parallel_flow; + extend_ratio = Math.Round(extend_ratio, 1); + if (qh != null) + { + var ex_pt_list = qh.GetPointList(); + var ex_qh = new Yw.Geometry.CubicSpline2d(ex_pt_list); + ex_qh.MaxX = ex_qh.MaxX * extend_ratio; + vm_sp.QhCalc = ex_qh; + } + + if (qe != null) + { + var ex_pt_list = qe.GetPointList(); + var ex_qe = new Yw.Geometry.CubicSpline2d(ex_pt_list); + ex_qe.MaxX = ex_qe.MaxX * extend_ratio; + vm_sp.QeCalc = ex_qe; + } + if (qp != null) + { + var ex_pt_list = qp.GetPointList(); + var ex_qp = new Yw.Geometry.CubicSpline2d(ex_pt_list); + ex_qp.MaxX = ex_qp.MaxX * extend_ratio; + vm_sp.QpCalc = ex_qp; + } + } + vm_sp.ExtendFlow = qh.MaxX; + vm_sp.ExtendRatio = extend_ratio; return vm_sp; } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.Designer.cs index 12334d0..3d16a78 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.Designer.cs @@ -195,7 +195,7 @@ series2.Name = "SeriesCurveQE"; series2.SeriesID = 1; splineSeriesView2.AxisYName = "AxisYQE"; - splineSeriesView2.Color = Color.Green; + splineSeriesView2.Color = Color.Green; series2.View = splineSeriesView2; series3.Name = "SeriesCurveQP"; series3.SeriesID = 2; 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 811dedb..8d3d71a 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 @@ -1,14 +1,8 @@ -锘縰sing DevExpress.Charts.Model; -using DevExpress.Utils; +锘縰sing DevExpress.Utils; using DevExpress.XtraCharts; using DevExpress.XtraEditors; -using System.Drawing; -using System.Drawing.Drawing2D; -using System.Linq; using System.Text; -using System.Windows.Forms; using Yw.Geometry; -using static DevExpress.Utils.Drawing.Helpers.NativeMethods; namespace Yw.WinFrmUI.Phart { @@ -88,7 +82,11 @@ set { _lineVisible = value; - this.barCekLineVisible.Checked = _lineVisible; + this.barCekLineVisible.Checked = _lineVisible; + this.barBtnSetAxisHValue.Enabled = _lineVisible; + this.barBtnSetAxisQValue.Enabled = _lineVisible; + this.barBtnPositioningMaxE.Enabled = _lineVisible; + this.barBtnPositioningMaxQ.Enabled = _lineVisible; } } private bool _lineVisible = false; @@ -111,10 +109,10 @@ /// </summary> private void InitialChart() { + this.chartControl1.SetChartDisplay(); this.chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; - - + _main_chart_diagram = (XYDiagram)chartControl1.Diagram; _bottom_panel = (XYDiagramPane)_main_chart_diagram.FindPaneByName("BottomPanel"); @@ -218,9 +216,7 @@ path.AddCurve(g_pts.ToArray()); dxArgs.Cache.DrawPath(pen, path); } - } - - + } } @@ -702,7 +698,8 @@ if (workQ == null) { - workQ = (minQ + maxQ) / 2; + //workQ = (minQ + maxQ) / 2; + workQ = minQ; } else { @@ -764,7 +761,7 @@ if (workH < minH || workH > maxH) return; - var workQ = _qh.GetPointY(workH); + var workQ = _qh.GetPointsX(workH)?.LastOrDefault(); CalcWorkPointByQ(workQ); } @@ -776,10 +773,10 @@ if (!_lineVisible) return; if (_qe == null) - return; - - - var workQ = _qe.MaxX; + return; + var pt_list = _qe.GetPointList(); + pt_list = pt_list.OrderBy(x => x.Y).ToList(); + var workQ = pt_list.Last().X; CalcWorkPointByQ(workQ); } @@ -975,7 +972,7 @@ // 鍙抽敭瀵硅薄 private object _rightClickObj = null; private bool _onMoveWorkPointLine = false; - private bool _onMoveWorkHLine = false; + private bool _onMoveWorkHLine = false; private void chartControl1_MouseDown(object sender, MouseEventArgs e) { if (!_initial_data) @@ -1029,6 +1026,7 @@ { if (!_initial_data) return; + if (_onMoveWorkPointLine) { var diagramCoordinates = _main_chart_diagram.PointToDiagram(e.Location); @@ -1047,8 +1045,24 @@ return; double chartH = axisValue.NumericalValue; CalcWorkPointByH(chartH); - } + else + { + var hitInfo = chartControl1.CalcHitInfo(e.Location); + if (hitInfo.InConstantLine) + { + this.chartControl1.Cursor = Cursors.Hand; + } + else if (hitInfo.InAnnotation) + { + this.chartControl1.Cursor = Cursors.SizeAll; + + } + else + { + this.chartControl1.Cursor = Cursors.Default; + } + } } private void chartControl1_MouseUp(object sender, MouseEventArgs e) @@ -1093,6 +1107,7 @@ return; var dlg = new PumpAxisValueDlg(); dlg.SetBindingData(); + dlg.Text = "鎵▼"; dlg.VerifyValueChanged += (value) => { var min = _qh_pt_list.Min(x => x.Y); @@ -1119,7 +1134,6 @@ item.Visible = _eq_visible; } } - } private void barBtnPositioningMaxQ_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -1202,7 +1216,7 @@ { if (!_initial_data) return; - _lineVisible = visible; + LineVisible = visible; CalcWorkPointByQ(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.Designer.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.Designer.cs index 00046a4..5ce01a5 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.Designer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.Designer.cs @@ -31,29 +31,29 @@ private void InitializeComponent() { components = new System.ComponentModel.Container(); - DevExpress.XtraCharts.TextAnnotation textAnnotation2 = new DevExpress.XtraCharts.TextAnnotation(); - DevExpress.XtraCharts.ChartAnchorPoint chartAnchorPoint2 = new DevExpress.XtraCharts.ChartAnchorPoint(); - DevExpress.XtraCharts.RelativePosition relativePosition2 = new DevExpress.XtraCharts.RelativePosition(); - DevExpress.XtraCharts.XYDiagram xyDiagram2 = new DevExpress.XtraCharts.XYDiagram(); - DevExpress.XtraCharts.ConstantLine constantLine3 = new DevExpress.XtraCharts.ConstantLine(); - DevExpress.XtraCharts.ConstantLine constantLine4 = new DevExpress.XtraCharts.ConstantLine(); - DevExpress.XtraCharts.XYDiagramPane xyDiagramPane2 = new DevExpress.XtraCharts.XYDiagramPane(); - DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy3 = new DevExpress.XtraCharts.SecondaryAxisY(); - DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy4 = new DevExpress.XtraCharts.SecondaryAxisY(); - DevExpress.XtraCharts.Series series8 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView8 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series9 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView9 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series10 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView10 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series11 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView11 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series12 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView12 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series13 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView13 = new DevExpress.XtraCharts.SplineSeriesView(); - DevExpress.XtraCharts.Series series14 = new DevExpress.XtraCharts.Series(); - DevExpress.XtraCharts.SplineSeriesView splineSeriesView14 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.TextAnnotation textAnnotation1 = new DevExpress.XtraCharts.TextAnnotation(); + DevExpress.XtraCharts.ChartAnchorPoint chartAnchorPoint1 = new DevExpress.XtraCharts.ChartAnchorPoint(); + DevExpress.XtraCharts.RelativePosition relativePosition1 = new DevExpress.XtraCharts.RelativePosition(); + DevExpress.XtraCharts.XYDiagram xyDiagram1 = new DevExpress.XtraCharts.XYDiagram(); + DevExpress.XtraCharts.ConstantLine constantLine1 = new DevExpress.XtraCharts.ConstantLine(); + DevExpress.XtraCharts.ConstantLine constantLine2 = new DevExpress.XtraCharts.ConstantLine(); + DevExpress.XtraCharts.XYDiagramPane xyDiagramPane1 = new DevExpress.XtraCharts.XYDiagramPane(); + DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy1 = new DevExpress.XtraCharts.SecondaryAxisY(); + DevExpress.XtraCharts.SecondaryAxisY secondaryAxisy2 = new DevExpress.XtraCharts.SecondaryAxisY(); + DevExpress.XtraCharts.Series series1 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView1 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series2 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView2 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series3 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView3 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series4 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView4 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series5 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView5 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series6 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView6 = new DevExpress.XtraCharts.SplineSeriesView(); + DevExpress.XtraCharts.Series series7 = new DevExpress.XtraCharts.Series(); + DevExpress.XtraCharts.SplineSeriesView splineSeriesView7 = new DevExpress.XtraCharts.SplineSeriesView(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PumpPerformCompareChart)); chartControl1 = new DevExpress.XtraCharts.ChartControl(); popMenuChart = new DevExpress.XtraBars.PopupMenu(components); @@ -85,27 +85,27 @@ popMenuLine = new DevExpress.XtraBars.PopupMenu(components); bar1 = new DevExpress.XtraBars.Bar(); ((System.ComponentModel.ISupportInitialize)chartControl1).BeginInit(); - ((System.ComponentModel.ISupportInitialize)textAnnotation2).BeginInit(); - ((System.ComponentModel.ISupportInitialize)xyDiagram2).BeginInit(); - ((System.ComponentModel.ISupportInitialize)constantLine3).BeginInit(); - ((System.ComponentModel.ISupportInitialize)constantLine4).BeginInit(); - ((System.ComponentModel.ISupportInitialize)xyDiagramPane2).BeginInit(); - ((System.ComponentModel.ISupportInitialize)secondaryAxisy3).BeginInit(); - ((System.ComponentModel.ISupportInitialize)secondaryAxisy4).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series8).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView8).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series9).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView9).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series10).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView10).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series11).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView11).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series12).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView12).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series13).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView13).BeginInit(); - ((System.ComponentModel.ISupportInitialize)series14).BeginInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView14).BeginInit(); + ((System.ComponentModel.ISupportInitialize)textAnnotation1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)xyDiagram1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)constantLine1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)constantLine2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)xyDiagramPane1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)secondaryAxisy1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)secondaryAxisy2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView1).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView2).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series3).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView3).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series4).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView4).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series5).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView5).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series6).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView6).BeginInit(); + ((System.ComponentModel.ISupportInitialize)series7).BeginInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView7).BeginInit(); ((System.ComponentModel.ISupportInitialize)popMenuChart).BeginInit(); ((System.ComponentModel.ISupportInitialize)barManager1).BeginInit(); ((System.ComponentModel.ISupportInitialize)popMenuLine).BeginInit(); @@ -113,75 +113,75 @@ // // chartControl1 // - chartAnchorPoint2.X = 871; - chartAnchorPoint2.Y = 783; - textAnnotation2.AnchorPoint = chartAnchorPoint2; - textAnnotation2.AnnotationID = 0; - textAnnotation2.AutoHeight = true; - textAnnotation2.AutoWidth = true; - textAnnotation2.Name = "TextAnnoWorkPoint"; - relativePosition2.Angle = -205.38790629109593D; - relativePosition2.ConnectorLength = 65.30696746902278D; - textAnnotation2.ShapePosition = relativePosition2; - textAnnotation2.Text = "宸ヤ綔鐐�"; - textAnnotation2.TextAlignment = StringAlignment.Near; - chartControl1.AnnotationRepository.AddRange(new DevExpress.XtraCharts.Annotation[] { textAnnotation2 }); + chartAnchorPoint1.X = 871; + chartAnchorPoint1.Y = 783; + textAnnotation1.AnchorPoint = chartAnchorPoint1; + textAnnotation1.AnnotationID = 0; + textAnnotation1.AutoHeight = true; + textAnnotation1.AutoWidth = true; + textAnnotation1.Name = "TextAnnoWorkPoint"; + relativePosition1.Angle = -205.38790629109593D; + relativePosition1.ConnectorLength = 65.30696746902278D; + textAnnotation1.ShapePosition = relativePosition1; + textAnnotation1.Text = "宸ヤ綔鐐�"; + textAnnotation1.TextAlignment = StringAlignment.Near; + chartControl1.AnnotationRepository.AddRange(new DevExpress.XtraCharts.Annotation[] { textAnnotation1 }); chartControl1.BorderOptions.Visibility = DevExpress.Utils.DefaultBoolean.False; - constantLine3.AxisValueSerializable = "1"; - constantLine3.ConstantLineID = 0; - constantLine3.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; - constantLine3.LineStyle.Thickness = 2; - constantLine3.Name = "WorkPointLine"; - constantLine3.Title.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 8F); - constantLine3.Title.Text = "宸ヤ綔鐐�"; - xyDiagram2.AxisX.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine3 }); - xyDiagram2.AxisX.Title.Text = "娴侀噺 锛坢鲁/h锛�"; - xyDiagram2.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; - xyDiagram2.AxisX.VisibleInPanesSerializable = "-1"; - xyDiagram2.AxisY.Color = Color.DodgerBlue; - constantLine4.AxisValueSerializable = "1"; - constantLine4.ConstantLineID = 0; - constantLine4.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; - constantLine4.LineStyle.Thickness = 2; - constantLine4.Name = "WorkHLine"; - constantLine4.Title.Text = "鎵▼"; - xyDiagram2.AxisY.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine4 }); - xyDiagram2.AxisY.Label.TextColor = Color.DodgerBlue; - xyDiagram2.AxisY.Title.Alignment = StringAlignment.Far; - xyDiagram2.AxisY.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.False; - xyDiagram2.AxisY.Title.Text = "鎵▼/m"; - xyDiagram2.AxisY.Title.TextColor = Color.DodgerBlue; - xyDiagram2.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; - xyDiagram2.AxisY.VisibleInPanesSerializable = "-1"; - xyDiagram2.DefaultPane.BorderVisible = false; - xyDiagram2.DefaultPane.Title.Text = "鏃犳暟鎹�"; - xyDiagramPane2.Name = "BottomPanel"; - xyDiagramPane2.PaneID = 0; - xyDiagramPane2.RuntimeCollapse = DevExpress.Utils.DefaultBoolean.False; - xyDiagramPane2.Visibility = DevExpress.XtraCharts.ChartElementVisibility.Hidden; - xyDiagram2.Panes.AddRange(new DevExpress.XtraCharts.XYDiagramPane[] { xyDiagramPane2 }); - secondaryAxisy3.AxisID = 0; - secondaryAxisy3.Color = Color.Green; - secondaryAxisy3.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False; - secondaryAxisy3.Label.TextColor = Color.Green; - secondaryAxisy3.Name = "AxisYQE"; - secondaryAxisy3.Title.Text = "鏁堢巼/%"; - secondaryAxisy3.Title.TextColor = Color.Green; - secondaryAxisy3.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; - secondaryAxisy3.VisibleInPanesSerializable = "-1"; - secondaryAxisy4.AxisID = 1; - secondaryAxisy4.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False; - secondaryAxisy4.Label.TextColor = Color.Crimson; - secondaryAxisy4.Name = "AxisYQP"; - secondaryAxisy4.NumericScaleOptions.AutoGrid = false; - secondaryAxisy4.NumericScaleOptions.GridSpacing = 2D; - secondaryAxisy4.Title.Alignment = StringAlignment.Near; - secondaryAxisy4.Title.Text = "鍔熺巼/kW"; - secondaryAxisy4.Title.TextColor = Color.Crimson; - secondaryAxisy4.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; - secondaryAxisy4.VisibleInPanesSerializable = "-1"; - xyDiagram2.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] { secondaryAxisy3, secondaryAxisy4 }); - chartControl1.Diagram = xyDiagram2; + constantLine1.AxisValueSerializable = "1"; + constantLine1.ConstantLineID = 0; + constantLine1.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; + constantLine1.LineStyle.Thickness = 2; + constantLine1.Name = "WorkPointLine"; + constantLine1.Title.DXFont = new DevExpress.Drawing.DXFont("Tahoma", 8F); + constantLine1.Title.Text = "宸ヤ綔鐐�"; + xyDiagram1.AxisX.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine1 }); + xyDiagram1.AxisX.Title.Text = "娴侀噺 锛坢鲁/h锛�"; + xyDiagram1.AxisX.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; + xyDiagram1.AxisX.VisibleInPanesSerializable = "-1"; + xyDiagram1.AxisY.Color = Color.DodgerBlue; + constantLine2.AxisValueSerializable = "1"; + constantLine2.ConstantLineID = 0; + constantLine2.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; + constantLine2.LineStyle.Thickness = 2; + constantLine2.Name = "WorkHLine"; + constantLine2.Title.Text = "鎵▼"; + xyDiagram1.AxisY.ConstantLines.AddRange(new DevExpress.XtraCharts.ConstantLine[] { constantLine2 }); + xyDiagram1.AxisY.Label.TextColor = Color.DodgerBlue; + xyDiagram1.AxisY.Title.Alignment = StringAlignment.Far; + xyDiagram1.AxisY.Title.EnableAntialiasing = DevExpress.Utils.DefaultBoolean.False; + xyDiagram1.AxisY.Title.Text = "鎵▼/m"; + xyDiagram1.AxisY.Title.TextColor = Color.DodgerBlue; + xyDiagram1.AxisY.Title.Visibility = DevExpress.Utils.DefaultBoolean.True; + xyDiagram1.AxisY.VisibleInPanesSerializable = "-1"; + xyDiagram1.DefaultPane.BorderVisible = false; + xyDiagram1.DefaultPane.Title.Text = "鏃犳暟鎹�"; + xyDiagramPane1.Name = "BottomPanel"; + xyDiagramPane1.PaneID = 0; + xyDiagramPane1.RuntimeCollapse = DevExpress.Utils.DefaultBoolean.False; + xyDiagramPane1.Visibility = DevExpress.XtraCharts.ChartElementVisibility.Hidden; + xyDiagram1.Panes.AddRange(new DevExpress.XtraCharts.XYDiagramPane[] { xyDiagramPane1 }); + secondaryAxisy1.AxisID = 0; + secondaryAxisy1.Color = Color.Green; + secondaryAxisy1.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False; + secondaryAxisy1.Label.TextColor = Color.Green; + secondaryAxisy1.Name = "AxisYQE"; + secondaryAxisy1.Title.Text = "鏁堢巼/%"; + secondaryAxisy1.Title.TextColor = Color.Green; + secondaryAxisy1.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; + secondaryAxisy1.VisibleInPanesSerializable = "-1"; + secondaryAxisy2.AxisID = 1; + secondaryAxisy2.Label.Border.Visibility = DevExpress.Utils.DefaultBoolean.False; + secondaryAxisy2.Label.TextColor = Color.Crimson; + secondaryAxisy2.Name = "AxisYQP"; + secondaryAxisy2.NumericScaleOptions.AutoGrid = false; + secondaryAxisy2.NumericScaleOptions.GridSpacing = 2D; + secondaryAxisy2.Title.Alignment = StringAlignment.Near; + secondaryAxisy2.Title.Text = "鍔熺巼/kW"; + secondaryAxisy2.Title.TextColor = Color.Crimson; + secondaryAxisy2.Title.Visibility = DevExpress.Utils.DefaultBoolean.Default; + secondaryAxisy2.VisibleInPanesSerializable = "-1"; + xyDiagram1.SecondaryAxesY.AddRange(new DevExpress.XtraCharts.SecondaryAxisY[] { secondaryAxisy1, secondaryAxisy2 }); + chartControl1.Diagram = xyDiagram1; chartControl1.Dock = DockStyle.Fill; chartControl1.Legend.AlignmentHorizontal = DevExpress.XtraCharts.LegendAlignmentHorizontal.Right; chartControl1.Legend.Border.Visibility = DevExpress.Utils.DefaultBoolean.False; @@ -191,55 +191,55 @@ chartControl1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.True; chartControl1.Location = new Point(0, 34); chartControl1.Name = "chartControl1"; - series8.Name = "SeriesCurveQH"; - series8.SeriesID = 0; - splineSeriesView8.Color = Color.DodgerBlue; - series8.View = splineSeriesView8; - series9.Name = "SeriesCurveQE"; - series9.SeriesID = 1; - splineSeriesView9.AxisYName = "AxisYQE"; - splineSeriesView9.Color = Color.Green; - series9.View = splineSeriesView9; - series10.Name = "SeriesCurveQP"; - series10.SeriesID = 2; - splineSeriesView10.AxisYName = "AxisYQP"; - splineSeriesView10.Color = Color.Crimson; - series10.View = splineSeriesView10; - series11.Name = "SeriesEquipCurve"; - series11.SeriesID = 6; - series11.ShowInLegend = false; - splineSeriesView11.Color = Color.FromArgb(0, 0, 0); - splineSeriesView11.LineStyle.Thickness = 1; - series11.View = splineSeriesView11; - series12.Name = "SeriesCurveQHwk"; - series12.SeriesID = 7; - series12.ShowInLegend = false; - splineSeriesView12.Color = Color.Black; - splineSeriesView12.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash; - series12.View = splineSeriesView12; - series13.Name = "SeriesCurveQEwk"; - series13.SeriesID = 8; - series13.ShowInLegend = false; - splineSeriesView13.AxisYName = "AxisYQE"; - splineSeriesView13.Color = Color.Black; - splineSeriesView13.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash; - splineSeriesView13.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; - series13.View = splineSeriesView13; - series14.Name = "SeriesCurveQPwk"; - series14.SeriesID = 9; - series14.ShowInLegend = false; - splineSeriesView14.AxisYName = "AxisYQP"; - splineSeriesView14.Color = Color.Black; - series14.View = splineSeriesView14; + series1.Name = "SeriesCurveQH"; + series1.SeriesID = 0; + splineSeriesView1.Color = Color.DodgerBlue; + series1.View = splineSeriesView1; + series2.Name = "SeriesCurveQE"; + series2.SeriesID = 1; + splineSeriesView2.AxisYName = "AxisYQE"; + splineSeriesView2.Color = Color.Green; + series2.View = splineSeriesView2; + series3.Name = "SeriesCurveQP"; + series3.SeriesID = 2; + splineSeriesView3.AxisYName = "AxisYQP"; + splineSeriesView3.Color = Color.Crimson; + series3.View = splineSeriesView3; + series4.Name = "SeriesEquipCurve"; + series4.SeriesID = 6; + series4.ShowInLegend = false; + splineSeriesView4.Color = Color.FromArgb(0, 0, 0); + splineSeriesView4.LineStyle.Thickness = 1; + series4.View = splineSeriesView4; + series5.Name = "SeriesCurveQHwk"; + series5.SeriesID = 7; + series5.ShowInLegend = false; + splineSeriesView5.Color = Color.Black; + splineSeriesView5.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash; + series5.View = splineSeriesView5; + series6.Name = "SeriesCurveQEwk"; + series6.SeriesID = 8; + series6.ShowInLegend = false; + splineSeriesView6.AxisYName = "AxisYQE"; + splineSeriesView6.Color = Color.Black; + splineSeriesView6.LineStyle.DashStyle = DevExpress.XtraCharts.DashStyle.Dash; + splineSeriesView6.LineStyle.LineJoin = System.Drawing.Drawing2D.LineJoin.Miter; + series6.View = splineSeriesView6; + series7.Name = "SeriesCurveQPwk"; + series7.SeriesID = 9; + series7.ShowInLegend = false; + splineSeriesView7.AxisYName = "AxisYQP"; + splineSeriesView7.Color = Color.Black; + series7.View = splineSeriesView7; chartControl1.SeriesSerializable = new DevExpress.XtraCharts.Series[] { - series8, - series9, - series10, - series11, - series12, - series13, - series14 + series1, + series2, + series3, + series4, + series5, + series6, + series7 }; chartControl1.Size = new Size(1023, 822); chartControl1.TabIndex = 0; @@ -500,27 +500,27 @@ Controls.Add(barDockControlTop); Name = "PumpPerformCompareChart"; Size = new Size(1023, 856); - ((System.ComponentModel.ISupportInitialize)textAnnotation2).EndInit(); - ((System.ComponentModel.ISupportInitialize)constantLine3).EndInit(); - ((System.ComponentModel.ISupportInitialize)constantLine4).EndInit(); - ((System.ComponentModel.ISupportInitialize)xyDiagramPane2).EndInit(); - ((System.ComponentModel.ISupportInitialize)secondaryAxisy3).EndInit(); - ((System.ComponentModel.ISupportInitialize)secondaryAxisy4).EndInit(); - ((System.ComponentModel.ISupportInitialize)xyDiagram2).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView8).EndInit(); - ((System.ComponentModel.ISupportInitialize)series8).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView9).EndInit(); - ((System.ComponentModel.ISupportInitialize)series9).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView10).EndInit(); - ((System.ComponentModel.ISupportInitialize)series10).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView11).EndInit(); - ((System.ComponentModel.ISupportInitialize)series11).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView12).EndInit(); - ((System.ComponentModel.ISupportInitialize)series12).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView13).EndInit(); - ((System.ComponentModel.ISupportInitialize)series13).EndInit(); - ((System.ComponentModel.ISupportInitialize)splineSeriesView14).EndInit(); - ((System.ComponentModel.ISupportInitialize)series14).EndInit(); + ((System.ComponentModel.ISupportInitialize)textAnnotation1).EndInit(); + ((System.ComponentModel.ISupportInitialize)constantLine1).EndInit(); + ((System.ComponentModel.ISupportInitialize)constantLine2).EndInit(); + ((System.ComponentModel.ISupportInitialize)xyDiagramPane1).EndInit(); + ((System.ComponentModel.ISupportInitialize)secondaryAxisy1).EndInit(); + ((System.ComponentModel.ISupportInitialize)secondaryAxisy2).EndInit(); + ((System.ComponentModel.ISupportInitialize)xyDiagram1).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView1).EndInit(); + ((System.ComponentModel.ISupportInitialize)series1).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView2).EndInit(); + ((System.ComponentModel.ISupportInitialize)series2).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView3).EndInit(); + ((System.ComponentModel.ISupportInitialize)series3).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView4).EndInit(); + ((System.ComponentModel.ISupportInitialize)series4).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView5).EndInit(); + ((System.ComponentModel.ISupportInitialize)series5).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView6).EndInit(); + ((System.ComponentModel.ISupportInitialize)series6).EndInit(); + ((System.ComponentModel.ISupportInitialize)splineSeriesView7).EndInit(); + ((System.ComponentModel.ISupportInitialize)series7).EndInit(); ((System.ComponentModel.ISupportInitialize)chartControl1).EndInit(); ((System.ComponentModel.ISupportInitialize)popMenuChart).EndInit(); ((System.ComponentModel.ISupportInitialize)barManager1).EndInit(); diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.cs index 8ad5d00..73db937 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.cs @@ -79,7 +79,11 @@ set { _lineVisible = value; - this.barCekLineVisible.Checked = _lineVisible; + this.barCekLineVisible.Checked = _lineVisible; + this.barBtnSetAxisHValue.Enabled = _lineVisible; + this.barBtnSetAxisQValue.Enabled = _lineVisible; + this.barBtnPositioningMaxE.Enabled = _lineVisible; + this.barBtnPositioningMaxQ.Enabled = _lineVisible; } } private bool _lineVisible = false; @@ -818,7 +822,8 @@ if (workQ == null) { - workQ = (minQ + maxQ) / 2; + workQ = minQ; + //workQ = (minQ + maxQ) / 2; } else { @@ -922,10 +927,10 @@ return; if (_qe == null) return; - - - var workQ = _qe.MaxX; - CalcWorkPointByQ(workQ); + var pt_list = _qe.GetPointList(); + pt_list = pt_list.OrderBy(x => x.Y).ToList(); + var workQ = pt_list.Last().X; + CalcWorkPointByQ(workQ); } /// <summary> @@ -1211,7 +1216,22 @@ return; double chartH = axisValue.NumericalValue; CalcWorkPointByH(chartH); - + } + else + { + var hitInfo = chartControl1.CalcHitInfo(e.Location); + if (hitInfo.InConstantLine) + { + this.chartControl1.Cursor = Cursors.Hand; + } + else if (hitInfo.InAnnotation) + { + this.chartControl1.Cursor = Cursors.SizeAll; + } + else + { + this.chartControl1.Cursor = Cursors.Default; + } } } @@ -1257,6 +1277,7 @@ return; var dlg = new PumpAxisValueDlg(); dlg.SetBindingData(); + dlg.Text = "鎵▼"; dlg.VerifyValueChanged += (value) => { var min = _qh_pt_list.Min(x => x.Y); @@ -1358,7 +1379,7 @@ { if (!_initial_data) return; - _lineVisible = visible; + LineVisible = visible; CalcWorkPointByQ(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.resx b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.resx index 4ab92f7..42cbb2d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.resx +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/02-perform-compare/PumpPerformCompareChart.resx @@ -435,96 +435,6 @@ <metadata name="barManager1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> - <data name="barBtnPositioningMaxQ.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJEDAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX0l0ZW1zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3 - IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3Mjcy - O30KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzEsMkgxQzAuNSwy - LDAsMi41LDAsM3YyNmMwLDAuNSwwLjUsMSwxLDFoMzBjMC41LDAsMS0wLjUsMS0xVjNDMzIsMi41LDMx - LjUsMiwzMSwyeiBNOCwxNHYxMEg2VjE0SDNsNC02ICBsNCw2SDh6IE0zMCwyOEgxNFY0aDE2VjI4eiIg - Y2xhc3M9IkdyZWVuIiAvPg0KICA8cGF0aCBkPSJNMjQuNiwyMGMtMiwwLTMtMS4zLTMtMy45YzAtMS4z - LDAuMy0yLjQsMC44LTMuMWMwLjUtMC43LDEuMy0xLjEsMi4zLTEuMWMxLjksMCwyLjksMS4zLDIuOSwz - LjkgIGMwLDEuMy0wLjMsMi4zLTAuOCwzQzI2LjMsMTkuNywyNS42LDIwLDI0LjYsMjB6IE0yNC43LDEz - LjNjLTAuOCwwLTEuMiwwLjktMS4yLDIuOGMwLDEuNywwLjQsMi42LDEuMiwyLjZjMC44LDAsMS4xLTAu - OSwxLjEtMi43ICBDMjUuOCwxNC4yLDI1LjQsMTMuMywyNC43LDEzLjN6IE0xOCwyMHYtNS4yaC0ydi0x - LjJjMC4zLDAsMC42LDAsMC44LTAuMWMwLjMsMCwwLjUtMC4xLDAuNy0wLjNjMC4yLTAuMSwwLjQtMC4z - LDAuNS0wLjUgIGMwLjEtMC4yLDAuMi0wLjUsMC4zLTAuOGgxLjN2OEgxOHoiIGNsYXNzPSJCbGFjayIg - Lz4NCjwvc3ZnPgs= -</value> - </data> - <data name="barBtnPositioningMaxE.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJgEAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX1BlcmNlbnQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu - ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy - NzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0zMSwySDFDMC41 - LDIsMCwyLjUsMCwzdjI0YzAsMC41LDAuNSwxLDEsMWgzMGMwLjUsMCwxLTAuNSwxLTFWM0MzMiwyLjUs - MzEuNSwyLDMxLDJ6IE04LDEydjEwSDZWMTJIM2w0LTYgIGw0LDZIOHogTTMwLDI2SDE0VjRoMTZWMjZ6 - IiBjbGFzcz0iR3JlZW4iIC8+DQogIDxwYXRoIGQ9Ik0xOC42LDE1LjFjLTAuOCwwLTEuNC0wLjItMS45 - LTAuN2MtMC41LTAuNC0wLjctMS0wLjctMS44YzAtMC44LDAuMi0xLjUsMC43LTEuOXMxLjItMC43LDIt - MC43ICBjMC44LDAsMS40LDAuMiwxLjksMC42YzAuNCwwLjQsMC43LDEsMC43LDEuOGMwLDAuOC0wLjIs - MS40LTAuNywxLjlDMjAsMTQuOCwxOS40LDE1LjEsMTguNiwxNS4xeiBNMjYsMTBsLTYuMiwxMEgxOGw2 - LjItMTBIMjZ6ICAgTTE4LjcsMTEuMmMtMC43LDAtMS4xLDAuNS0xLjEsMS40YzAsMC45LDAuMywxLjMs - MSwxLjNjMC43LDAsMS4xLTAuNSwxLjEtMS40QzE5LjcsMTEuNiwxOS40LDExLjIsMTguNywxMS4yeiBN - MjUuMywyMCAgYy0wLjgsMC0xLjQtMC4yLTEuOS0wLjdzLTAuNy0xLTAuNy0xLjhjMC0wLjgsMC4yLTEu - NSwwLjctMS45YzAuNS0wLjUsMS4yLTAuNywyLTAuN2MwLjgsMCwxLjQsMC4yLDEuOSwwLjZzMC43LDEs - MC43LDEuOCAgYzAsMC44LTAuMiwxLjQtMC43LDEuOUMyNi44LDE5LjgsMjYuMSwyMCwyNS4zLDIweiBN - MjUuNCwxNi4xYy0wLjcsMC0xLjEsMC41LTEuMSwxLjRjMCwwLjksMC40LDEuMywxLjEsMS4zYzAuNyww - LDEuMS0wLjUsMS4xLTEuNCAgYzAtMC40LTAuMS0wLjctMC4zLTFDMjYsMTYuMiwyNS43LDE2LjEsMjUu - NCwxNi4xeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw== -</value> - </data> - <data name="barBtnSetAxisQValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO8CAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iSG9yaXpvbnRhbF9BeGlzX0xlZnRfdG9fUmlnaHQiIHN0eWxlPSJlbmFi - bGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5C - bGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5zdDB7b3BhY2l0eTowLjU7 - fQo8L3N0eWxlPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4PSI0IiB5PSIyIiB3aWR0aD0i - MiIgaGVpZ2h0PSIxOCIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0i - MzAsMjcgMjYsMjQgMjYsMjYgNCwyNiA0LDI4IDI2LDI4IDI2LDMwICIgY2xhc3M9IkJsdWUiIC8+DQog - IDxwb2x5Z29uIHBvaW50cz0iNCwxOCA0LDIwIDYsMjAgNiwyMiA4LDIyIDgsMjAgMTAsMjAgMTAsMjIg - MTIsMjIgMTIsMjAgMTQsMjAgMTQsMjIgMTYsMjIgMTYsMjAgMTgsMjAgMTgsMjIgMjAsMjIgICAyMCwy - MCAyMiwyMCAyMiwyMiAyNCwyMiAyNCwyMCAyNiwyMCAyNiwyMiAyOCwyMiAyOCwyMCAzMCwyMCAzMCwx - OCAiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= -</value> - </data> - <data name="barBtnSetAxisHValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> - <value> - AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 - LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl - dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOICAAAC77u/ - PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi - IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv - MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh - Y2U9InByZXNlcnZlIiBpZD0iVmVydGljYWxfQXhpc19Cb3R0b21fdG9fVXAiIHN0eWxlPSJlbmFibGUt - YmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVl - e2ZpbGw6IzExNzdENzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8 - L3N0eWxlPg0KICA8cG9seWdvbiBwb2ludHM9IjEyLDIgMTIsNCAxMCw0IDEwLDYgMTIsNiAxMiw4IDEw - LDggMTAsMTAgMTIsMTAgMTIsMTIgMTAsMTIgMTAsMTQgMTIsMTQgMTIsMTYgMTAsMTYgMTAsMTggMTIs - MTggICAxMiwyMCAxMCwyMCAxMCwyMiAxMiwyMiAxMiwyNCAxMCwyNCAxMCwyNiAxMiwyNiAxMiwyOCAx - NCwyOCAxNCwyICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4 - PSIxNCIgeT0iMjYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyIiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N - CiAgPHBvbHlnb24gcG9pbnRzPSI4LDYgNSwyIDIsNiA0LDYgNCwyOCA2LDI4IDYsNiAiIGNsYXNzPSJC - bHVlIiAvPg0KPC9zdmc+Cw== -</value> - </data> <data name="barSubMenuVisible.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 @@ -583,6 +493,96 @@ Cjwvc3ZnPgs= </value> </data> + <data name="barBtnSetAxisHValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOICAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iVmVydGljYWxfQXhpc19Cb3R0b21fdG9fVXAiIHN0eWxlPSJlbmFibGUt + YmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbHVl + e2ZpbGw6IzExNzdENzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8 + L3N0eWxlPg0KICA8cG9seWdvbiBwb2ludHM9IjEyLDIgMTIsNCAxMCw0IDEwLDYgMTIsNiAxMiw4IDEw + LDggMTAsMTAgMTIsMTAgMTIsMTIgMTAsMTIgMTAsMTQgMTIsMTQgMTIsMTYgMTAsMTYgMTAsMTggMTIs + MTggICAxMiwyMCAxMCwyMCAxMCwyMiAxMiwyMiAxMiwyNCAxMCwyNCAxMCwyNiAxMiwyNiAxMiwyOCAx + NCwyOCAxNCwyICIgY2xhc3M9IkJsYWNrIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4 + PSIxNCIgeT0iMjYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyIiBjbGFzcz0iQmxhY2siIC8+DQogIDwvZz4N + CiAgPHBvbHlnb24gcG9pbnRzPSI4LDYgNSwyIDIsNiA0LDYgNCwyOCA2LDI4IDYsNiAiIGNsYXNzPSJC + bHVlIiAvPg0KPC9zdmc+Cw== +</value> + </data> + <data name="barBtnSetAxisQValue.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO8CAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iSG9yaXpvbnRhbF9BeGlzX0xlZnRfdG9fUmlnaHQiIHN0eWxlPSJlbmFi + bGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5C + bGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5zdDB7b3BhY2l0eTowLjU7 + fQo8L3N0eWxlPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cmVjdCB4PSI0IiB5PSIyIiB3aWR0aD0i + MiIgaGVpZ2h0PSIxOCIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0i + MzAsMjcgMjYsMjQgMjYsMjYgNCwyNiA0LDI4IDI2LDI4IDI2LDMwICIgY2xhc3M9IkJsdWUiIC8+DQog + IDxwb2x5Z29uIHBvaW50cz0iNCwxOCA0LDIwIDYsMjAgNiwyMiA4LDIyIDgsMjAgMTAsMjAgMTAsMjIg + MTIsMjIgMTIsMjAgMTQsMjAgMTQsMjIgMTYsMjIgMTYsMjAgMTgsMjAgMTgsMjIgMjAsMjIgICAyMCwy + MCAyMiwyMCAyMiwyMiAyNCwyMiAyNCwyMCAyNiwyMCAyNiwyMiAyOCwyMiAyOCwyMCAzMCwyMCAzMCwx + OCAiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= +</value> + </data> + <data name="barBtnPositioningMaxQ.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJEDAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX0l0ZW1zIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3 + IDAgMCAzMiAzMiI+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkuQmxhY2t7ZmlsbDojNzI3Mjcy + O30KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMzEsMkgxQzAuNSwy + LDAsMi41LDAsM3YyNmMwLDAuNSwwLjUsMSwxLDFoMzBjMC41LDAsMS0wLjUsMS0xVjNDMzIsMi41LDMx + LjUsMiwzMSwyeiBNOCwxNHYxMEg2VjE0SDNsNC02ICBsNCw2SDh6IE0zMCwyOEgxNFY0aDE2VjI4eiIg + Y2xhc3M9IkdyZWVuIiAvPg0KICA8cGF0aCBkPSJNMjQuNiwyMGMtMiwwLTMtMS4zLTMtMy45YzAtMS4z + LDAuMy0yLjQsMC44LTMuMWMwLjUtMC43LDEuMy0xLjEsMi4zLTEuMWMxLjksMCwyLjksMS4zLDIuOSwz + LjkgIGMwLDEuMy0wLjMsMi4zLTAuOCwzQzI2LjMsMTkuNywyNS42LDIwLDI0LjYsMjB6IE0yNC43LDEz + LjNjLTAuOCwwLTEuMiwwLjktMS4yLDIuOGMwLDEuNywwLjQsMi42LDEuMiwyLjZjMC44LDAsMS4xLTAu + OSwxLjEtMi43ICBDMjUuOCwxNC4yLDI1LjQsMTMuMywyNC43LDEzLjN6IE0xOCwyMHYtNS4yaC0ydi0x + LjJjMC4zLDAsMC42LDAsMC44LTAuMWMwLjMsMCwwLjUtMC4xLDAuNy0wLjNjMC4yLTAuMSwwLjQtMC4z + LDAuNS0wLjUgIGMwLjEtMC4yLDAuMi0wLjUsMC4zLTAuOGgxLjN2OEgxOHoiIGNsYXNzPSJCbGFjayIg + Lz4NCjwvc3ZnPgs= +</value> + </data> + <data name="barBtnPositioningMaxE.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value> + AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 + LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl + dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAJgEAAAC77u/ + PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi + IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv + MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh + Y2U9InByZXNlcnZlIiBpZD0iVG9wXzEwX1BlcmNlbnQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpu + ZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3Mjcy + NzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0zMSwySDFDMC41 + LDIsMCwyLjUsMCwzdjI0YzAsMC41LDAuNSwxLDEsMWgzMGMwLjUsMCwxLTAuNSwxLTFWM0MzMiwyLjUs + MzEuNSwyLDMxLDJ6IE04LDEydjEwSDZWMTJIM2w0LTYgIGw0LDZIOHogTTMwLDI2SDE0VjRoMTZWMjZ6 + IiBjbGFzcz0iR3JlZW4iIC8+DQogIDxwYXRoIGQ9Ik0xOC42LDE1LjFjLTAuOCwwLTEuNC0wLjItMS45 + LTAuN2MtMC41LTAuNC0wLjctMS0wLjctMS44YzAtMC44LDAuMi0xLjUsMC43LTEuOXMxLjItMC43LDIt + MC43ICBjMC44LDAsMS40LDAuMiwxLjksMC42YzAuNCwwLjQsMC43LDEsMC43LDEuOGMwLDAuOC0wLjIs + MS40LTAuNywxLjlDMjAsMTQuOCwxOS40LDE1LjEsMTguNiwxNS4xeiBNMjYsMTBsLTYuMiwxMEgxOGw2 + LjItMTBIMjZ6ICAgTTE4LjcsMTEuMmMtMC43LDAtMS4xLDAuNS0xLjEsMS40YzAsMC45LDAuMywxLjMs + MSwxLjNjMC43LDAsMS4xLTAuNSwxLjEtMS40QzE5LjcsMTEuNiwxOS40LDExLjIsMTguNywxMS4yeiBN + MjUuMywyMCAgYy0wLjgsMC0xLjQtMC4yLTEuOS0wLjdzLTAuNy0xLTAuNy0xLjhjMC0wLjgsMC4yLTEu + NSwwLjctMS45YzAuNS0wLjUsMS4yLTAuNywyLTAuN2MwLjgsMCwxLjQsMC4yLDEuOSwwLjZzMC43LDEs + MC43LDEuOCAgYzAsMC44LTAuMiwxLjQtMC43LDEuOUMyNi44LDE5LjgsMjYuMSwyMCwyNS4zLDIweiBN + MjUuNCwxNi4xYy0wLjcsMC0xLjEsMC41LTEuMSwxLjRjMCwwLjksMC40LDEuMywxLjEsMS4zYzAuNyww + LDEuMS0wLjUsMS4xLTEuNCAgYzAtMC40LTAuMS0wLjctMC4zLTFDMjYsMTYuMiwyNS43LDE2LjEsMjUu + NCwxNi4xeiIgY2xhc3M9IkJsYWNrIiAvPg0KPC9zdmc+Cw== +</value> + </data> <data name="barBtnExport.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v23.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <value> AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIzLjIsIFZlcnNpb249MjMuMi40 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 413b980..401bfb9 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 @@ -59,6 +59,7 @@ { _line_visible = value; this.barCekLineVisible.Checked = _line_visible; + this.barBtnSetAxisQValue.Enabled = _line_visible; } } private bool _line_visible = false; @@ -95,9 +96,9 @@ private void InitialChart() { this.chartControl1.SetChartDisplay(); - this.chartControl1.Legend.Direction = DevExpress.XtraCharts.LegendDirection.TopToBottom; + this.chartControl1.Legend.Direction = DevExpress.XtraCharts.LegendDirection.TopToBottom; - _main_chart_diagram = (XYDiagram)this.chartControl1.Diagram; + _main_chart_diagram = (XYDiagram)this.chartControl1.Diagram; _pane_qh = _main_chart_diagram.DefaultPane; _pane_qe = (XYDiagramPane)_main_chart_diagram.FindPaneByName("PaneQE"); _pane_qp = (XYDiagramPane)_main_chart_diagram.FindPaneByName("PaneQP"); @@ -135,6 +136,51 @@ this.chartControl1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseUp); this.chartControl1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.chartControl1_MouseDown); this.chartControl1.Resize += new System.EventHandler(this.chartControl1_Resize); + + this.chartControl1.CustomPaint += ChartControl1_CustomPaint; + } + + private void ChartControl1_CustomPaint(object sender, CustomPaintEventArgs e) + { + if (e is not DXCustomPaintEventArgs dxArgs) + return; + if (_vm_list == null || !_vm_list.Any()) + return; + + try + { + foreach (var vm in _vm_list) + { + if (!vm.ExtendFlow.HasValue) + continue; + var x = vm.ExtendFlow.Value; + using (Pen pen = new Pen(vm.Color, 2)) + { + // 涓績鐐� + var y = vm.QhCalc.GetPointY(x); + var c_pt_qh = _main_chart_diagram.DiagramToPoint(x, y, _axis_x_q, _axis_y_qh); + dxArgs.Cache.DrawLine(pen, new Point((int)c_pt_qh.Point.X, (int)c_pt_qh.Point.Y - 15), new Point((int)c_pt_qh.Point.X, (int)c_pt_qh.Point.Y + 15)); + + var y_qe = vm.QeCalc.GetPointY(x); + var c_pt_qe = _main_chart_diagram.DiagramToPoint(x, y_qe, _axis_x_q, _axis_y_qe); + dxArgs.Cache.DrawLine(pen, new Point((int)c_pt_qe.Point.X, (int)c_pt_qe.Point.Y - 15), new Point((int)c_pt_qe.Point.X, (int)c_pt_qe.Point.Y + 15)); + + + var y_qp = vm.QpCalc.GetPointY(x); + var c_pt_qp = _main_chart_diagram.DiagramToPoint(x, y_qp, _axis_x_q, _axis_y_qp); + dxArgs.Cache.DrawLine(pen, new Point((int)c_pt_qp.Point.X, (int)c_pt_qp.Point.Y - 15), new Point((int)c_pt_qp.Point.X, (int)c_pt_qp.Point.Y + 15)); + + } + } + + } + catch (Exception) + { + + throw; + } + + } /// <summary> @@ -626,7 +672,9 @@ if (workQ == null) { - workQ = (_minQ + _maxQ) / 2; + workQ = _minQ; + //workQ = (minQ + maxQ) / 2; + //workQ = (_minQ + _maxQ) / 2; } if (workQ < _minQ || workQ > _maxQ) @@ -711,7 +759,8 @@ series_qh.CrosshairEnabled = DefaultBoolean.False; series_qh.Tag = curve.Id.ToString(); series_qh.ShowInLegend = true; - series_qh.LegendTextPattern = curve.Name; + series_qh.LegendTextPattern = curve.Name; + var series_qh_view = new DevExpress.XtraCharts.SplineSeriesView(); series_qh_view.LineStyle.Thickness = 2; @@ -997,8 +1046,23 @@ if (axisValue == null) return; double chartQ = axisValue.NumericalValue; - CalcWorkPointByQ(chartQ); - + CalcWorkPointByQ(chartQ); + } + else + { + var hitInfo = chartControl1.CalcHitInfo(e.Location); + if (hitInfo.InConstantLine) + { + this.chartControl1.Cursor = Cursors.Hand; + } + else if (hitInfo.InAnnotation) + { + this.chartControl1.Cursor = Cursors.SizeAll; + } + else + { + this.chartControl1.Cursor = Cursors.Default; + } } } @@ -1094,7 +1158,7 @@ { if (!_initialData) return; - _line_visible = visible; + LineVisible = visible; CalcWorkPointByQ(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoViewModel.cs index 4765a04..705cf58 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoViewModel.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/03-serial-parallel/PumpSerialParallelInfoViewModel.cs @@ -19,7 +19,7 @@ this.QueryP = rhs.QueryP; this.QueryE = rhs.QueryE; this.ExtendRatio = rhs.ExtendRatio; - this.IsDefault = rhs.IsDefault; + this.IsDefault = rhs.IsDefault; this.RunStatus = rhs.RunStatus; this.CalcuQ = rhs.CalcuQ; this.CalcuH = rhs.CalcuH; @@ -38,8 +38,9 @@ public bool IsDefault { get; set; } public bool RunStatus { get; set; } - public double? CalcuQ { get; set; } - public double? CalcuH { get; set; } + public double? CalcuQ { get; set; } + public double? CalcuH { get; set; } + public double? ExtendFlow { get; set; } public void Calc() { this.CurrentSpeed = Math.Round(this.CurrentHz / 50 * this.RatedSpeed); @@ -57,6 +58,11 @@ if (this.QpCalc != null) this.QpCalc.MaxX = this.QpCalc.MaxX * this.ExtendRatio / 100; + if (this.ExtendRatio>100) + { + this.ExtendFlow = this.Qh.MaxX; + } + } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/04-variable-speed/PumpVariableSpeedChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/04-variable-speed/PumpVariableSpeedChart.cs index 21b7f39..0360f29 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/04-variable-speed/PumpVariableSpeedChart.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/04-variable-speed/PumpVariableSpeedChart.cs @@ -63,6 +63,7 @@ { _line_visible = value; this.barCekLineVisible.Checked = _line_visible; + this.barBtnSetAxisQValue.Enabled = _line_visible; } } private bool _line_visible = false; @@ -705,7 +706,8 @@ if (workQ == null) { - workQ = (_minQ + _maxQ) / 2; + workQ = _minQ; + //workQ = (_minQ + _maxQ) / 2; } if (workQ < _minQ || workQ > _maxQ) @@ -1097,6 +1099,22 @@ CalcWorkPointByQ(chartQ); } + else + { + var hitInfo = chartControl1.CalcHitInfo(e.Location); + if (hitInfo.InConstantLine) + { + this.chartControl1.Cursor = Cursors.Hand; + } + else if (hitInfo.InAnnotation) + { + this.chartControl1.Cursor = Cursors.SizeAll; + } + else + { + this.chartControl1.Cursor = Cursors.Default; + } + } } private void chartControl1_MouseUp(object sender, MouseEventArgs e) @@ -1191,7 +1209,7 @@ { if (!_initialData) return; - _line_visible = visible; + LineVisible = visible; CalcWorkPointByQ(); } diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/04-coordinate/PumpAxisValueDlg.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/04-coordinate/PumpAxisValueDlg.cs index 3bd07a6..84298d6 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/04-coordinate/PumpAxisValueDlg.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/04-coordinate/PumpAxisValueDlg.cs @@ -8,6 +8,7 @@ public PumpAxisValueDlg() { InitializeComponent(); + this.Text = "娴侀噺"; } public event Func<double, bool> VerifyValueChanged; diff --git a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs index 1c58c68..4f17901 100644 --- a/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs +++ b/WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/02-valve-chart/01-chart/ValvePerform2dChart.cs @@ -67,7 +67,9 @@ set { _lineVisible = value; - this.barCekLineVisible.Checked = _lineVisible; + this.barCekLineVisible.Checked = _lineVisible; + this.barBtnSetAxisQValue.Enabled = _lineVisible; + this.barBtnPositioningMaxQ.Enabled = _lineVisible; } } private bool _lineVisible = false; @@ -403,7 +405,8 @@ if (workQ == null) { - workQ = (minQ + maxQ) / 2; + //workQ = (minQ + maxQ) / 2; + workQ = minQ; } else { @@ -446,9 +449,8 @@ var minH = _pt_ql_list.Min(x => x.Y); var maxH = _pt_ql_list.Max(x => x.Y); if (workH < minH || workH > maxH) - return; - - var workQ = _cubic_spline_ql.GetPointY(workH); + return; + var workQ = _cubic_spline_ql.GetPointsX(workH)?.LastOrDefault(); CalcWorkPointByQ(workQ); } @@ -644,8 +646,23 @@ if (axisValue == null) return; double chartH = axisValue.NumericalValue; - CalcWorkPointByH(chartH); - + CalcWorkPointByH(chartH); + } + else + { + var hitInfo = chartControl1.CalcHitInfo(e.Location); + if (hitInfo.InConstantLine) + { + this.chartControl1.Cursor = Cursors.Hand; + } + else if (hitInfo.InAnnotation) + { + this.chartControl1.Cursor = Cursors.SizeAll; + } + else + { + this.chartControl1.Cursor = Cursors.Default; + } } } @@ -691,6 +708,7 @@ return; var dlg = new PumpAxisValueDlg(); dlg.SetBindingData(); + dlg.Text = "姘存崯"; dlg.VerifyValueChanged += (value) => { var min = _pt_ql_list.Min(x => x.Y); @@ -777,7 +795,7 @@ { if (!_initial_data) return; - _lineVisible = visible; + LineVisible = visible; CalcWorkPointByQ(); } -- Gitblit v1.9.3