namespace HStation.WinFrmUI.PhartRelation
|
{
|
public partial class PumpPerform2dViewDlg : XtraForm
|
{
|
public PumpPerform2dViewDlg()
|
{
|
InitializeComponent();
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
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.PumpMain().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<Yw.Geometry.Point2d> 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.CalcActionSpotByQ(action_spot_q.Value);
|
}
|
|
}
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
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);
|
}
|
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
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);
|
|
}
|
|
|
|
}
|
}
|