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}");
                 // 计算鼠标与圆心的距离