用户手册
帮助中心/用户手册/3D 自动排布:新建库位自动落进 3D 场景

3D 自动排布:新建库位自动落进 3D 场景

最后更新 2026-10-19

在仓库设置里填好编码正则启用自动排布,符合规范的新库位会按编码自动算出 3D 坐标——不用手动摆。不规范的编码会被标出来整改,而不是拦住建库位。

没有 3D 坐标的库位在 3D 仓库里是看不见的。自动排布之前,每个新建库位都要手动摆——演示仓那 9000+ 个手动摆的库位就是这种痛苦。自动排布把这份活省了:系统读库位编码,从中解出通道/排/列/层,算出 3D 坐标并写入。如果编码不符合仓库规范,系统会明确标出来,而不是瞎猜。

示意插画:等距仓库货架网格,库位自动落位,悬浮着条码风格的库位编码标签
自动排布读库位编码,把库位放进 3D 场景——不用拖、不用开布局编辑器。

工作流程#

两个触发点#

  • 建库位——POST /api/wms/locations 成功后,如果该库位没有 3D 坐标且仓库开了自动排布,系统在后台生成坐标。失败不挡事:排布出错不会影响库位创建。
  • 批量排布——POST /api/wms/locations/auto-layout 传仓库 id,一次扫完该仓库所有无坐标库位并排布。返回告诉您排了多少(laid_out),并列出跳过的(skipped_non_standard、skipped_virtual)。

在仓库设置里怎么配#

仓库设置页有一张"3D 自动排布"卡片:没有总开关——编码正则留空 = 不启用自动排布,填了正则再配下面的字段。卡片里有实时预览框——您输入任意编码,它立刻显示解析结果:是否标准、解出了哪几段(通道/排/列/层),保存前就能验对正则。

  • 编码正则(命名分组 aisle / row / bay / level)——zone 用库位表里的 zone 列,不从编码解析。默认正则匹配 A(通道)-R(排)-B(列)-L(层) 形态,如 STORAGE-A001-R1-B001-L1。
  • 每列宽度(米,默认 2.7)、每层高度(米,默认 1.8)、通道间距(米,默认 6.0,含货架深度)、原点偏移 X/Y/Z(默认 0)。
  • 坐标公式:x = 原点x + 通道 × 通道间距 + 列 × 列宽;y = 原点y + 排 × 1.2米;z = 原点z + (层 − 1) × 层高;尺寸 = 列宽 × 1.2 × 层高。

非标编码:只标出来,不拦路#

自动排布同时承担编码标准化检查:编码不符合仓库正则的,返回 CODE_NOT_STANDARD、不写坐标。库位列表里的"3D 状态"列会标出它;还可以一键导出该仓库的非标编码清单(CSV),给仓库去整改。建库位不会因为编码不规范被拦住。

"3D 状态"列有四种值:虚拟库位 / 编码不规范 / 待排布 / 有坐标。虚拟库位(staging、月台等没有物理位置的类型)是有意跳过的——它们不需要 3D 坐标。已有坐标的库位显示"有坐标"。

自动排布不碰的东西#

  • 手动摆过的坐标优先级最高——自动排布只填空缺,绝不覆盖。
  • 布局编辑器和建筑外壳导入都不动;自动排布只写它们也写的那种坐标记录。
  • 覆盖率监控:GET /api/wms/locations/layout-status?warehouse_id=… 返回各状态的统计数(有坐标 / 待排布 / 非标 / 虚拟),看覆盖率一点点涨上来。