From 9db665e38beb30bdcf6c28c3ea4c1ae7c4d1cc33 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@gmail.com>
Date: 星期一, 05 一月 2026 14:29:11 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/insight/agv/AgvMain.jsx | 89 ++++++++++++++++++++++++++++++--------------
zy-acs-flow/src/map/tool.js | 1
2 files changed, 61 insertions(+), 29 deletions(-)
diff --git a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx
index 0167d0a..5b8e293 100644
--- a/zy-acs-flow/src/map/insight/agv/AgvMain.jsx
+++ b/zy-acs-flow/src/map/insight/agv/AgvMain.jsx
@@ -18,6 +18,10 @@
import BoolValueIcon from '../BoolValueIcon';
import ConfirmButton from '../../../page/components/ConfirmButton';
import { grey } from '@mui/material/colors';
+import * as Tool from '../../tool';
+import {
+ DEVICE_TYPE,
+} from '../../constants';
const AgvMain = (props) => {
const { curAgvNo, curAgvInfo: info, fetchAgvInfo } = props;
@@ -48,6 +52,9 @@
const renderThree = (curAgvNo) => {
if (curAgvNo && threeRef.current) {
+ const agvSprite = Tool.querySprite(DEVICE_TYPE.AGV, curAgvNo);
+ const agvModel = agvSprite.data.model;
+
threeRef.current.generateMesh((loader, addObject) => {
const loadModel = (path) => {
return new Promise((resolve, reject) => {
@@ -59,41 +66,65 @@
});
};
- Promise.all([
- loadModel('model/agv/body.fbx'),
- loadModel('model/agv/loader.fbx'),
- loadModel('model/agv/fork.fbx'),
- // loadModel('model/asr/body.fbx'),
- // loadModel('model/asr/loader.fbx'),
- // loadModel('model/asr/fork.fbx'),
- ]).then(([bodyMesh, loaderMesh, forkMesh]) => {
- const scaleVal = 1;
- // const scaleVal = 0.48;
- bodyMesh.scale.set(scaleVal, scaleVal, scaleVal);
- loaderMesh.scale.set(scaleVal, scaleVal, scaleVal);
- forkMesh.scale.set(scaleVal, scaleVal, scaleVal);
+ if (agvModel === 'HEAVY_LOAD_STACKING_ROBOT') {
+ Promise.all([
+ loadModel('model/asr/body.fbx'),
+ loadModel('model/asr/loader.fbx'),
+ loadModel('model/asr/fork.fbx'),
+ ]).then(([bodyMesh, loaderMesh, forkMesh]) => {
+ const scaleVal = 0.48;
+ bodyMesh.scale.set(scaleVal, scaleVal, scaleVal);
+ loaderMesh.scale.set(scaleVal, scaleVal, scaleVal);
+ forkMesh.scale.set(scaleVal, scaleVal, scaleVal);
- bodyMesh.position.set(55, 0, 0);;
- loaderMesh.position.set(55, 150, 0);;
- forkMesh.position.set(55, 165, 0);;
- // bodyMesh.position.set(55, 0, 0);;
- // loaderMesh.position.set(55, 150, 0);;
- // forkMesh.position.set(55, 165, 0);;
+ bodyMesh.position.set(55, 0, 0);;
+ loaderMesh.position.set(55, 150, 0);;
+ forkMesh.position.set(55, 165, 0);;
- const agvGroup = new THREE.Group();
- agvGroup.add(bodyMesh);
- agvGroup.add(loaderMesh);
- agvGroup.add(forkMesh);
+ const agvGroup = new THREE.Group();
+ agvGroup.add(bodyMesh);
+ agvGroup.add(loaderMesh);
+ agvGroup.add(forkMesh);
- agvGroup.name = curAgvNo;
+ agvGroup.name = curAgvNo;
- addObject(agvGroup);
+ addObject(agvGroup);
- threeRef.current?.rePerspective(350, 450);
+ threeRef.current?.rePerspective(350, 450);
- }).catch((error) => {
- console.error(error);
- });
+ }).catch((error) => {
+ console.error(error);
+ });
+ } else {
+ Promise.all([
+ loadModel('model/agv/body.fbx'),
+ loadModel('model/agv/loader.fbx'),
+ loadModel('model/agv/fork.fbx'),
+ ]).then(([bodyMesh, loaderMesh, forkMesh]) => {
+ const scaleVal = 1;
+ bodyMesh.scale.set(scaleVal, scaleVal, scaleVal);
+ loaderMesh.scale.set(scaleVal, scaleVal, scaleVal);
+ forkMesh.scale.set(scaleVal, scaleVal, scaleVal);
+
+ bodyMesh.position.set(55, 0, 0);;
+ loaderMesh.position.set(55, 150, 0);;
+ forkMesh.position.set(55, 165, 0);;
+
+ const agvGroup = new THREE.Group();
+ agvGroup.add(bodyMesh);
+ agvGroup.add(loaderMesh);
+ agvGroup.add(forkMesh);
+
+ agvGroup.name = curAgvNo;
+
+ addObject(agvGroup);
+
+ threeRef.current?.rePerspective(350, 450);
+
+ }).catch((error) => {
+ console.error(error);
+ });
+ }
});
}
}
diff --git a/zy-acs-flow/src/map/tool.js b/zy-acs-flow/src/map/tool.js
index 017d65b..abc1b4f 100644
--- a/zy-acs-flow/src/map/tool.js
+++ b/zy-acs-flow/src/map/tool.js
@@ -821,6 +821,7 @@
initSprite(agvSprite, DEVICE_TYPE.AGV);
agvSprite.data.no = agvNo;
+ agvSprite.data.model = agvModel;
agvSprite.data.backpackCount = backpackCount;
agvSprite.data.battery = battery;
--
Gitblit v1.9.1