Browse Source

pallet 属性面板调整

master
修宁 6 months ago
parent
commit
7e6946ef6e
  1. 81
      doc/plan/plan.md
  2. 4
      src/example/example1.js
  3. 49
      src/modules/pallet/PalletPropertySetter.ts
  4. 53
      src/modules/tote/TotePropertySetter.ts

81
doc/plan/plan.md

@ -0,0 +1,81 @@
## CL2
### CL2 动画全流程
```typescript
const cl2 = Model.getCl2('ptr1')
const palletId = 'pallet1124'
const yy = Model.getPositionByEntityId(palletId).y
cl2.addTravel('23') // 移动并旋转
cl2.addRotation(90)
cl2.addTravel('27') // 运行至托盘对应的货架列Point
cl2.addArmRaise(yy) // 提高叉子到托盘高度
cl2.addArmExtender() // 伸叉
cl2.addLoad(palletId) // 载入托盘,转移库存
cl2.addArmRetractor() // 收叉
cl2.addArmLower() // 将叉子放回到车上
cl2.addTravel('23') // 移动并旋转
cl2.addRotation(-90)
cl2.addTravel('20') // 移动到目标点位
cl2.addArmRaise(0.2) // 提叉
cl2.addArmExtender() // 伸叉
cl2.addArmLower() // 放叉
cl2.addUnload(palletId, '20') // 转移库存
cl2.addArmRetractor() // 收叉
cl2.addTravel('17') // 移动到休息点位
cl2.taskStartRun()
```
### PlanTask
```typescript
const cl2 = Model.getCl2('ptr1')
// 创建一个任务
RCS.dispatchTask({
agv: 'cl2', // 指定车辆
type: 'carry', // 任务类型
lpn: 'pallet1124', // 托盘ID, 用于校验
from: '27', // 起始点位
to: '' // 目标点位
})
```
## CLX 动画全流程
```typescript
const cl2 = Model.getClx('clx1')
const palletId = 'pallet1125'
const yy = Model.getPositionByEntityId(palletId).y
cl2.addTravel('1') // 移动并旋转
cl2.addRotation(-90)
cl2.addTravel('8'); // 运行至托盘对应的货架列Point
cl2.addArmRaise(yy) // 提高叉子到托盘高度
cl2.addArmExtender() // 伸叉
cl2.addLoad(palletId) // 载入托盘
cl2.addArmRetractor() // 收叉
cl2.addArmLower() // 将叉子放回到车上
cl2.addTravel('1') // 移动并旋转
cl2.addRotation(0)
cl2.addTravel('36') // 移动到目标点位
cl2.addArmRaise(0.3) // 提叉
cl2.addArmExtender() // 伸叉
cl2.addArmLower() // 放叉
cl2.addUnload(palletId, '47') // 转移库存
cl2.addArmRetractor() // 收叉
cl2.addTravel('38') // 移动到休息点位
cl2.taskStartRun()
```

4
src/example/example1.js

@ -206,7 +206,7 @@ export default {
tf: [[2.7, 0, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]], tf: [[2.7, 0, 2.13], [90, 0, 0], [0.25, 0.25, 0.1]],
dt: { dt: {
in: ['2', '38', '36'], out: ['2', '38', '36'], center: [], in: ['2', '38', '36'], out: ['2', '38', '36'], center: [],
ration: ['cl2', 'clx'] agvRotation: ['cl2', 'clx']
} }
}, },
{ {
@ -290,7 +290,7 @@ export default {
tf: [[5.65, 0, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]], tf: [[5.65, 0, 5.232], [90, 0, 0], [0.25, 0.25, 0.1]],
dt: { dt: {
in: ['22', '24'], out: ['22', '24'], center: [], in: ['22', '24'], out: ['22', '24'], center: [],
ration: ['cl2', 'clx'], agvRotation: ['cl2', 'clx'],
linkStore: [{ item: 'rack1', bay: 2, level: 1, cell: 0 }] linkStore: [{ item: 'rack1', bay: 2, level: 1, cell: 0 }]
} }
}, },

49
src/modules/pallet/PalletPropertySetter.ts

@ -1,20 +1,35 @@
import type { PropertySetter } from "@/core/base/PropertyTypes.ts"; import type { PropertySetter } from '@/core/base/PropertyTypes.ts'
import { basicFieldsSetter } from "@/editor/widgets/property/PropertyPanelConstant.ts"; import { basicFieldsSetter } from '@/editor/widgets/property/PropertyPanelConstant.ts'
const propertySetter: PropertySetter = { const propertySetter: PropertySetter = {
flatten: { flatten: {
fields: [ fields: [
...basicFieldsSetter, ...basicFieldsSetter
{ ]
dataPath: 'dt.palletWidth', label: '托盘宽度', input: 'InputNumber', },
inputProps: {}, groups: [
}, {
{ title: '存储位置', expand: true, size: 'small',
dataPath: 'dt.palletDepth', label: '托盘深度', input: 'InputNumber', fields: [
inputProps: {}, {
}, dataPath: 'dt.storeAt.item', label: '存储位置', input: 'InputSelect',
], inputProps: {}
}, },
}; {
dataPath: 'dt.storeAt.bay', label: '存储位置[列]', input: 'InputNumber',
inputProps: {}
},
{
dataPath: 'dt.storeAt.level', label: '存储位置[层]', input: 'InputNumber',
inputProps: {}
},
{
dataPath: 'dt.storeAt.cell', label: '存储位置[格]', input: 'InputNumber',
inputProps: {}
}
]
}
]
}
export default propertySetter; export default propertySetter

53
src/modules/tote/TotePropertySetter.ts

@ -1,20 +1,39 @@
import type { PropertySetter } from "@/core/base/PropertyTypes.ts"; import type { PropertySetter } from '@/core/base/PropertyTypes.ts'
import { basicFieldsSetter } from "@/editor/widgets/property/PropertyPanelConstant.ts"; import { basicFieldsSetter } from '@/editor/widgets/property/PropertyPanelConstant.ts'
const propertySetter: PropertySetter = { const propertySetter: PropertySetter = {
flatten: { flatten: {
fields: [ fields: [
...basicFieldsSetter, ...basicFieldsSetter,
{ {
dataPath: 'dt.palletWidth', label: '托盘宽度', input: 'InputNumber', dataPath: 'dt.palletWidth', label: '托盘宽度', input: 'InputNumber',
inputProps: {}, inputProps: {}
}, },
{ {
dataPath: 'dt.palletDepth', label: '托盘深度', input: 'InputNumber', dataPath: 'dt.palletDepth', label: '托盘深度', input: 'InputNumber',
inputProps: {}, inputProps: {}
}, },
],
},
};
export default propertySetter; // storeAt: { item: 'rack1', bay: 0, level: 1, cell: 0 }
{
dataPath: 'dt.storeAt.item', label: '存储位置', input: 'InputSelect', inputProps: {}
},
{
dataPath: 'dt.storeAt.bay', label: '存储位置[列]', input: 'InputNumber',
inputProps: {}
},
{
dataPath: 'dt.storeAt.level', label: '存储位置[层]', input: 'InputNumber',
inputProps: {}
},
{
dataPath: 'dt.storeAt.cell', label: '存储位置[格]', input: 'InputNumber',
inputProps: {}
}
]
},
groups: []
}
export default propertySetter

Loading…
Cancel
Save