namespace HStation.WinFrmUI.PhartRelation { public partial class PumpPerform2dViewDlg : XtraForm { public PumpPerform2dViewDlg() { InitializeComponent(); } /// /// 初始化数据 /// public async void SetBindingData(long pump_main_id, long phart_diagram_id, double rpm_ratio, double? action_spot_q = null) { var pump_main = await new BLL.AssetsPumpMain().GetByID(pump_main_id); if (pump_main == null) return; var phart_diagram = await new Yw.BLL.PhartDiagram().GetByID(phart_diagram_id); if (phart_diagram == null) return; var phart_graph_list = await new Yw.BLL.PhartGraph().GetByDiagramID(phart_diagram_id); if (phart_graph_list == null || !phart_graph_list.Any()) return; var graph_qh = phart_graph_list.Find(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.PumpQH); var graph_qe = phart_graph_list.Find(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.PumpQE); var graph_qp = phart_graph_list.Find(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.PumpQP); if (graph_qh == null) { return; } List points_qh = null, points_qe = null, points_qp = null; Yw.Geometry.CubicSpline2d cubic_spline_qh = null, cubic_spline_qe = null, cubic_spline_qp = null; points_qh = PhartPerformCurveHelper.GetFeatPointList((HStation.PhartRelation.eGraphType)graph_qh.GraphType, graph_qh.GeometryInfo, 12, null); cubic_spline_qh = new Yw.Geometry.CubicSpline2d(points_qh); cubic_spline_qh = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQH(cubic_spline_qh, 50, rpm_ratio * 50); if (graph_qe != null) { points_qe = PhartPerformCurveHelper.GetFeatPointList((HStation.PhartRelation.eGraphType)graph_qe.GraphType, graph_qe.GeometryInfo, 12, null); cubic_spline_qe = new Yw.Geometry.CubicSpline2d(points_qe); cubic_spline_qe = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQE(cubic_spline_qe, 50, rpm_ratio * 50); } if (graph_qp != null) { points_qp = PhartPerformCurveHelper.GetFeatPointList((HStation.PhartRelation.eGraphType)graph_qp.GraphType, graph_qp.GeometryInfo, 12, null); cubic_spline_qp = new Yw.Geometry.CubicSpline2d(points_qp); cubic_spline_qp = Yw.WinFrmUI.Phart.PumpCalcHelper.CalculateSimilarQP(cubic_spline_qp, 50, rpm_ratio * 50); } var disp_paras = phart_diagram.DispParas; var is_calc_disp_paras = string.IsNullOrWhiteSpace(disp_paras); this.xtrPerform2dChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp, disp_paras, is_calc_disp_paras); if (action_spot_q.HasValue) { this.xtrPerform2dChart1.CalcDesignPointByQ(action_spot_q.Value); } } /// /// 初始化数据 /// public void SetBindingData( Yw.Pump.CurveQH qh, Yw.Pump.CurveQE qe, Yw.Pump.CurveQP qp) { if (qh == null) { return; } Yw.Geometry.CubicSpline2d cubic_spline_qh = null, cubic_spline_qe = null, cubic_spline_qp = null; cubic_spline_qh = new Yw.Geometry.CubicSpline2d(qh.FeatCurve.GetPointList()); if (qe != null) cubic_spline_qe = new Yw.Geometry.CubicSpline2d(qe.FeatCurve.GetPointList()); if (qp != null) cubic_spline_qp = new Yw.Geometry.CubicSpline2d(qp.FeatCurve.GetPointList()); this.xtrPerform2dChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp); } /// /// 初始化数据 /// public void SetBindingData(Yw.Geometry.CubicSpline2d cubic_spline_qh, Yw.Geometry.CubicSpline2d cubic_spline_qe, Yw.Geometry.CubicSpline2d cubic_spline_qp) { this.xtrPerform2dChart1.SetBindingData(cubic_spline_qh, cubic_spline_qe, cubic_spline_qp); } } }