From 81a111f8c0308f691519d2a8702efc2dc913cde5 Mon Sep 17 00:00:00 2001 From: sunhonglei <sunhonglei@51dayu.com> Date: Mon, 10 Feb 2025 10:36:32 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=85=B3=E4=BA=8E=E7=84=A6?= =?UTF-8?q?=E7=82=B9=E8=8E=B7=E5=8F=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewportData/Helper/ViewportHelperPro.cs | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs b/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs index 6f0bba2..4ad71c2 100644 --- a/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs +++ b/Views/UserControl/ViewportData/Helper/ViewportHelperPro.cs @@ -1417,9 +1417,24 @@ public class ViewportHelperPro lineDirection.Normalize(); // 现在鼠标对于3d模型的位置 var mousePosition = ev.Position; - var currentMousePosition = Get3DPointFromMouse(mousePosition); + Point3D currentMousePosition = new(); + try { + currentMousePosition = Get3DPointFromMouse(mousePosition); + } + catch + { + return; + } currentMousePosition.Y = Y; - var hitPoint = Get3DPointFromMouse(startDragPoint); + Point3D hitPoint = new(); + try + { + hitPoint = Get3DPointFromMouse(startDragPoint); + } + catch + { + return; + } hitPoint.Y = Y; // 计算鼠标移动的方向 var moveDirection = currentMousePosition - hitPoint; @@ -1673,8 +1688,14 @@ public class ViewportHelperPro var Y = line.Geometry.Positions[0].Y; var center = ViewportManager.CenterVector; center.Y = Y; - - Point3D mouseWorldPosition = Get3DPointFromMouse(mousePosition); + Point3D mouseWorldPosition = new(); + try { + mouseWorldPosition = Get3DPointFromMouse(mousePosition); + } + catch + { + return; + } mouseWorldPosition.Y = Y; // Console.WriteLine($"鼠标在3D模型中的位置:{mouseWorldPosition.X},{mouseWorldPosition.Y},{mouseWorldPosition.Z}"); // 计算鼠标与圆心的距离