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; } 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; } 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; WinFrmUI/Yw.WinFrmUI.Phart.Core/01-perform/01-pump-chart/01-chart/01-perform/PumpPerformChart.cs
@@ -1,14 +1,8 @@ using DevExpress.Charts.Model; using DevExpress.Utils; using 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(); } 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 = "流量 (m³/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 = "流量 (m³/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(); 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(); } 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 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(); } 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; } } 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(); } 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; 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(); }