下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-kzdd4w2j--container-load-calc.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-kzdd4w2j/container-load-calc。装柜测算:算一个柜能装多少箱、要几个柜。触发:装柜/一个柜能装多少/装箱测算/要几个柜/柜型怎么选/装柜图/打托/能装多少件。散箱分层混排 + 托盘装量,含限重/柜门/重心/支撑/重不压轻校验,附可视化 HTML 工具。
阅读全文 (展开查看完整说明)
概述
Container Load Calc — 装柜测算器
算「一个柜能装多少箱、要几个柜、怎么摆」,并给出可直接落现场的排法与校验结论。
前置条件(安装后先看)
| 项 | 要求 |
|---|---|
| 运行环境 | 需要 Node.js 18+(脚本只读自带文件,无第三方依赖);只用可视化工具则不需要任何运行时,双击 HTML 即可 |
| 第三方依赖 | 无(零安装,不需要 npm install) |
| 网络 / API | 不需要(纯本地计算,无 token、无密钥、无外部接口) |
| 数据准备 | 箱规(长宽高 + 单箱重)、柜型;有多箱型混装时按模板批量导入 |
使用前要备好的数据:
- 箱规:长 × 宽 × 高(cm)
- 单箱毛重(kg)——用于限重与重不压轻校验,缺了限重就失效
- 柜型:20GP / 40GP / 40HQ / 45HQ(不确定就问,不要默认)
- 总件数(可选)——给了才算「这批货要几个柜」;不给则算「一个柜最多装多少」
- 托盘规格(走托盘时)——EUR / EUR2 / GMA / 亚托,或自定义尺寸与自重
快速上手
对话触发:直接说「96×44×27 的箱子,29.8 公斤,40HQ 能装多少」,报出箱规 + 柜型即可。
可视化工具(给人看、要 3D 图时用):
open ~/.workbuddy/skills/container-load-calc/assets/load-calc-tool.html单文件离线 HTML,无 CDN 依赖。支持箱规模板导入(.csv / .xlsx / 从 Excel 直接粘贴)、可拖拽旋转的 3D 装柜图、逐箱落位动画。
命令行(要数字、做批量时用):
cd ~/.workbuddy/skills/container-load-calc/scripts
node loadcalc.mjs --ct 40HQ --box "96,44,27,29.8,630,A款纸箱"路径提示:下列路径按 skill 安装在
~/.workbuddy/skills/container-load-calc/写;若你的安装位置不同,按本 skill 实际所在目录替换即可。--csv的相对路径按当前工作目录解析,建议先cd到scripts/再用相对路径,或直接给绝对路径。
托盘模式:
node loadcalc.mjs --pallet --pal EUR --box "43,30,25,8" --qty 500 --pal-total 180自检(确认安装完好):
node selftest.mjs自检会跑 61 项已知答案用例(含手算可验证的算例、现场实测校准值、命令行参数校验、需求超上限告警),全部通过才算安装完好。
用途
给定箱规与柜型,回答四个问题:
- 一个柜最多能装多少箱?
- 这批货要几个柜?每柜分别装多少?
- 现场按什么顺序、分几层堆?
- 装完有没有超重、超门、偏心、悬空、重压轻?
触发场景
- 用户问「装柜」「一个柜能装多少」「要几个柜」「装箱测算」「柜型怎么选」「打托装量」「一托装多少」「装柜图」
- 给出箱规 + 柜型,要求出装量或装柜方案
- 不触发:单纯查柜型尺寸或船期(那是订舱/船期查询);仓库入库上架时效(那是 WMS 侧的事)
核心方法
装柜不是「柜体积 ÷ 箱体积」。三个真实约束让估算严重失真:
- 尺寸能不能拼上:箱子的长宽高与柜内尺寸的整除关系决定了一层的实装量,差值可能到 20%。
- 朝向能不能混:同一批货可以有的平放、有的侧躺。锁死单一朝向(规则排列)比允许混排(分层混排)通常少装 5%~8%。
- 制约不只体积:限重、柜门高、重心、支撑面积、重不压轻,任何一条不过关都要改方案。
详见 references/loading-rules.md。
输入参数
| 参数 | 必须 | 说明 |
|---|---|---|
| 箱规(长宽高) | 是 | cm。给的是净尺寸还是含外包装,要问清 |
| 单箱毛重 | 是 | kg。缺了限重校验失效 |
| 柜型 | 是 | 20GP/40GP/40HQ/45HQ 之一 |
| 总件数 | 可选 | 给了 → 算要几个柜;不给 → 算单柜满载 |
| 混装箱型 | 可选 | 批量导入单次最多 20 种(超出自动截断并提示);超过 8 种会提示「排布接近人工经验」。手动新增箱型与命令行 --box 不受 20 种限制 |
| 排列算法 | 可选 | auto(默认取优)/ layer(分层混排)/ rule(规则排列) |
| 允许转向 | 可选 | 默认允许。客户要求一律正放时关掉,装量会下降 |
| 每方向留缝 | 可选 | cm,默认 0。满载方案建议给 2~4 |
| 重不压轻容差 | 可选 | 默认 30%。客户严格要求时改 0 |
| 支撑面积阈值 | 可选 | 默认 80% |
| 托盘规格 | 走托盘时 | EUR 等代码,或自定义长宽高与自重 |
| 单托限载 | 走托盘时 | kg。不填则不限,只受体积和柜门约束 |
执行步骤
- 确认输入:箱规(含外包装?)、单箱毛重、柜型、总件数(或按满载)、是否允许转向。缺关键项走 Mode B 问人。
- 优先用命令行取数:
node loadcalc.mjs --ct <柜型> --box "长,宽,高,单箱重[,数量[,品名]]"
# 多箱型:--box 重复多次
# 批量:--csv 箱规.csv 或 --csv-inline "<表格文本>"
# 报需求件数:--qty 1000(正整数;单箱型才可用)
# 对照档位:--algo rule
# 客户不许转向:--rotate off
# 要留余量:--gap 2
# 托盘模式:--pallet --pal EUR ...(--pallet 是开关,代码给 --pal)
# 结构化结果:--json- 需要图或要给人看 → 打开
assets/load-calc-tool.html,用模板导入箱规。 - 读结果,逐项过校验;不通过的项要给出替代方案(减箱、加柜、改朝向、改柜型)。
- 按下方输出格式交付,附分层施工顺序。
输出格式
以下为 node loadcalc.mjs --ct 40HQ --box "96,44,27,29.8,,A款纸箱" 的真实输出(满载口径):
【装柜测算 · 散箱】
柜型:40HQ(内 1203×235×269 cm,门 234×258 cm,限重 26.5 t)
箱型:
· A款纸箱 96×44×27 cm / 29.8 kg
结果:单柜最多 633 箱,需 1 个柜;体积利用率 95%;单柜总重 18.86 t
排法(自下而上):第1层 27cm高×63件 → 第2层 44cm高×104件 → 第3层 96cm高×233件 → 第4层 96cm高×233件
装完总高约 263 cm(柜内高 269 cm,余 6 cm)
采用算法:分层混排(单柜:分层混排 633 件 / 规则排列 596 件)
重心:长向 -0.9% / 宽向 -0.7% / 高度占柜高 49.2%
校验:限重 通过;柜门 通过;支撑不足 5 / 570 件;重压轻 0 处注意:
--box里要写品名就必须把数量位留空(96,44,27,29.8,,A款纸箱),否则第 5 位会被当成数量。
给了总件数(--qty 或 --box 第 5 位)时,结果行改为「需 N 个柜」并追加逐柜装量,算法对比也从「比件数」切换为「比柜数与总箱数」:
结果:单柜最多 630 箱,需 1 个柜;体积利用率 94.5%;单柜总重 18.77 t
逐柜装量:630(合计 630 箱)
采用算法:分层混排(分层混排 1 柜 / 630 箱,规则排列 2 柜 / 630 箱)多柜时逐柜给数,超过 20 柜会折叠成 …(共 N 柜,完整逐柜数据见 --json)。
校验判据
| 校验 | 判据 |
|---|---|
| 限重 | 单柜货物总重 ≤ 柜型限重(可覆盖) |
| 柜门 | 单箱高/含托总高 ≤ 门高;单箱宽 ≤ 门宽(40GP 门高 228,40HQ/45HQ 门高 258) |
| 重心 | 长/宽方向相对柜底中心偏移 ≤ ±10%;重心高度 ≤ 柜内高 60% |
| 支撑面积 | 上层箱被下层箱支撑的底面积比例 ≥ 阈值(默认 80%) |
| 重不压轻 | 上层箱重 ≤ 下层箱重 ×(1 + 容差),默认容差 30% |
边界与陷阱
- 只处理普通干货柜。 冷冻柜、开顶柜、平板柜、框架箱的内外尺寸与装载逻辑完全不同,不要套用。
- 不自动扣膨胀缓冲。 工具按你填的尺寸原样排布。要留余量就把箱规填大 0.5~1 cm,或用「每方向留缝」。
- 满载方案不等于现场方案。 利用率 95% 的方案对箱体方正度和柜内清洁度要求高,实际通常要减 1%~3%。
- 纸箱抗压(BCT)不算。 堆多少层不塌取决于纸板材质与含水率,必须查供应商 BCT 报告,工具只做提示。
- 立放虽能多装但有风险。 立放时箱底面积小、高宽比大,途中易倾倒,必须用缠绕膜或绑带整体固定。
- 支撑不足的箱必须填实。 分层混排会在柜尾/柜边留少量悬空箱(例如 633 件方案里柜尾 5 箱支撑率约 18%),要用气袋或泡沫板填实,不能放过。
- 多柜不能乘。 最后一柜通常装不满,必须逐柜报数。
- 内尺寸不是门尺寸。 40GP 内高 239 cm、门高只有 228 cm,按内高排完的柜门进不去。
- 不同船东内尺寸有 ±2~3 cm 差异。 高利用率方案要按实际柜号规格复核。
- 命令行参数写错会直接报错,不会按默认值静默计算。 数值参数(
--qty/--gap/--tol/--sup/--payload/--pal-*)拒绝非数字与越界值,千分位逗号可以写(--qty 1,000);--tol/--sup是百分数,超过 100 报错。特别地,--pallet只是「切换托盘模式」的开关,托盘代码要用--pal(写--pallet EUR会报错并提示正确写法)。 - 单次测算最多 300 柜。 需求超过这个量(例如把 1000 万件填进来)时,结果里会明确标出「需求超出单次上限」,并说明下面的柜数只反映前 300 柜。这时不要把它当成答案,要拆成多批分别算,或者先怀疑数量填错了。
Mode B(缺信息必须问)
以下缺失时,必须在输出前暂停问人:
- 箱规是净尺寸还是含外包装?差 1~2 cm 就足以改变一层能放几件
- 单箱毛重是多少?没有重量,限重与重不压轻校验全部失效
- 走哪个柜型?20GP/40GP/40HQ/45HQ 装量差一倍以上,不能默认
- 是算单柜满载还是算这批货要几个柜?两者结果口径不同
- 客户是否禁止箱子转向(必须正放)?允许与否装量差 5%~8%
- 走托盘时:哪种托盘(EUR/GMA/亚托)、单托限载多少、含托目标总高多少?
求证格式:
需要你确认:
已知:箱规 96×44×27 cm,单箱 29.8 kg,柜型 40HQ
未知:这批共多少件?客户是否允许箱子侧放?
请选:A. 630 件,允许侧放 B. 630 件,必须正放 C. 按单柜满载先看上限验证标准
- [ ] 单柜装量、所需柜数、每柜件数三者自洽(合计 = 总件数)
- [ ] 分层排法的层高之和 ≤ 柜内高,且各层件数之和 = 单柜件数
- [ ] 限重校验通过(单柜总重 ≤ 限重)
- [ ] 柜门校验通过(单箱/含托总高 ≤ 门高)
- [ ] 重心偏移 ≤ ±10%,重心高度 ≤ 柜内高 60%
- [ ] 支撑不足的箱数已明确列出并给出填实要求
- [ ] 输出含自下而上的分层施工顺序,不是只给一个总数
- [ ] 多柜时逐柜报数,没有用单柜装量乘柜数
- [ ] 需求是否超过单次 300 柜上限?超了要明说并建议拆批,不能把上限值当答案
不合格信号:
- 只报一个总数,没给排法
- 报了装量但没提限重(重货场景必有超重风险)
- 箱规明显是净尺寸却当外包装尺寸用
- 现场反馈装量比工具少很多时,没去检查算法档位是不是锁在「规则排列」
示例
成功案例(现场实测校准)
输入:96×44×27 cm / 29.8 kg,40HQ 输出:单柜 633 件,分层混排,利用率 95.0%,总重 18.86 t 排法:27 cm 层 63 件 → 44 cm 层 104 件 → 96 cm 层 233 件 × 2 层,总高 263 cm验证:现场实测装 630 件,与工具 633 相差 0.5%,可通过。若锁「规则排列」只能得 596,与现场差距 5%——这正是当初发现问题的地方。
对照案例(档位差异)
同一批货,40HQ:
- 规则排列 596 件(利用率 89.4%)
- 分层混排 633 件(利用率 95.0%)
- 关闭转向(必须正放)567 件(利用率 85.1%)
边界案例
输入:1500 kg/箱的 120×100×100 cm 重货输出:单柜只装 17 箱(25.5 t)即触限重,再放超载 —— 限重优先于体积
相关文档
references/container-specs.md:四种干货柜内尺寸、门尺寸、限重与选型经验references/pallet-specs.md:八种托盘规格、限载与"每层按行组合"的排法references/loading-rules.md:两种排布算法、五项校验、必须由人确认的事项与常见误用assets/load-calc-tool.html:可视化工具(单文件离线,含模板导入与 3D 装柜图)assets/box-spec-template.csv:箱规导入模板scripts/loadcalc.mjs:命令行测算scripts/selftest.mjs:已知答案自检(61 项)
版本与变更记录
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0.0 | 2026-10-09 | 首个公开版:散箱分层混排 + 规则排列双档取优、托盘装量与每层行组合寻优、五项校验、箱规模板批量导入、可视化 3D 装柜图、命令行测算与 61 项自检 |