From 331dbaf6e286d01a30499c6ac1392054004ae32c Mon Sep 17 00:00:00 2001 From: Tongg Date: Tue, 17 Dec 2024 16:21:10 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BF=9E=E7=BB=AD=E6=A3=80=E6=B5=8B3D?= =?UTF-8?q?=E6=B6=88=E5=A4=B1=EF=BC=8C=E8=BF=9E=E7=BB=AD=E6=A3=80=E6=B5=8B?= =?UTF-8?q?=E9=80=89=E4=B8=AD=E9=9D=A2=E9=87=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Views/UserControl/Viewport3D.xaml.cs | 4 +++- .../ViewportData/Helper/ViewportManager.cs | 24 +++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Views/UserControl/Viewport3D.xaml.cs b/Views/UserControl/Viewport3D.xaml.cs index c003abc..a335db7 100644 --- a/Views/UserControl/Viewport3D.xaml.cs +++ b/Views/UserControl/Viewport3D.xaml.cs @@ -34,6 +34,7 @@ public partial class Viewport3D /// private void Viewport3D_OnLoaded(object sender, RoutedEventArgs e) { + ViewportManager.SetViewport3D(Viewport3Dx); ViewportManager.LoadModelByEntities(new List()); //选项初始化 显示-后端-管理类 一致 @@ -49,7 +50,8 @@ public partial class Viewport3D ViewportRightMenuSelectFaceLengthText.IsChecked = ViewportManager.DoubleClickSelectShowBorderLength; ViewportRightMenuSelectFaceAngleText.IsChecked = ViewportManager.DoubleClickSelectShowBorderAngle; ViewportRightMenuSelectFaceKind.IsChecked = ViewportManager.DoubleClickSelectShowPlaneType; - + + var a = Viewport3Dx.Items; } /// /// 双击选择面 diff --git a/Views/UserControl/ViewportData/Helper/ViewportManager.cs b/Views/UserControl/ViewportData/Helper/ViewportManager.cs index d619dbd..2e8d496 100644 --- a/Views/UserControl/ViewportData/Helper/ViewportManager.cs +++ b/Views/UserControl/ViewportData/Helper/ViewportManager.cs @@ -54,9 +54,14 @@ public class ViewportManager private static Viewport3DX _viewport; public static void SetViewport3D(Viewport3DX viewport3D) { - if (_viewport == null) - _viewport = viewport3D; - + if (_viewport != null) + { + ClearDicModels(); + _viewport.Items.Clear(); + + } + + _viewport = viewport3D; } public static Viewport3DX GetViewport3D() { @@ -87,6 +92,7 @@ public class ViewportManager { if (string.IsNullOrWhiteSpace(ChooseTriangleCode)) { + ClearDicModels(); return; } @@ -155,10 +161,18 @@ public class ViewportManager { entities.AddRange(ViewportTriangle); } - + + //重置 + _viewport.Items.Clear(); + ChooseTriangleCode = string.Empty; + ChooseAddModels.Clear(); + ResetChooseAddModels(); + + //刷新三角形 ViewportTriangle.Clear(); ViewportTriangle.AddRange(entities); - _viewport.Items.Clear(); + + //初始化 MainModel3D = ViewportHelperPro.GenerateModelByEntity(_viewport, entities); MainModelLines = ViewportHelperPro.GentrateLineByEntity(_viewport, entities); MainModelLighting = ViewportHelperPro.GenerateLightingForModel(_viewport);