| | |
| | | /// <summary> |
| | | /// 获取默认的泵曲线 |
| | | /// </summary> |
| | | public static PumpCurveViewModel GetDefaultPumpCurveViewMdoel(this List<HStation.Vmo.PhartGraphVmo> vmo_list) |
| | | public static PumpCurveViewModel GetDefaultPumpCurveViewMdoel(this List<Yw.Vmo.PhartGraphVmo> vmo_list) |
| | | { |
| | | if (vmo_list == null || !vmo_list.Any()) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 获取泵曲线列表 |
| | | /// </summary> |
| | | public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list) |
| | | public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this HStation.Vmo.PhartDiagramRelationExtensionsVmo vmo) |
| | | { |
| | | |
| | | if (vmo == null) |
| | | { |
| | | return default; |
| | | } |
| | | var diagram = vmo.Diagram; |
| | | if (diagram == null) |
| | | { |
| | | return default; |
| | | } |
| | | var graph_list = diagram.GraphList; |
| | | if (graph_list == null || !graph_list.Any()) |
| | | { |
| | | return default; |
| | | } |
| | | |
| | | return graph_list.GetPumpCurveViewMdoelList(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取泵曲线列表 |
| | | /// </summary> |
| | | public static List<PumpCurveViewModel> GetPumpCurveViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list) |
| | | { |
| | | if (vmo_list == null || !vmo_list.Any()) |
| | | { |
| | | return default; |
| | | } |
| | | |
| | | var filter_list = new List<(double, double, Yw.Ahart.PerformCurveBase)>(); |
| | | var filter_list = new List<(double, double, Yw.Ahart.eCurveType, object)>(); |
| | | foreach (var vmo in vmo_list) |
| | | { |
| | | if (vmo.GraphType == HStation.PhartRelation.eGraphType.QH) |
| | | if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QH) |
| | | { |
| | | var paras = HStation.Model.QHGraphParasModel.ToModel(vmo.GraphParas); |
| | | if (paras != null) |
| | | { |
| | | var curve = vmo.GetPerformCurve(); |
| | | filter_list.Add((paras.Hz, paras.N, curve)); |
| | | var curve = Yw.Pump.CurveQHHelper.ToModel(vmo.GeometryInfo); |
| | | filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QH, curve)); |
| | | } |
| | | } |
| | | else if (vmo.GraphType == HStation.PhartRelation.eGraphType.QE) |
| | | else if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QE) |
| | | { |
| | | var paras = HStation.Model.QEGraphParasModel.ToModel(vmo.GraphParas); |
| | | if (paras != null) |
| | | { |
| | | var curve = vmo.GetPerformCurve(); |
| | | filter_list.Add((paras.Hz, paras.N, curve)); |
| | | var curve = Yw.Pump.CurveQEHelper.ToModel(vmo.GeometryInfo); |
| | | filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QE, curve)); |
| | | } |
| | | } |
| | | else if (vmo.GraphType == HStation.PhartRelation.eGraphType.QP) |
| | | else if (vmo.GraphType == (int)HStation.PhartRelation.eGraphType.QP) |
| | | { |
| | | var paras = HStation.Model.QPGraphParasModel.ToModel(vmo.GraphParas); |
| | | if (paras != null) |
| | | { |
| | | var curve = vmo.GetPerformCurve(); |
| | | filter_list.Add((paras.Hz, paras.N, curve)); |
| | | var curve = Yw.Pump.CurveQPHelper.ToModel(vmo.GeometryInfo); |
| | | filter_list.Add((paras.Hz, paras.N, Yw.Ahart.eCurveType.QP, curve)); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | var hz = item_list.Key.Item1; |
| | | var n = item_list.Key.Item2; |
| | | var curve_list = item_list.Select(x => x.Item3).ToList(); |
| | | var curve_list = item_list.Select(x => x.Item4).ToList(); |
| | | |
| | | var qh = curve_list.Find(x => x is Yw.Pump.CurveQH) as Yw.Pump.CurveQH; |
| | | var qe = curve_list.Find(x => x is Yw.Pump.CurveQE) as Yw.Pump.CurveQE; |
| | | var qp = curve_list.Find(x => x is Yw.Pump.CurveQP) as Yw.Pump.CurveQP; |
| | | var qh = (Yw.Pump.CurveQH)curve_list.Find(x => x is Yw.Pump.CurveQH); |
| | | var qe = (Yw.Pump.CurveQE)curve_list.Find(x => x is Yw.Pump.CurveQE); |
| | | var qp = (Yw.Pump.CurveQP)curve_list.Find(x => x is Yw.Pump.CurveQP); |
| | | |
| | | if (qh == null) |
| | | continue; |
| | |
| | | /// <summary> |
| | | /// 获取等效线列表 |
| | | /// </summary> |
| | | public static List<CurveEqualEViewModel> GetCurveEqualEViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list) |
| | | public static List<CurveEqualEViewModel> GetCurveEqualEViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list) |
| | | { |
| | | vmo_list = vmo_list?.Where(x => x.GraphType == HStation.PhartRelation.eGraphType.EqualE).ToList(); |
| | | vmo_list = vmo_list?.Where(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.EqualE).ToList(); |
| | | if (vmo_list == null || !vmo_list.Any()) |
| | | { |
| | | return default; |
| | |
| | | /// <summary> |
| | | /// 获取等功线列表 |
| | | /// </summary> |
| | | public static List<CurveEqualPViewModel> GetCurveEqualPViewMdoelList(this List<HStation.Vmo.PhartGraphVmo> vmo_list) |
| | | public static List<CurveEqualPViewModel> GetCurveEqualPViewMdoelList(this List<Yw.Vmo.PhartGraphVmo> vmo_list) |
| | | { |
| | | vmo_list = vmo_list?.Where(x => x.GraphType == HStation.PhartRelation.eGraphType.EqualP).ToList(); |
| | | vmo_list = vmo_list?.Where(x => x.GraphType == (int)HStation.PhartRelation.eGraphType.EqualP).ToList(); |
| | | if (vmo_list == null || !vmo_list.Any()) |
| | | { |
| | | return default; |
| | |
| | | /// <summary> |
| | | /// 获取特性曲线 |
| | | /// </summary> |
| | | public static Yw.Ahart.PerformCurveBase GetPerformCurve(this HStation.Vmo.PhartGraphVmo vmo) |
| | | public static Yw.Ahart.PerformCurveBase GetPerformCurve(this Yw.Vmo.PhartGraphVmo vmo) |
| | | { |
| | | if (vmo == null) |
| | | return default; |
| | | var performCurve = HStation.Service.PhartRelation.PhartGraphHelper.GetPerformCurve(vmo.GeometryStyle, vmo.GeometryInfo); |
| | | var performCurve = HStation.Service.PhartRelation.PhartGraphHelper.GetPerformCurve( (HStation.PhartRelation.eGeometryStyle) vmo.GeometryStyle, vmo.GeometryInfo); |
| | | return performCurve; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取性能点列表 |
| | | /// </summary> |
| | | public static List<Yw.Geometry.Point2d> GetFeatPointList(this HStation.Vmo.PhartGraphVmo vmo, int point_number = 12, double min_space = 0.0001) |
| | | public static List<Yw.Geometry.Point2d> GetFeatPointList(this Yw.Vmo.PhartGraphVmo vmo, int point_number = 12, double min_space = 0.0001) |
| | | { |
| | | if (vmo == null) |
| | | return default; |
| | | var graph_type = vmo.GraphType; |
| | | var geometry_info = vmo.GeometryInfo; |
| | | var pts = HStation.Service.PhartRelation.PhartGraphHelper.GetFeatPointList(graph_type, geometry_info, point_number, min_space); |
| | | var pts = HStation.Service.PhartRelation.PhartGraphHelper.GetFeatPointList((HStation.PhartRelation.eGraphType)graph_type, geometry_info, point_number, min_space); |
| | | return pts?.ToList(); |
| | | } |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | } |
| | | |
| | | } |