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
This commit is contained in:
tian 2026-06-01 23:55:04 +08:00
parent be5867f2a3
commit 2ff4cb1678

View File

@ -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
{