diff --git a/src/Core/Animation/PathAnimationManager.cs b/src/Core/Animation/PathAnimationManager.cs
index 49d53ab..cf8f35e 100644
--- a/src/Core/Animation/PathAnimationManager.cs
+++ b/src/Core/Animation/PathAnimationManager.cs
@@ -410,7 +410,24 @@ namespace NavisworksTransport.Core.Animation
}
// 计算朝向(使用前两个路径点的方向)
- double yaw = Math.Atan2(_pathPoints[1].Y - _pathPoints[0].Y, _pathPoints[1].X - _pathPoints[0].X);
+ // 🔥 让物体的宽度方向(Y轴)朝向路径方向,而不是长度方向(X轴)
+ // 因为通行空间的宽度使用车辆的宽度,所以宽度方向应该朝向路径
+ double pathDirectionYaw = Math.Atan2(_pathPoints[1].Y - _pathPoints[0].Y, _pathPoints[1].X - _pathPoints[0].X);
+ double yaw;
+
+ // 根据路径类型调整朝向
+ if (_route?.PathType == PathType.Hoisting)
+ {
+ // 吊装路径:保持物体的原始旋转角度(不旋转90度)
+ yaw = _currentYaw;
+ LogManager.Debug($"[移动到起点] 吊装路径保持物体原始旋转角度: {yaw * 180 / Math.PI:F2}度");
+ }
+ else
+ {
+ // 地面路径和空轨:旋转90度,让Y轴朝向路径方向
+ yaw = pathDirectionYaw + Math.PI / 2.0;
+ LogManager.Debug($"[移动到起点] 地面/空轨路径旋转90度,Y轴朝向路径方向: {yaw * 180 / Math.PI:F2}度");
+ }
// 根据路径类型调整起点位置
Point3D startPosition = _pathPoints[0];
diff --git a/src/Core/PathPlanningManager.cs b/src/Core/PathPlanningManager.cs
index e9c28d2..5bb3a2b 100644
--- a/src/Core/PathPlanningManager.cs
+++ b/src/Core/PathPlanningManager.cs
@@ -206,20 +206,9 @@ namespace NavisworksTransport
_renderPlugin.SetGridSize(gridSizeInMeters);
LogManager.Info($"[渲染插件初始化] 已设置网格大小: {gridSizeInMeters}米(来自配置)");
- // 从配置读取车辆参数
- double vehicleLength = config.PathEditing.VehicleLengthMeters;
- double vehicleWidth = config.PathEditing.VehicleWidthMeters;
- double vehicleHeight = config.PathEditing.VehicleHeightMeters;
- double safetyMargin = config.PathEditing.SafetyMarginMeters;
-
- _renderPlugin.SetVehicleParameters(
- vehicleLength,
- vehicleWidth,
- vehicleHeight,
- safetyMargin
- );
-
- LogManager.Info($"[渲染插件初始化] 已设置车辆参数: 长={vehicleLength:F1}m, 宽={vehicleWidth:F1}m, 高={vehicleHeight:F1}m, 安全间隙={safetyMargin:F2}m(来自配置)");
+ // 通行空间参数将在UpdatePassageSpaceViewModel中根据路径类型动态设置
+ // 这里不设置默认值,因为不同路径类型的坐标系不同
+ LogManager.Info($"[渲染插件初始化] 通行空间参数将在使用时动态设置");
}
catch (Exception ex)
{
diff --git a/src/Core/PathPointRenderPlugin.cs b/src/Core/PathPointRenderPlugin.cs
index d3caf84..2325609 100644
--- a/src/Core/PathPointRenderPlugin.cs
+++ b/src/Core/PathPointRenderPlugin.cs
@@ -382,11 +382,10 @@ namespace NavisworksTransport
// 网格点类型配置
private GridPointType _gridPointType = GridPointType.Rectangle;
- // 车辆参数(必须通过SetVehicleParameters方法设置)
- private double _vehicleLength;
- private double _vehicleWidth;
- private double _vehicleHeight;
- private double _safetyMargin;
+ // 通行空间参数(最终尺寸,已包括安全间隙)
+ private double _passageWidth; // 通行空间宽度(垂直于路径方向)
+ private double _passageHeight; // 通行空间高度(垂直于路径和宽度)
+ private double _passageLength; // 通行空间长度(沿路径方向,可能不使用)
// 静态实例,用于外部访问
private static PathPointRenderPlugin _instance;
@@ -566,7 +565,7 @@ namespace NavisworksTransport
// 再渲染路径连线
foreach (var pathLineMarker in visualization.PathLineMarkers)
{
- RenderRibbonLineMarker(graphics, pathLineMarker);
+ RenderLineMarker(graphics, pathLineMarker);
}
}
else
@@ -1352,20 +1351,9 @@ namespace NavisworksTransport
if (_visualizationMode == PathVisualizationMode.VehicleSpace)
{
- // VehicleSpace 模式:使用车辆高度和宽度
- // 根据路径类型调整参数
- if (visualization.PathRoute.PathType == NavisworksTransport.PathType.Hoisting)
- {
- // 吊装路径:通行空间截面使用车辆的宽度和长度(不是高度)
- heightInMeters = _vehicleLength + _safetyMargin; // Y方向使用车辆长度
- widthInMeters = _vehicleWidth + 2 * _safetyMargin; // X方向使用车辆宽度
- }
- else
- {
- // 地面路径和空轨:使用最大宽度和高度
- heightInMeters = _vehicleHeight + _safetyMargin;
- widthInMeters = _vehicleWidth + 2 * _safetyMargin;
- }
+ // VehicleSpace 模式:直接使用已计算的通行空间尺寸(已包括安全间隙)
+ heightInMeters = _passageHeight;
+ widthInMeters = _passageWidth;
var renderStyle = GetRenderStyle(RenderStyleName.VehicleSpace);
lineColor = renderStyle.Color;
lineOpacity = renderStyle.Alpha;
@@ -1374,12 +1362,11 @@ namespace NavisworksTransport
{
// RibbonLine 模式:使用较低的带状高度
heightInMeters = GetLineRadius() / metersToModelUnits * 0.1;
- widthInMeters = _vehicleWidth; // 使用车辆宽度(与通行空间逻辑一致)
+ widthInMeters = _passageWidth; // 使用通行空间宽度
var renderStyle = GetRenderStyle(RenderStyleName.Line);
lineColor = renderStyle.Color;
lineOpacity = renderStyle.Alpha;
- }
- else
+ } else
{
// StandardLine 模式:不需要高度和宽度(圆柱体)
heightInMeters = 0;
@@ -1461,7 +1448,7 @@ namespace NavisworksTransport
// 记录日志
if (_visualizationMode == PathVisualizationMode.VehicleSpace)
{
- LogManager.Info($"[通行空间渲染] {visualization.PathRoute.PathType}路径: 车辆参数(长×宽×高)={_vehicleLength:F2}×{_vehicleWidth:F2}×{_vehicleHeight:F2}m, 安全间隙={_safetyMargin:F2}m, 通行空间截面(宽×高)={widthInModelUnits/metersToModelUnits:F2}×{heightInModelUnits/metersToModelUnits:F2}m");
+ LogManager.Info($"[通行空间渲染] {visualization.PathRoute.PathType}路径: 通行空间截面(宽×高)={_passageWidth:F2}×{_passageHeight:F2}m");
}
// 3. 构建路径连线(Edges包含直线段和圆弧段)
@@ -1572,7 +1559,7 @@ namespace NavisworksTransport
// 记录日志
if (_visualizationMode == PathVisualizationMode.VehicleSpace)
{
- LogManager.Info($"[通行空间渲染] {visualization.PathRoute.PathType}路径(直接连线): 车辆参数(长×宽×高)={_vehicleLength:F2}×{_vehicleWidth:F2}×{_vehicleHeight:F2}m, 安全间隙={_safetyMargin:F2}m, 通行空间截面(宽×高)={widthInModelUnits/metersToModelUnits:F2}×{heightInModelUnits/metersToModelUnits:F2}m");
+ LogManager.Info($"[通行空间渲染] {visualization.PathRoute.PathType}路径(直接连线): 通行空间截面(宽×高)={_passageWidth:F2}×{_passageHeight:F2}m");
}
// 直接使用路径点构建直线连线
@@ -1665,10 +1652,10 @@ namespace NavisworksTransport
double metersToModelUnits = UnitsConverter.GetMetersToUnitsConversionFactor();
// 计算车辆通行空间宽度(米)
- double vehicleInflationWidthInMeters = Math.Max(_vehicleLength, _vehicleWidth) + 2 * _safetyMargin;
+ double vehicleInflationWidthInMeters = _passageWidth;
- // 计算车辆通行空间高度(米):车辆高度 + 安全间隙
- double vehicleSpaceHeightInMeters = _vehicleHeight + _safetyMargin;
+ // 计算车辆通行空间高度(米)
+ double vehicleSpaceHeightInMeters = _passageHeight;
var style = GetRenderStyle(RenderStyleName.VehicleSpace);
return new VehicleSpaceMarker
@@ -1776,14 +1763,13 @@ namespace NavisworksTransport
/// 车辆宽度(米)
/// 车辆高度(米)
/// 安全间隙(米)
- public void SetVehicleParameters(double vehicleLength, double vehicleWidth, double vehicleHeight, double safetyMargin)
+ public void SetVehicleParameters(double passageWidth, double passageHeight, double passageLength, double safetyMargin)
{
- _vehicleLength = vehicleLength;
- _vehicleWidth = vehicleWidth;
- _vehicleHeight = vehicleHeight;
- _safetyMargin = safetyMargin;
+ _passageWidth = passageWidth; // 通行空间宽度(已包括安全间隙)
+ _passageHeight = passageHeight; // 通行空间高度(已包括安全间隙)
+ _passageLength = passageLength; // 通行空间长度
- // 车辆参数改变时刷新所有普通路径(因为RibbonLine模式也使用车辆宽度)
+ // 参数改变时刷新所有普通路径(因为RibbonLine模式也使用车辆宽度)
RefreshNormalPaths();
}
@@ -2481,7 +2467,7 @@ namespace NavisworksTransport
// 计算垂直向量(在XY平面内垂直于方向向量)
var right = new Vector3D(-direction.Y, direction.X, 0);
- // 如果方向向量垂直于XY平面,则使用不同的right向量
+ // 如果方向向量垂直于XY平面(吊装路径),则使用不同的right向量
if (Math.Abs(direction.Z) > 0.9)
{
right = new Vector3D(1, 0, 0);
diff --git a/src/Core/VirtualVehicleManager.cs b/src/Core/VirtualVehicleManager.cs
index ccbb5c7..df75875 100644
--- a/src/Core/VirtualVehicleManager.cs
+++ b/src/Core/VirtualVehicleManager.cs
@@ -258,10 +258,11 @@ namespace NavisworksTransport.Core
// 🔥 对于虚拟车辆,直接应用缩放比例(不动态读取当前尺寸)
// 原因:虚拟车辆可能被旋转,导致包围盒尺寸不准确
// 单位立方体是 0.01m × 0.01m × 0.01m
+ // X方向 = 车辆宽度,Y方向 = 车辆长度,Z方向 = 车辆高度
double baseSizeMeters = 0.01;
- double scaleX = lengthMeters / baseSizeMeters;
- double scaleY = widthMeters / baseSizeMeters;
- double scaleZ = heightMeters / baseSizeMeters;
+ double scaleX = widthMeters / baseSizeMeters; // X方向 = 车辆宽度
+ double scaleY = lengthMeters / baseSizeMeters; // Y方向 = 车辆长度
+ double scaleZ = heightMeters / baseSizeMeters; // Z方向 = 车辆高度
LogManager.Info($"目标尺寸: {lengthMeters:F2}m × {widthMeters:F2}m × {heightMeters:F2}m");
LogManager.Info($"缩放比例: X={scaleX:F2}, Y={scaleY:F2}, Z={scaleZ:F2}");
diff --git a/src/UI/WPF/ViewModels/AnimationControlViewModel.cs b/src/UI/WPF/ViewModels/AnimationControlViewModel.cs
index eb2a229..fdf8276 100644
--- a/src/UI/WPF/ViewModels/AnimationControlViewModel.cs
+++ b/src/UI/WPF/ViewModels/AnimationControlViewModel.cs
@@ -2413,94 +2413,101 @@ namespace NavisworksTransport.UI.WPF.ViewModels
var renderPlugin = PathPointRenderPlugin.Instance;
if (renderPlugin == null)
{
- LogManager.Warning("[通行空间可视化] 无法获取PathPointRenderPlugin实例");
- return;
+ throw new InvalidOperationException("[通行空间可视化] 无法获取PathPointRenderPlugin实例");
}
- // 获取车辆尺寸(米)
- double vehicleLength, vehicleWidth, vehicleHeight;
+ // 计算通行空间尺寸(米)
+ double passageWidth, passageHeight, passageLength;
+
+ // 获取安全间隙(从配置)
+ var config = Core.Config.ConfigManager.Instance?.Current;
+ if (config == null)
+ {
+ throw new InvalidOperationException("[通行空间可视化] 无法获取配置文件");
+ }
+ double safetyMargin = config.PathEditing.SafetyMarginMeters;
if (UseVirtualVehicle)
{
- // 使用虚拟车辆尺寸,但需要根据路径类型调整
+ // 虚拟车辆的xy定义:X方向 = 宽度(1.0m),Y方向 = 长度(1.2m),Z方向 = 高度(2.0m)
if (CurrentPathRoute.PathType == NavisworksTransport.PathType.Hoisting)
{
- // 吊装路径:通行空间截面使用车辆的宽度和长度(不是高度)
- vehicleWidth = VirtualVehicleWidth; // X方向
- vehicleHeight = VirtualVehicleLength; // Y方向(使用车辆长度)
- vehicleLength = VirtualVehicleLength; // 保持虚拟车辆长度不变
- LogManager.Info($"[通行空间可视化] 吊装路径使用虚拟车辆尺寸: 宽×高={vehicleWidth:F2}×{vehicleHeight:F2}m");
+ // 吊装路径:通行空间截面使用车辆的X和Y方向尺寸,四周都加上检测间隙
+ passageWidth = VirtualVehicleWidth + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = VirtualVehicleLength + 2 * safetyMargin; // Y方向 + 2*间隙
+ passageLength = VirtualVehicleLength; // 不使用,保持一致
+ LogManager.Info($"[通行空间可视化] 吊装路径使用虚拟车辆尺寸: X方向={VirtualVehicleWidth:F2}m, Y方向={VirtualVehicleLength:F2}m, 通行空间宽×高={passageWidth:F2}×{passageHeight:F2}m");
}
- else
+ else if (CurrentPathRoute.PathType == NavisworksTransport.PathType.Ground)
{
- // 地面路径和空轨:使用虚拟车辆的宽度和高度
- vehicleWidth = VirtualVehicleWidth; // 通行空间宽度 = 车辆宽度(垂直于路径方向)
- vehicleHeight = VirtualVehicleHeight; // 通行空间高度 = 车辆高度
- vehicleLength = VirtualVehicleLength; // 车辆长度(沿路径方向)
- LogManager.Info($"[通行空间可视化] 地面/空轨路径使用虚拟车辆尺寸: 通行空间宽×高={vehicleWidth:F2}×{vehicleHeight:F2}m, 车辆长度={vehicleLength:F2}m");
+ // 地面路径:物体的宽度方向(Y轴)朝向路径方向
+ // 通行空间宽度 = X方向尺寸(垂直于路径方向),高度上方加间隙(下方不需要,因为有地面)
+ passageWidth = VirtualVehicleWidth + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = VirtualVehicleHeight + safetyMargin; // Z方向 + 间隙(只有上方)
+ passageLength = VirtualVehicleLength; // Y方向 = 长度(1.2m)
+ LogManager.Info($"[通行空间可视化] 地面路径使用虚拟车辆尺寸: X方向={VirtualVehicleWidth:F2}m, Y方向={VirtualVehicleLength:F2}m, 通行空间宽度={passageWidth:F2}m, 高度={passageHeight:F2}m");
+ }
+ else // Rail
+ {
+ // 空轨路径:物体的宽度方向(Y轴)朝向路径方向
+ // 通行空间宽度 = X方向尺寸(垂直于路径方向),高度上下都加间隙(在空中)
+ passageWidth = VirtualVehicleWidth + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = VirtualVehicleHeight + 2 * safetyMargin; // Z方向 + 2*间隙(上下都加)
+ passageLength = VirtualVehicleLength; // Y方向 = 长度(1.2m)
+ LogManager.Info($"[通行空间可视化] 空轨路径使用虚拟车辆尺寸: X方向={VirtualVehicleWidth:F2}m, Y方向={VirtualVehicleLength:F2}m, 通行空间宽度={passageWidth:F2}m, 高度={passageHeight:F2}m");
}
}
else if (SelectedAnimatedObject != null)
{
- // 使用选择物体的包围盒尺寸
- try
- {
- var bbox = SelectedAnimatedObject.BoundingBox();
- double metersToModelUnits = UnitsConverter.GetMetersToUnitsConversionFactor();
+ // 使用选择物体的包围盒尺寸
+ var bbox = SelectedAnimatedObject.BoundingBox();
+ double metersToModelUnits = UnitsConverter.GetMetersToUnitsConversionFactor();
- // 将模型单位转换为米
- double sizeX = (bbox.Max.X - bbox.Min.X) / metersToModelUnits;
- double sizeY = (bbox.Max.Y - bbox.Min.Y) / metersToModelUnits;
- double sizeZ = (bbox.Max.Z - bbox.Min.Z) / metersToModelUnits;
+ // 将模型单位转换为米
+ double sizeX = (bbox.Max.X - bbox.Min.X) / metersToModelUnits;
+ double sizeY = (bbox.Max.Y - bbox.Min.Y) / metersToModelUnits;
+ double sizeZ = (bbox.Max.Z - bbox.Min.Z) / metersToModelUnits;
- // 根据路径类型确定车辆的长度、宽度、高度
- if (CurrentPathRoute.PathType == NavisworksTransport.PathType.Hoisting)
- {
- // 吊装路径(严格垂直路径):
- // 通行空间截面使用物体的长度和宽度
- double objectLength = Math.Max(sizeX, sizeY);
- double objectWidth = Math.Min(sizeX, sizeY);
- vehicleWidth = objectWidth; // 通行空间宽度 = 物体宽度
- vehicleHeight = objectLength; // 通行空间高度 = 物体长度
- vehicleLength = sizeZ; // 物体Z尺寸
- LogManager.Info($"[通行空间可视化] 吊装路径使用物体尺寸 ({SelectedAnimatedObject.DisplayName}): 物体长×宽={objectLength:F2}×{objectWidth:F2}m, 通行空间宽×高={vehicleWidth:F2}×{vehicleHeight:F2}m");
- }
- else
- {
- // 地面路径和空轨(可能有坡度):
- // 使用物体的实际尺寸(不考虑朝向)
- double objectLength = Math.Max(sizeX, sizeY);
- double objectWidth = Math.Min(sizeX, sizeY);
- vehicleWidth = objectWidth; // 通行空间宽度 = 物体宽度
- vehicleHeight = sizeZ; // 通行空间高度 = 物体高度
- vehicleLength = objectLength; // 车辆长度 = 物体长度
- LogManager.Info($"[通行空间可视化] 地面/空轨路径使用物体尺寸 ({SelectedAnimatedObject.DisplayName}): 物体长×宽={objectLength:F2}×{objectWidth:F2}m, 通行空间宽×高={vehicleWidth:F2}×{vehicleHeight:F2}m");
- }
- }
- catch (Exception ex)
- {
- LogManager.Warning($"[通行空间可视化] 获取物体包围盒失败: {ex.Message},使用默认尺寸");
- vehicleLength = 1.0;
- vehicleWidth = 1.0;
- vehicleHeight = 2.0;
- }
- }
- else
- {
- // 没有选择物体,使用默认尺寸
- vehicleLength = 1.0;
- vehicleWidth = 1.0;
- vehicleHeight = 2.0;
- LogManager.Info("[通行空间可视化] 使用默认车辆尺寸: 1.0×1.0×2.0m");
- }
+ // 根据路径类型确定通行空间的尺寸
+ if (CurrentPathRoute.PathType == NavisworksTransport.PathType.Hoisting)
+ {
+ // 吊装路径(严格垂直路径):
+ // 通行空间截面使用物体的X和Y尺寸,四周都加上检测间隙
+ passageWidth = sizeX + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = sizeY + 2 * safetyMargin; // Y方向 + 2*间隙
+ passageLength = sizeZ; // 不使用,保持一致
+ LogManager.Info($"[通行空间可视化] 吊装路径使用物体尺寸 ({SelectedAnimatedObject.DisplayName}): X方向={sizeX:F2}m, Y方向={sizeY:F2}m, 通行空间宽×高={passageWidth:F2}×{passageHeight:F2}m");
+ }
+ else if (CurrentPathRoute.PathType == NavisworksTransport.PathType.Ground)
+ {
+ // 地面路径(可能有坡度):
+ // 物体的宽度方向(Y轴)朝向路径方向
+ // 通行空间宽度 = X方向尺寸(垂直于路径方向),高度上方加间隙(下方不需要,因为有地面)
+ passageWidth = sizeX + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = sizeZ + safetyMargin; // Z方向 + 间隙(只有上方)
+ passageLength = sizeY; // 不使用,保持一致
+ LogManager.Info($"[通行空间可视化] 地面路径使用物体尺寸 ({SelectedAnimatedObject.DisplayName}): X方向={sizeX:F2}m, Y方向={sizeY:F2}m, 通行空间宽度={passageWidth:F2}m, 高度={passageHeight:F2}m");
+ }
+ else // Rail
+ {
+ // 空轨路径(可能有坡度):
+ // 物体的宽度方向(Y轴)朝向路径方向
+ // 通行空间宽度 = X方向尺寸(垂直于路径方向),高度上下都加间隙(在空中)
+ passageWidth = sizeX + 2 * safetyMargin; // X方向 + 2*间隙
+ passageHeight = sizeZ + 2 * safetyMargin; // Z方向 + 2*间隙(上下都加)
+ passageLength = sizeY; // 不使用,保持一致
+ LogManager.Info($"[通行空间可视化] 空轨路径使用物体尺寸 ({SelectedAnimatedObject.DisplayName}): X方向={sizeX:F2}m, Y方向={sizeY:F2}m, 通行空间宽度={passageWidth:F2}m, 高度={passageHeight:F2}m");
+ }
+ }
+ else
+ {
+ // 默认就是使用虚拟车辆,如果既不使用虚拟车辆也没选择物体,说明配置错误
+ throw new InvalidOperationException("[通行空间可视化] 配置错误:既不使用虚拟车辆也没有选择物体");
+ }
- // 获取安全间隙(从配置)
- var config = Core.Config.ConfigManager.Instance?.Current;
- double safetyMargin = config?.PathEditing?.SafetyMarginMeters ?? 0.05;
-
- // 设置车辆参数到渲染插件(所有路径类型都设置,用于RibbonLine宽度等)
- renderPlugin.SetVehicleParameters(vehicleLength, vehicleWidth, vehicleHeight, safetyMargin);
- LogManager.Info($"[通行空间可视化] 已设置车辆参数: {vehicleLength:F2}×{vehicleWidth:F2}×{vehicleHeight:F2}m, 安全间隙: {safetyMargin:F2}m");
+ // 设置通行空间参数到渲染插件(所有路径类型都设置,用于RibbonLine宽度等)
+ renderPlugin.SetVehicleParameters(passageWidth, passageHeight, passageLength, safetyMargin);
+ LogManager.Info($"[通行空间可视化] 已设置通行空间参数: 宽={passageWidth:F2}m, 高={passageHeight:F2}m, 长={passageLength:F2}m, 安全间隙={safetyMargin:F2}m");
// 根据路径类型决定是否切换到车辆通行空间模式
bool enableVehicleSpace = false;
diff --git a/src/UI/WPF/ViewModels/PathEditingViewModel.cs b/src/UI/WPF/ViewModels/PathEditingViewModel.cs
index 2d8dfe7..6f8abb9 100644
--- a/src/UI/WPF/ViewModels/PathEditingViewModel.cs
+++ b/src/UI/WPF/ViewModels/PathEditingViewModel.cs
@@ -2579,11 +2579,9 @@ namespace NavisworksTransport.UI.WPF.ViewModels
{
if (PathPointRenderPlugin.Instance != null)
{
- PathPointRenderPlugin.Instance.SetVehicleParameters(
- VehicleLength,
- VehicleWidth,
- VehicleHeight,
- SafetyMargin);
+ // 通行空间参数将在AnimationControlViewModel中根据路径类型动态设置
+ // 这里不设置通行空间参数,因为不同路径类型的坐标系不同
+ LogManager.Debug("[车辆参数同步] 跳过设置通行空间参数,将在AnimationControlViewModel中根据路径类型动态设置");
}
else
{