WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsProjectAssetsBimfaceCtrl.cs
@@ -63,5 +63,20 @@ this.ClickParterEvent?.Invoke(obj.ObjectId); } public async Task HideComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.HideComponents(elementIds); } public async Task ShowComponents(List<string> elementIds) { await this.bimfaceInterop3dContainer1.ShowComponents(elementIds); } public async Task ShowAllComponents() { await this.bimfaceInterop3dContainer1.ShowAllComponents(); } } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.Designer.cs
@@ -33,14 +33,18 @@ ribbonControl1 = new DevExpress.XtraBars.Ribbon.RibbonControl(); barBtnCheck = new DevExpress.XtraBars.BarButtonItem(); barBtnCalcu = new DevExpress.XtraBars.BarButtonItem(); barButtonItem1 = new DevExpress.XtraBars.BarButtonItem(); barButtonItem2 = new DevExpress.XtraBars.BarButtonItem(); barButtonItem3 = new DevExpress.XtraBars.BarButtonItem(); barButtonItem4 = new DevExpress.XtraBars.BarButtonItem(); ribbonPage1 = new DevExpress.XtraBars.Ribbon.RibbonPage(); ribbonPageGroup1 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); ribbonPageGroup2 = new DevExpress.XtraBars.Ribbon.RibbonPageGroup(); xhsProjectAssetsBimfaceCtrl1 = new XhsProjectAssetsBimfaceCtrl(); dockPanel1 = new DevExpress.XtraBars.Docking.DockPanel(); dockPanel1_Container = new DevExpress.XtraBars.Docking.ControlContainer(); xhsProjectAssetsPropertyCtrl1 = new XhsProjectAssetsPropertyCtrl(); dockManager1 = new DevExpress.XtraBars.Docking.DockManager(components); barButtonItem1 = new DevExpress.XtraBars.BarButtonItem(); ((ISupportInitialize)ribbonControl1).BeginInit(); xhsProjectAssetsBimfaceCtrl1.SuspendLayout(); dockPanel1.SuspendLayout(); @@ -52,15 +56,15 @@ // ribbonControl1.ExpandCollapseItem.Id = 0; ribbonControl1.ItemPanelStyle = DevExpress.XtraBars.Ribbon.RibbonItemPanelStyle.Classic; ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCheck, barBtnCalcu, barButtonItem1 }); ribbonControl1.Items.AddRange(new DevExpress.XtraBars.BarItem[] { ribbonControl1.ExpandCollapseItem, barBtnCheck, barBtnCalcu, barButtonItem1, barButtonItem2, barButtonItem3, barButtonItem4 }); ribbonControl1.Location = new Point(0, 0); ribbonControl1.MaxItemId = 4; ribbonControl1.MaxItemId = 7; ribbonControl1.Name = "ribbonControl1"; ribbonControl1.Pages.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPage[] { ribbonPage1 }); ribbonControl1.ShowApplicationButton = DevExpress.Utils.DefaultBoolean.False; ribbonControl1.ShowExpandCollapseButton = DevExpress.Utils.DefaultBoolean.False; ribbonControl1.ShowPageHeadersMode = DevExpress.XtraBars.Ribbon.ShowPageHeadersMode.ShowOnMultiplePages; ribbonControl1.Size = new Size(1030, 101); ribbonControl1.Size = new Size(1030, 128); ribbonControl1.ToolbarLocation = DevExpress.XtraBars.Ribbon.RibbonQuickAccessToolbarLocation.Hidden; // // barBtnCheck @@ -79,9 +83,37 @@ barBtnCalcu.Name = "barBtnCalcu"; barBtnCalcu.ItemClick += barBtnCalcu_ItemClick; // // barButtonItem1 // barButtonItem1.Caption = "选择型号"; barButtonItem1.Id = 3; barButtonItem1.Name = "barButtonItem1"; barButtonItem1.ItemClick += barButtonItem1_ItemClick; // // barButtonItem2 // barButtonItem2.Caption = "barButtonItem2"; barButtonItem2.Id = 4; barButtonItem2.Name = "barButtonItem2"; barButtonItem2.ItemClick += barButtonItem2_ItemClick; // // barButtonItem3 // barButtonItem3.Caption = "barButtonItem3"; barButtonItem3.Id = 5; barButtonItem3.Name = "barButtonItem3"; barButtonItem3.ItemClick += barButtonItem3_ItemClick; // // barButtonItem4 // barButtonItem4.Caption = "barButtonItem4"; barButtonItem4.Id = 6; barButtonItem4.Name = "barButtonItem4"; barButtonItem4.ItemClick += barButtonItem4_ItemClick; // // ribbonPage1 // ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1 }); ribbonPage1.Groups.AddRange(new DevExpress.XtraBars.Ribbon.RibbonPageGroup[] { ribbonPageGroup1, ribbonPageGroup2 }); ribbonPage1.Name = "ribbonPage1"; ribbonPage1.Text = "ribbonPage1"; // @@ -93,13 +125,21 @@ ribbonPageGroup1.Name = "ribbonPageGroup1"; ribbonPageGroup1.Text = "模型"; // // ribbonPageGroup2 // ribbonPageGroup2.ItemLinks.Add(barButtonItem2); ribbonPageGroup2.ItemLinks.Add(barButtonItem3); ribbonPageGroup2.ItemLinks.Add(barButtonItem4); ribbonPageGroup2.Name = "ribbonPageGroup2"; ribbonPageGroup2.Text = "ribbonPageGroup2"; // // xhsProjectAssetsBimfaceCtrl1 // xhsProjectAssetsBimfaceCtrl1.Controls.Add(dockPanel1); xhsProjectAssetsBimfaceCtrl1.Dock = DockStyle.Fill; xhsProjectAssetsBimfaceCtrl1.Location = new Point(0, 101); xhsProjectAssetsBimfaceCtrl1.Location = new Point(0, 128); xhsProjectAssetsBimfaceCtrl1.Name = "xhsProjectAssetsBimfaceCtrl1"; xhsProjectAssetsBimfaceCtrl1.Size = new Size(1030, 623); xhsProjectAssetsBimfaceCtrl1.Size = new Size(1030, 596); xhsProjectAssetsBimfaceCtrl1.TabIndex = 1; // // dockPanel1 @@ -110,7 +150,7 @@ dockPanel1.Location = new Point(780, 0); dockPanel1.Name = "dockPanel1"; dockPanel1.OriginalSize = new Size(250, 200); dockPanel1.Size = new Size(250, 623); dockPanel1.Size = new Size(250, 596); dockPanel1.Text = "属性"; // // dockPanel1_Container @@ -118,7 +158,7 @@ dockPanel1_Container.Controls.Add(xhsProjectAssetsPropertyCtrl1); dockPanel1_Container.Location = new Point(4, 26); dockPanel1_Container.Name = "dockPanel1_Container"; dockPanel1_Container.Size = new Size(243, 594); dockPanel1_Container.Size = new Size(243, 567); dockPanel1_Container.TabIndex = 0; // // xhsProjectAssetsPropertyCtrl1 @@ -126,7 +166,7 @@ xhsProjectAssetsPropertyCtrl1.Dock = DockStyle.Fill; xhsProjectAssetsPropertyCtrl1.Location = new Point(0, 0); xhsProjectAssetsPropertyCtrl1.Name = "xhsProjectAssetsPropertyCtrl1"; xhsProjectAssetsPropertyCtrl1.Size = new Size(243, 594); xhsProjectAssetsPropertyCtrl1.Size = new Size(243, 567); xhsProjectAssetsPropertyCtrl1.TabIndex = 0; // // dockManager1 @@ -134,13 +174,6 @@ dockManager1.Form = xhsProjectAssetsBimfaceCtrl1; dockManager1.RootPanels.AddRange(new DevExpress.XtraBars.Docking.DockPanel[] { dockPanel1 }); dockManager1.TopZIndexControls.AddRange(new string[] { "DevExpress.XtraBars.BarDockControl", "DevExpress.XtraBars.StandaloneBarDockControl", "System.Windows.Forms.MenuStrip", "System.Windows.Forms.StatusStrip", "System.Windows.Forms.StatusBar", "DevExpress.XtraBars.Ribbon.RibbonStatusBar", "DevExpress.XtraBars.Ribbon.RibbonControl", "DevExpress.XtraBars.Navigation.OfficeNavigationBar", "DevExpress.XtraBars.Navigation.TileNavPane", "DevExpress.XtraBars.TabFormControl", "DevExpress.XtraBars.FluentDesignSystem.FluentDesignFormControl", "DevExpress.XtraBars.ToolbarForm.ToolbarFormControl" }); // // barButtonItem1 // barButtonItem1.Caption = "选择型号"; barButtonItem1.Id = 3; barButtonItem1.Name = "barButtonItem1"; barButtonItem1.ItemClick += barButtonItem1_ItemClick; // // XhsSchemeAssetMgrPage // @@ -174,5 +207,9 @@ private DevExpress.XtraBars.BarButtonItem barBtnCheck; private DevExpress.XtraBars.BarButtonItem barBtnCalcu; private DevExpress.XtraBars.BarButtonItem barButtonItem1; private DevExpress.XtraBars.BarButtonItem barButtonItem2; private DevExpress.XtraBars.Ribbon.RibbonPageGroup ribbonPageGroup2; private DevExpress.XtraBars.BarButtonItem barButtonItem3; private DevExpress.XtraBars.BarButtonItem barButtonItem4; } } WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-scheme/02-asset-mgr/XhsSchemeAssetMgrPage.cs
@@ -84,5 +84,33 @@ dlg.SetBindingData(); dlg.ShowDialog(); } private async void barButtonItem2_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_hydro == null) { return; } var pumps = _hydro.Pumps; var ids = pumps.Select(x => x.Code).Distinct().ToList(); await this.xhsProjectAssetsBimfaceCtrl1.HideComponents(ids); } private async void barButtonItem3_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (_hydro == null) { return; } var pumps = _hydro.Pumps; var ids = pumps.Select(x => x.Code).Distinct().ToList(); await this.xhsProjectAssetsBimfaceCtrl1.ShowComponents(ids); } private async void barButtonItem4_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { await this.xhsProjectAssetsBimfaceCtrl1.ShowAllComponents(); } } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/00-core/BimfaceHelper.cs
@@ -5,6 +5,8 @@ /// </summary> public class BimfaceHelper { #region 文件Token /// <summary> /// 获取ViewToken /// </summary> @@ -16,6 +18,10 @@ var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret); return await bimfaceClient.GetViewToken(bimfaceId, modelIdType); } #endregion #region 上传文件 /// <summary> /// 上传文件 @@ -33,6 +39,10 @@ var bimfaceId = await bimfaceClient.UploadFileExByPolicy(fullFilePath, fileName); return bimfaceId; } #endregion #region 文件转换 /// <summary> /// 转换rvt文件 @@ -118,6 +128,10 @@ } } #endregion #region 文件删除 /// <summary> /// 删除 /// </summary> @@ -142,5 +156,29 @@ return await bimfaceClient.Delete(bimfaceId, modelIdType); } #endregion #region 文件获取 /// <summary> /// 获取文件构件id列表 /// </summary> public static async Task<List<string>> GetFileComponentIds(string bimfaceId) { var bimfaceClient = Yw.BIMFaceClient.Instance(ConfigHelper.AppKey, ConfigHelper.AppSecret); return await bimfaceClient.GetFileComponentIds(bimfaceId); } /// <summary> /// 获取文件构件id列表 /// </summary> public static async Task<List<string>> GetFileComponentIds(long bimfaceId) { return await GetFileComponentIds(bimfaceId.ToString()); } #endregion } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/BimfaceInterop3dContainer.cs
@@ -1,4 +1,7 @@ using DevExpress.XtraDiagram.Base; namespace Yw.WinFrmUI { public partial class BimfaceInterop3dContainer : UserControl, IBimfaceInterop3dContainer @@ -131,5 +134,55 @@ } #region 构件显隐 /// <summary> /// 显示构件 /// </summary> /// <param name="ids">构件id列表</param> public async Task ShowComponents(List<string> ids) { if (ids == null || ids.Count < 1) { return; } if (!_isViewInitialized) { return; } await this.webViewControl1.EvaluateScriptAsync("showComponents", ids); } /// <summary> /// 隐藏构件 /// </summary> /// <param name="ids">构件id列表</param> public async Task HideComponents(List<string> ids) { if (ids == null || ids.Count < 1) { return; } if (!_isViewInitialized) { return; } await this.webViewControl1.EvaluateScriptAsync("hideComponents", ids); } /// <summary> /// 显示所有构件 /// </summary> public async Task ShowAllComponents() { if (!_isViewInitialized) { return; } await this.webViewControl1.EvaluateScriptAsync("showAllComponents()"); } #endregion } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/01-interop/01-interop3d/IBimfaceInterop3dContainer.cs
@@ -11,5 +11,31 @@ BimfaceInterop3dCallBackObj CallBackObj { get; } #region 构件的显示与隐藏 /// <summary> /// 显示构件 /// </summary> /// <param name="ids">构件id 列表</param> /// <returns></returns> Task ShowComponents(List<string> ids); /// <summary> /// 隐藏构件 /// </summary> /// <param name="ids">构件id 列表<</param> /// <returns></returns> Task HideComponents(List<string> ids); /// <summary> /// 显示所有构件 /// 所有的构件都可以通过这个方法恢复 /// </summary> /// <returns></returns> Task ShowAllComponents(); #endregion } } WinFrmUI/Yw.WinFrmUI.Bimface.Core/Yw.WinFrmUI.Bimface.Core.csproj
@@ -88,13 +88,13 @@ <ItemGroup> <PackageReference Include="DevExpress.Win.Design" Version="23.2.4" /> <PackageReference Include="Yw.BIMFace.SDK.Core" Version="3.0.5" /> <PackageReference Include="Yw.BLL.Bimface.Core" Version="3.0.6" /> <PackageReference Include="Yw.WebBrower.Core" Version="3.0.2" /> <PackageReference Include="Yw.WebView2.WinFrmUI.Core" Version="3.0.1" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\..\Component\Yw.BIMFace.SDK.Core\Yw.BIMFace.SDK.Core.csproj" /> <ProjectReference Include="..\Yw.WinFrmUI.Core\Yw.WinFrmUI.Core.csproj" /> </ItemGroup> WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/html/Interop3d.html
@@ -105,6 +105,8 @@ </script> </body> </html> @@ -112,7 +114,7 @@ <script src="js/CameraStatus.js"></script> <script src="js/ComponentsColor.js"></script> <script src="js/ComponentsTranslucent.js"></script> <script src="js/ComponentsVisible.js"></script> <script src="../js/ComponentsVisible.js"></script> <script src="js/ContextMenu.js"></script> <script src="js/GetComponents.js"></script> <script src="js/Layer.js"></script> WinFrmUI/Yw.WinFrmUI.Bimface.Core/bimface/js/ComponentsVisible.js
@@ -1,11 +1,13 @@ //显示构件 function showComponents(ids) { alert(ids); _viewer.showComponents(ids); _viewer.render(); } //隐藏构件 function hideComponents(ids) { alert(ids); _viewer.hideComponents(ids); _viewer.render(); } @@ -14,4 +16,6 @@ function showAllComponents() { _viewer.showAllComponents(); _viewer.render(); } } WinFrmUI/Yw.WinFrmUI.Hydro.Q3d.Core/Map/Drawer.Draw.cs
@@ -228,7 +228,7 @@ float minElve = float.MinValue; float maxElve = float.MaxValue; r = r * Link_multiply; @@ -736,7 +736,7 @@ #region 基础坐标转换方法 /// <summary> /// 将屏幕坐标转换为世界坐标。输入屏幕坐标 (x,y),返回世界坐标 (wx, wy)。 /// 将屏幕坐标转换为世界坐标。 (x,y),返回输入屏幕坐标世界坐标 (wx, wy)。 /// </summary> /// <param name="screenPos"></param> /// <returns></returns>