From a990956c484b788bde0f7eae0202d8303d76a106 Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期一, 26 八月 2024 14:14:28 +0800 Subject: [PATCH] bimface增加半透明与取消半透明功能 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs | 88 ++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 4 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs index b83bdf9..f13d4c3 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/03-hydraulic-simulation/XhsSchemeHydraulicSimulationPage.cs @@ -1,5 +1,8 @@ -锘縰sing DevExpress.XtraEditors; +锘縰sing DevExpress.Xpo.Helpers; +using DevExpress.XtraEditors; +using Yw.DAL.Basic; using Yw.EPAnet; +using Yw.WinFrmUI.Q3d; namespace HStation.WinFrmUI { @@ -16,6 +19,8 @@ private long _projectId; private Yw.Model.HydroModelInfo _hydro = null; + private Yw.Model.HydroParterInfo _parter = null; + private List<CalcuParter> _allCalcuParterList = null; /// <summary> @@ -53,9 +58,47 @@ { if (_hydro == null) { + _parter = null; return; } - this.xhsProjectSimulationPropertyCtrl1.SelectParter(objectId); + var allParterList = _hydro.GetAllParters(); + _parter = allParterList.Find(x => x.Code == objectId); + this.xhsProjectSimulationPropertyCtrl1.SelectParter(_parter, allParterList); + if (_parter != null) + { + if (_allCalcuParterList != null && _allCalcuParterList.Count > 0) + { + var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code); + if (calcuParter != null) + { + IHydroCalcuProperty calcuProperty = null; + if (calcuParter is CalcuNode calcuNode) + { + var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty(); + calcuNodeProperty.ID = _parter.ID; + calcuNodeProperty.CalcuPress = calcuNode.Press; + calcuNodeProperty.CalcuDemand = calcuNode.Demand; + calcuNodeProperty.CalcuHead = calcuNode.Head; + calcuProperty = calcuNodeProperty; + } + else if (calcuParter is CalcuLink calcuLink) + { + var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty(); + calcuLinkProperty.ID = _parter.ID; + calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss; + calcuLinkProperty.CalcuFlow = calcuLink.Flow; + calcuLinkProperty.CalcuVelocity = calcuLink.Velocity; + calcuProperty = calcuLinkProperty; + } + + if (calcuProperty != null) + { + this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty); + } + } + } + } + } private void barBtnCheck_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -76,8 +119,45 @@ return; } var netWork = Yw.Hydro.ParseHelper.ToNetwork(_hydro); - var list = netWork.Calcu(); - XtraMessageBox.Show(JsonHelper.Object2FormatJson(list)); + var result = netWork.Calcu(); + if (!result.Succeed) + { + XtraMessageBox.Show(JsonHelper.Object2FormatJson(result)); + return; + } + _allCalcuParterList = result.GetParterList(); + TipFormHelper.ShowSucceed("璁$畻鎴愬姛"); + if (_parter != null) + { + var calcuParter = _allCalcuParterList.Find(x => x.Id == _parter.Code); + if (calcuParter != null) + { + IHydroCalcuProperty calcuProperty = null; + if (calcuParter is CalcuNode calcuNode) + { + var calcuNodeProperty = new Yw.WinFrmUI.HydroCalcuNodeProperty(); + calcuNodeProperty.ID = _parter.ID; + calcuNodeProperty.CalcuPress = calcuNode.Press; + calcuNodeProperty.CalcuDemand = calcuNode.Demand; + calcuNodeProperty.CalcuHead = calcuNode.Head; + calcuProperty = calcuNodeProperty; + } + else if (calcuParter is CalcuLink calcuLink) + { + var calcuLinkProperty = new Yw.WinFrmUI.HydroCalcuLinkProperty(); + calcuLinkProperty.ID = _parter.ID; + calcuLinkProperty.CalcuHeadLoss = calcuLink.Headloss; + calcuLinkProperty.CalcuFlow = calcuLink.Flow; + calcuLinkProperty.CalcuVelocity = calcuLink.Velocity; + calcuProperty = calcuLinkProperty; + } + + if (calcuProperty != null) + { + this.xhsProjectSimulationPropertyCtrl1.UpdateCalcuProperty(calcuProperty); + } + } + } } private void barBtnParter_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) -- Gitblit v1.9.3