调整车辆长度和安全间隙配置,去掉人工路径对路径点必须在通道上的限制

This commit is contained in:
tian 2026-01-20 12:03:50 +08:00
parent be9131b89f
commit 50814b3f99
2 changed files with 31 additions and 49 deletions

View File

@ -9,7 +9,7 @@ cell_size_meters = 0.5
max_height_diff_meters = 0.35
# 车辆长度(米)
vehicle_length_meters = 1.2
vehicle_length_meters = 1.5
# 车辆宽度(米)
vehicle_width_meters = 1.0
@ -18,7 +18,7 @@ vehicle_width_meters = 1.0
vehicle_height_meters = 2.0
# 安全间隙(米)
safety_margin_meters = 0.05
safety_margin_meters = 0.1
# 路径默认转弯半径(米)
default_path_turn_radius = 2.5

View File

@ -2755,66 +2755,48 @@ namespace NavisworksTransport
LogManager.Warning("[手动编辑] ✗ 空轨路径点添加失败");
}
}
// 地面路径检查是否在可通行的物流模型内并处理点击
else if (_walkableAreas != null && _walkableAreas.Any())
// 地面路径直接处理点击
else
{
bool isInTraversableLogisticsModel = IsItemInSelectedChannels(pickResult.ModelItem) ||
IsItemChildOfSelectedChannels(pickResult.ModelItem);
LogManager.Debug($"[手动编辑] 在可通行的物流模型内: {isInTraversableLogisticsModel}");
if (isInTraversableLogisticsModel)
// 手动路径编辑 - 根据当前模式处理点击
if (PathEditState == PathEditState.AddingPoints)
{
// 手动路径编辑 - 根据当前模式处理点击
if (PathEditState == PathEditState.AddingPoints)
{
// 添加路径点模式 - 使用预览点
LogManager.Debug("[手动编辑] 设置预览点位置");
var previewPoint = SetPreviewPoint(clickedPoint);
// 添加路径点模式 - 使用预览点
LogManager.Debug("[手动编辑] 设置预览点位置");
var previewPoint = SetPreviewPoint(clickedPoint);
if (previewPoint != null)
{
LogManager.Debug($"[手动编辑] ✓ 预览点已设置: {previewPoint.Name}");
}
else
{
LogManager.Warning("[手动编辑] ✗ 预览点设置失败");
}
}
else if (PathEditState == PathEditState.EditingPoint)
if (previewPoint != null)
{
// 修改路径点模式 - 设置预览位置
LogManager.Debug("[手动编辑] 设置修改路径点预览位置");
SetEditingPreviewPoint(clickedPoint);
LogManager.Debug($"[手动编辑] ✓ 修改路径点预览位置已设置: ({clickedPoint.X:F3}, {clickedPoint.Y:F3}, {clickedPoint.Z:F3})");
LogManager.Debug($"[手动编辑] ✓ 预览点已设置: {previewPoint.Name}");
}
else
{
// 其他编辑模式 - 保持原有逻辑
LogManager.Debug("[手动编辑] 调用AddPathPointIn3D添加路径点");
var pathPoint = AddPathPointIn3D(clickedPoint);
if (pathPoint != null)
{
LogManager.Debug($"[手动编辑] ✓ 路径点添加成功: {pathPoint.Name}");
}
else
{
LogManager.Warning("[手动编辑] ✗ 路径点添加失败");
}
LogManager.Warning("[手动编辑] ✗ 预览点设置失败");
}
}
else if (PathEditState == PathEditState.EditingPoint)
{
// 修改路径点模式 - 设置预览位置
LogManager.Debug("[手动编辑] 设置修改路径点预览位置");
SetEditingPreviewPoint(clickedPoint);
LogManager.Debug($"[手动编辑] ✓ 修改路径点预览位置已设置: ({clickedPoint.X:F3}, {clickedPoint.Y:F3}, {clickedPoint.Z:F3})");
}
else
{
LogManager.Debug("[手动编辑] ✗ 点击位置不在可通行的物流模型内");
RaiseErrorOccurred("点击位置不在物流通道内,请选择有效的物流路径位置");
// 其他编辑模式 - 保持原有逻辑
LogManager.Debug("[手动编辑] 调用AddPathPointIn3D添加路径点");
var pathPoint = AddPathPointIn3D(clickedPoint);
if (pathPoint != null)
{
LogManager.Debug($"[手动编辑] ✓ 路径点添加成功: {pathPoint.Name}");
}
else
{
LogManager.Warning("[手动编辑] ✗ 路径点添加失败");
}
}
}
else
{
LogManager.Warning("[手动编辑] ✗ 未找到可通行的物流模型");
RaiseErrorOccurred("未找到可通行的物流通道,请先选择或配置物流通道");
}
}
catch (Exception ex)
{