| | |
| | | } |
| | | |
| | | var rated_speed = x.RatedN.Value; |
| | | var speed_ratio = x.SpeedRatio ?? 1; |
| | | var speed_ratio = x.SpeedRatio; |
| | | |
| | | var qh_pt_list = qh.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); |
| | | var qe_pt_list = qe?.Select(x => new Yw.Geometry.Point2d(x.X, x.Y)).ToList(); |
| | |
| | | } |
| | | |
| | | private XhsProjectSimulationCalcuCtrl _calcuCtrl = null;//计算控件 |
| | | private SetHydroCalcuPrefixCtrl _calcuPrefixCtrl = null; |
| | | |
| | | private SetHydroCalcuPrefixCtrl GetCalcuPrefixCtrl() |
| | | { |
| | | if (_calcuPrefixCtrl == null) |
| | | { |
| | | _calcuPrefixCtrl = new SetHydroCalcuPrefixCtrl(); |
| | | _calcuPrefixCtrl.Dock = DockStyle.Fill; |
| | | _calcuPrefixCtrl.InitialData(() => _hydroInfo); |
| | | _calcuPrefixCtrl.HydroViewEvent += async (parter) => |
| | | { |
| | | if (parter == null) |
| | | { |
| | | return; |
| | | } |
| | | await _bimfaceCtrl.ZoomAndSelectComponents(new List<string>() { parter.Code }); |
| | | }; |
| | | _calcuPrefixCtrl.HydroCalcuEvent += async (hydroInfo) => |
| | | { |
| | | if (hydroInfo == null) |
| | | { |
| | | return; |
| | | } |
| | | _checkResult = hydroInfo.Check(); |
| | | if (!_checkResult.Succeed) |
| | | { |
| | | this.controlContainerBottom.Controls.Clear(); |
| | | var checkResultCtrl = GetCheckResultCtrl(); |
| | | checkResultCtrl.SetBindingData(_checkResult); |
| | | this.controlContainerBottom.Controls.Add(checkResultCtrl); |
| | | TipFormHelper.ShowWarn("校验失败,请检查后重试"); |
| | | return; |
| | | } |
| | | |
| | | var netWork = Yw.Hydro.ParseHelper.ToNetwork(hydroInfo); |
| | | _calcuResult = netWork.Calcu(); |
| | | if (_calcuResult.Succeed) |
| | | { |
| | | this.controlContainerBottom.Controls.Clear(); |
| | | var parterListCtrl = GetParterListCtrl(); |
| | | var calcuResultList = new List<IHydroCalcuResult>(); |
| | | _calcuResult.NodeList?.ForEach(x => |
| | | { |
| | | calcuResultList.Add(new HydroCalcuNodeResult() |
| | | { |
| | | Code = x.Id, |
| | | CalcuPress = x.Press, |
| | | CalcuHead = x.Head, |
| | | CalcuDemand = x.Demand, |
| | | }); |
| | | }); |
| | | _calcuResult.LinkList?.ForEach(x => |
| | | { |
| | | calcuResultList.Add(new HydroCalcuLinkResult() |
| | | { |
| | | Code = x.Id, |
| | | CalcuFlow = x.Flow, |
| | | CalcuVelocity = x.Velocity, |
| | | CalcuHeadLoss = x.Headloss |
| | | }); |
| | | }); |
| | | parterListCtrl.SetBindingData(_hydroInfo, calcuResultList); |
| | | parterListCtrl.SetCalcuView(); |
| | | this.controlContainerBottom.Controls.Add(parterListCtrl); |
| | | this.docPnlBottom.Text = "计算结果"; |
| | | ShowProperty(); |
| | | await _bimfaceCtrl?.ShowCalcuCustomLabels(_calcuResult); |
| | | TipFormHelper.ShowSucceed("计算成功!"); |
| | | } |
| | | else |
| | | { |
| | | _calcuCtrl.SetBindingData(_calcuResult.FailedList); |
| | | this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; |
| | | this.docPnlBottom.Text = "计算失败原因"; |
| | | this.docPnlBottom.Height = 350; |
| | | TipFormHelper.ShowError("计算失败"); |
| | | } |
| | | }; |
| | | } |
| | | return _calcuPrefixCtrl; |
| | | } |
| | | |
| | | //水力计算 |
| | | private void barBtnHydroCalcu_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) |
| | |
| | | { |
| | | return; |
| | | } |
| | | |
| | | this.controlContainerBottom.Controls.Clear(); |
| | | var calcuCtrl = GetCalcuCtrl(); |
| | | calcuCtrl.SetBindingData(_hydroInfo); |
| | | this.controlContainerBottom.Controls.Add(calcuCtrl); |
| | | this.docPnlBottom.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; |
| | | this.docPnlBottom.Text = "计算前提条件"; |
| | | this.docPnlBottom.Height = 350; |
| | | var calcuPrefixCtrl = GetCalcuPrefixCtrl(); |
| | | calcuPrefixCtrl.SetBindingData(); |
| | | this.controlContainerRight.Controls.Clear(); |
| | | this.controlContainerRight.Controls.Add(calcuPrefixCtrl); |
| | | this.docPnlRight.Text = "前提条件"; |
| | | this.docPnlRight.Width = SetHydroCalcuPrefixCtrl.ControlMinWidth; |
| | | this.docPnlRight.Visibility = DevExpress.XtraBars.Docking.DockVisibility.Visible; |
| | | } |
| | | |
| | | #endregion 水力计算 |
| | | #endregion |
| | | |
| | | #region 构件查询 |
| | | |