diff --git a/src/apis/map/constant.ts b/src/apis/map/constant.ts index ebf4c2d..b60b896 100644 --- a/src/apis/map/constant.ts +++ b/src/apis/map/constant.ts @@ -19,7 +19,7 @@ export enum MapPointType { /** 库区点 - 仓储作业区域 */ 库区点, /** 不可避让点 - 机器人不可避让的点位 */ - 不可避让点, + 不可避让点 = 7, /** 密集库区点 - 密集库区点位 */ // 密集库区点, diff --git a/src/assets/themes/editor-dark.json b/src/assets/themes/editor-dark.json index c806666..cddd99e 100644 --- a/src/assets/themes/editor-dark.json +++ b/src/assets/themes/editor-dark.json @@ -8,7 +8,8 @@ "fill-2": "#69C6F5", "fill-3": "#E48B1D", "fill-4": "#E48B1D", - "fill-5": "#a72b69" + "fill-5": "#a72b69", + "fill-6": "#E63A3A" }, "point-l": { "stroke": "#595959", diff --git a/src/assets/themes/editor-light.json b/src/assets/themes/editor-light.json index a3624af..3ef4343 100644 --- a/src/assets/themes/editor-light.json +++ b/src/assets/themes/editor-light.json @@ -8,7 +8,8 @@ "fill-2": "#69C6F5", "fill-3": "#E48B1D", "fill-4": "#E48B1D", - "fill-5": "#a72b69" + "fill-5": "#a72b69", + "fill-6": "#E63A3A" }, "point-l": { "stroke": "#595959", diff --git a/src/pages/movement-supervision.vue b/src/pages/movement-supervision.vue index 7fd3c02..30cf1c9 100644 --- a/src/pages/movement-supervision.vue +++ b/src/pages/movement-supervision.vue @@ -129,9 +129,11 @@ const monitorScene = async () => { const robotState: any = {}; // 2.1 处理路径并将其放入 robotState - if (points?.length) { - const cx = x || 37; - const cy = y || 37; + // 处理路径坐标转换,参考refreshRobot方法的逻辑 + if (points?.length && !isMonitorMode.value) { + // 新路径:相对于机器人中心的坐标 + const cx = x || 37; // 机器人中心X坐标,默认37 + const cy = y || 37; // 机器人中心Y坐标,默认37 robotState.path = points.map((p) => ({ x: p.x - cx, y: p.y - cy })); } diff --git a/src/services/editor.service.ts b/src/services/editor.service.ts index b9227a7..154cec7 100644 --- a/src/services/editor.service.ts +++ b/src/services/editor.service.ts @@ -2103,7 +2103,8 @@ function drawPoint(ctx: CanvasRenderingContext2D, pen: MapPen): void { case MapPointType.等待点: case MapPointType.避让点: case MapPointType.临时避让点: - case MapPointType.库区点: { + case MapPointType.库区点: + case MapPointType.不可避让点: { ctx.beginPath(); ctx.moveTo(x + w / 2 - r, y + r); ctx.arcTo(x + w / 2, y, x + w - r, y + h / 2 - r, r); diff --git a/地图互转工具.html b/地图互转工具.html deleted file mode 100644 index 7f9fc0c..0000000 --- a/地图互转工具.html +++ /dev/null @@ -1,1672 +0,0 @@ - - - - - - 地图坐标转换工具 - - - - -
-
-

🗺️ 地图坐标转换工具

-

支持仙工地图、标准地图与Scene格式的互相转换,并提供坐标缩放功能

-
- -
- -
-
-
📁
-

选择地图文件

-

支持JSON、SMAP格式,最大100MB

-

💡 可以直接拖拽文件到此区域

- - -
-
🚀 释放文件开始处理
- -
- - -
-

🔄 选择转换方向

-
-
-
🎯 仙工 → 标准
-
将仙工地图转换为标准地图格式
-
-
-
📐 标准 → 仙工
-
将标准地图转换为仙工地图格式
-
-
-
🎨 转换为 Scene
-
转换为可导入编辑器的Scene文件格式
-
-
- - -
-

📏 坐标缩放设置

-
- - -
- - - - - -
-
-
💡 输入缩放倍数或点击快捷按钮。例如:100表示放大100倍,0.01表示缩小100倍
-
- - -
-
-
-
- - -
-

✅ 转换完成

-

地图已成功转换,点击下载转换后的文件。

- -
-
- - -
-
-
-
- - - -