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/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsTranslucent.js | 8 ++-- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs | 4 +- WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html | 2 WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs | 23 +++++++++++ WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs | 10 +++++ WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs | 40 ++++++++++++++++++++ 6 files changed, 79 insertions(+), 8 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs index 2f4b20c..284f0a9 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs @@ -78,5 +78,15 @@ await this.bimfaceInterop3dContainer1.ShowAllComponents(); } + public async Task TranslucentComponents(List<string> elementIds) + { + await this.bimfaceInterop3dContainer1.TranslucentComponents(elementIds); + } + + public async Task OpaqueComponents(List<string> elementIds) + { + await this.bimfaceInterop3dContainer1.OpaqueComponents(elementIds); + } + } } diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs index 67ebbd5..8651228 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs @@ -93,7 +93,7 @@ } var pumps = _hydro.Pumps; var ids = pumps.Select(x => x.Code).Distinct().ToList(); - await this.xhsProjectAssetsBimfaceCtrl1.HideComponents(ids); + await this.xhsProjectAssetsBimfaceCtrl1.TranslucentComponents(ids); } private async void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) @@ -104,7 +104,7 @@ } var pumps = _hydro.Pumps; var ids = pumps.Select(x => x.Code).Distinct().ToList(); - await this.xhsProjectAssetsBimfaceCtrl1.ShowComponents(ids); + await this.xhsProjectAssetsBimfaceCtrl1.OpaqueComponents(ids); } private async void barButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs index 9721056..60c7f0d 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs @@ -184,5 +184,45 @@ } #endregion + + #region 鏋勪欢鍗婇�忔槑涓庡彇娑� + + /// <summary> + /// 鍗婇�忔槑缁勪欢锛堥紶鏍囦笉鍙�夛級 + /// </summary> + /// <param name="ids">鏋勪欢id鍒楄〃</param> + /// <returns></returns> + public async Task TranslucentComponents(List<string> ids) + { + if (ids == null || ids.Count < 1) + { + return; + } + if (!_isViewInitialized) + { + return; + } + await this.webViewControl1.EvaluateScriptAsync("translucentComponents", ids); + } + + /// <summary> + /// 鍙栨秷鏋勪欢鍗婇�忔槑 + /// </summary> + /// <param name="ids">鏋勪欢id鍒楄〃</param> + /// <returns></returns> + public async Task OpaqueComponents(List<string> ids) + { + if (ids == null || ids.Count < 1) + { + return; + } + if (!_isViewInitialized) + { + return; + } + await this.webViewControl1.EvaluateScriptAsync("opaqueComponents", ids); + } + + #endregion } } diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs index d73abe8..0b2d884 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs @@ -1,4 +1,6 @@ -锘縩amespace Yw.WinFrmUI +锘縰sing DevExpress.XtraDiagram.Base; + +namespace Yw.WinFrmUI { /// <summary> /// @@ -37,5 +39,24 @@ #endregion + #region 鏋勪欢鍗婇�忔槑涓庡彇娑� + + /// <summary> + /// 鍗婇�忔槑缁勪欢锛堥紶鏍囦笉鍙�夛級 + /// </summary> + /// <param name="ids">鏋勪欢id 鍒楄〃</param> + /// <returns></returns> + Task TranslucentComponents(List<string> ids); + + /// <summary> + /// 鍙栨秷缁勪欢鍗婇�忔槑 + /// </summary> + /// <param name="ids">鏋勪欢id 鍒楄〃</param> + /// <returns></returns> + Task OpaqueComponents(List<string> ids); + + + #endregion + } } diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html index f28ab14..7b4aa75 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html @@ -113,7 +113,7 @@ <script src="js/Background.js"></script> <script src="js/CameraStatus.js"></script> <script src="js/ComponentsColor.js"></script> -<script src="js/ComponentsTranslucent.js"></script> +<script src="../js/ComponentsTranslucent.js"></script> <script src="../js/ComponentsVisible.js"></script> <script src="js/ContextMenu.js"></script> <script src="js/GetComponents.js"></script> diff --git a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsTranslucent.js b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsTranslucent.js index cdad955..fc939a9 100644 --- a/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsTranslucent.js +++ b/WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsTranslucent.js @@ -1,11 +1,11 @@ -锘�//璁剧疆鏋勪欢鍗婇�忔槑(杩欐牱榧犳爣涓嶅彲閫�) -function setComponentsTranslucent(ids) { +锘�//鍗婇�忔槑缁勪欢锛堣繖鏍烽紶鏍囦笉鍙�夛級 +function translucentComponents(ids) { _viewer.setComponentsOpacity(ids, Glodon.Bimface.Viewer.OpacityOption.Translucent); _viewer.render(); } -//鍙栨秷鏋勪欢鍗婇�忔槑 -function setComponentsOpaque(ids) { +//鍙栨秷缁勪欢鍗婇�忔槑 +function opaqueComponents(ids) { _viewer.setComponentsOpacity(ids, Glodon.Bimface.Viewer.OpacityOption.Opaque); _viewer.render(); } \ No newline at end of file -- Gitblit v1.9.3