fix: 连续检测3D消失,连续检测选中面重置

master
Tongg 7 months ago
parent b8be277e72
commit 331dbaf6e2
  1. 4
      Views/UserControl/Viewport3D.xaml.cs
  2. 24
      Views/UserControl/ViewportData/Helper/ViewportManager.cs

@ -34,6 +34,7 @@ public partial class Viewport3D
/// <param name="e"></param>
private void Viewport3D_OnLoaded(object sender, RoutedEventArgs e)
{
ViewportManager.SetViewport3D(Viewport3Dx);
ViewportManager.LoadModelByEntities(new List<Viewport3DTriangleEntity>());
//选项初始化 显示-后端-管理类 一致
@ -49,7 +50,8 @@ public partial class Viewport3D
ViewportRightMenuSelectFaceLengthText.IsChecked = ViewportManager.DoubleClickSelectShowBorderLength;
ViewportRightMenuSelectFaceAngleText.IsChecked = ViewportManager.DoubleClickSelectShowBorderAngle;
ViewportRightMenuSelectFaceKind.IsChecked = ViewportManager.DoubleClickSelectShowPlaneType;
var a = Viewport3Dx.Items;
}
/// <summary>
/// 双击选择面

@ -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);

Loading…
Cancel
Save