From 3547b2e13be8a97668ffe0714d8e06661919b0c6 Mon Sep 17 00:00:00 2001 From: yvan Date: Fri, 25 Jul 2025 21:17:05 +0800 Subject: [PATCH 1/2] =?UTF-8?q?bracket=20=E9=92=A2=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/bracket/BracketRenderer.ts | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/modules/bracket/BracketRenderer.ts b/src/modules/bracket/BracketRenderer.ts index 5372465..77f5f3d 100644 --- a/src/modules/bracket/BracketRenderer.ts +++ b/src/modules/bracket/BracketRenderer.ts @@ -3,7 +3,7 @@ import BaseRenderer from '@/core/base/BaseRenderer.ts' import { decimalSumBy } from '@/core/ModelUtils' import Constract from '@/core/Constract.ts' import type Viewport from '@/core/engine/Viewport.ts' -import Bracket3dObject from "@/modules/bracket/Bracket3dObject"; +import Bracket3dObject from '@/modules/bracket/Bracket3dObject' /** * 货架货位渲染器 @@ -43,15 +43,15 @@ export default class BracketRenderer extends BaseRenderer { } createLine(start: ItemJson, end: ItemJson, type: LinkType, option?: RendererCudOption) { - // throw new Error('not allow store line.') + throw new Error('not allow store line.') } createLineBasic(start: ItemJson, end: ItemJson, type: LinkType) { - // throw new Error('not allow store line.') + throw new Error('not allow store line.') } updateLine(start: ItemJson, end: ItemJson, type: LinkType, option?: RendererCudOption) { - // throw new Error('not allow store line.') + throw new Error('not allow store line.') } getStorePlacement(me: ItemJson, bay = 0, level = 0, cell = 0): { position: [number, number, number], rotation: [number, number, number] } { @@ -71,7 +71,7 @@ export default class BracketRenderer extends BaseRenderer { // 禁止缩放, item.tf[2][0] = 0.85 item.tf[2][1] = 0.35 - item.tf[2][3] = 0.85 + item.tf[2][2] = 0.85 // 更新放在内部的所有箱子 @@ -109,13 +109,17 @@ export default class BracketRenderer extends BaseRenderer { const group = new Bracket3dObject(item, option) group.name = BracketRenderer.POINT_NAME + this.calcMeshMatrix(item, option) + // group.setMatrix4(matrix) + // 设置位置 - group.position.set(item.tf[0][0], item.tf[0][1], item.tf[0][2]) + // group.position.set(item.tf[0][0], item.tf[0][1], item.tf[0][2]) + group.position.set(option.position[0], option.position[1], option.position[2]) group.rotation.set( - THREE.MathUtils.degToRad(item.tf[1][0]), - THREE.MathUtils.degToRad(item.tf[1][1]), - THREE.MathUtils.degToRad(item.tf[1][2]) + THREE.MathUtils.degToRad(option.rotation[0]), + THREE.MathUtils.degToRad(option.rotation[1]), + THREE.MathUtils.degToRad(option.rotation[2]) ) return group From 73ce17f8996b6cf9c958b1cc115f1d3ca6cc018e Mon Sep 17 00:00:00 2001 From: yvan Date: Fri, 25 Jul 2025 22:33:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fm600=20=E5=8A=A8=E7=94=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/base/BaseRenderer.ts | 11 +++++++++++ src/modules/amr/fm600/FM600PropertySetter.ts | 2 +- src/modules/bracket/BracketRenderer.ts | 12 ++++++------ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/core/base/BaseRenderer.ts b/src/core/base/BaseRenderer.ts index cd8e9ba..ce7452d 100644 --- a/src/core/base/BaseRenderer.ts +++ b/src/core/base/BaseRenderer.ts @@ -177,6 +177,17 @@ export default abstract class BaseRenderer { console.error(`无法获取物品 ${item.id} 的存储位置`) } + // 观察这个地方是不是已经有物品了 + const existsGoods = this.tempViewport.runtimeManager?.getItemsByRack(item.dt.storeAt?.item) + if (existsGoods?.size > 0) { + let sumHeight = 0 + for(let goodId of existsGoods) { + const itemJson = this.tempViewport.entityManager.findItemById(goodId) + sumHeight += itemJson.tf[2][1] + } + position[1] += sumHeight + } + option.position = position option.rotation = rotation option.getParentObject3D = getParentObject3D diff --git a/src/modules/amr/fm600/FM600PropertySetter.ts b/src/modules/amr/fm600/FM600PropertySetter.ts index 2cc8a18..1a13e27 100644 --- a/src/modules/amr/fm600/FM600PropertySetter.ts +++ b/src/modules/amr/fm600/FM600PropertySetter.ts @@ -14,7 +14,7 @@ const propertySetter: PropertySetter = { inputProps: {}, }, { - dataPath: 'state', label: 'ptr控制', input: 'PtrController', + dataPath: 'state', label: 'FM600控制', input: 'PtrController', inputProps: {}, }, ], diff --git a/src/modules/bracket/BracketRenderer.ts b/src/modules/bracket/BracketRenderer.ts index 77f5f3d..de1a8cf 100644 --- a/src/modules/bracket/BracketRenderer.ts +++ b/src/modules/bracket/BracketRenderer.ts @@ -17,7 +17,7 @@ export default class BracketRenderer extends BaseRenderer { * 默认点的高度, 防止和地面重合 */ readonly defulePositionY: number = Constract.HEIGHT_WAY - readonly defaultScale: THREE.Vector3 = new THREE.Vector3(1, 1, 1) + readonly defaultScale: THREE.Vector3 = new THREE.Vector3(0.85, 0.35, 0.85) readonly defaultRotation: THREE.Vector3 = new THREE.Vector3(0, 0, 0) readonly defaultLineWidth: number = 0.05 @@ -113,13 +113,13 @@ export default class BracketRenderer extends BaseRenderer { // group.setMatrix4(matrix) // 设置位置 - // group.position.set(item.tf[0][0], item.tf[0][1], item.tf[0][2]) - group.position.set(option.position[0], option.position[1], option.position[2]) + group.position.set(item.tf[0][0], item.tf[0][1], item.tf[0][2]) + // group.position.set(option.position[0], option.position[1], option.position[2]) group.rotation.set( - THREE.MathUtils.degToRad(option.rotation[0]), - THREE.MathUtils.degToRad(option.rotation[1]), - THREE.MathUtils.degToRad(option.rotation[2]) + THREE.MathUtils.degToRad(item.tf[1][0]), + THREE.MathUtils.degToRad(item.tf[1][1]), + THREE.MathUtils.degToRad(item.tf[1][2]) ) return group