From 2ff4cb16785d0acd9a04eaa3a39ddaada78ebaf1 Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Mon, 1 Jun 2026 23:55:04 +0800 Subject: [PATCH] fix: 2-point vertical path point modification no longer constrained by hoisting height limits - Skip height constraints, orthogonalization, and intermediate point insertion - Auto-recalculate LiftHeight from elevation difference between the two points --- src/Core/PathPlanningManager.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Core/PathPlanningManager.cs b/src/Core/PathPlanningManager.cs index 04e26cd..ed6e5cb 100644 --- a/src/Core/PathPlanningManager.cs +++ b/src/Core/PathPlanningManager.cs @@ -2693,6 +2693,16 @@ namespace NavisworksTransport // 吊装路径:智能处理Z坐标 if (route.PathType == PathType.Hoisting) { + if (route.IsTwoPointVertical) + { + // 2点垂直路径:自由修改坐标,不限制高度,更新保存的提升高度 + pointToUpdate.Position = newPosition; + route.LiftHeight = Math.Abs(GetHoistingElevation(route.Points[1].Position) - GetHoistingElevation(route.Points[0].Position)); + LogManager.Info($"[更新路径点] 2点垂直路径 {pointToUpdate.Name},提升高度已更新为: {UnitsConverter.ConvertToMeters(route.LiftHeight):F3}米"); + RaiseStatusChanged($"吊装高度: {UnitsConverter.ConvertToMeters(route.LiftHeight):F3}米", PathPlanningStatusType.Info); + } + else + { bool isLiftPoint = pointToUpdate.Name == "提升点"; bool isDescendPoint = pointToUpdate.Name == "下降点"; bool isStartPoint = pointToUpdate.Name == "起吊点"; @@ -2755,6 +2765,7 @@ namespace NavisworksTransport // 吊装路径:检测并移除矩形环路 LogManager.Info($"[吊装路径] 修改路径点后检测矩形环路"); RemoveRectangularLoops(route); + } } else {