下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-kzdd4w2j--pallet-load-calculator.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-kzdd4w2j/pallet-load-calculator。打托/托盘测算/一托装多少/需要几个托盘/混托预估/每托多重。默认托盘48×40in,限高平台72/非平台85(均含托盘高6),单托限重FBA1500/非平台2000lbs;先单SKU满托后尾货拼托,算每托件数、所需托数、产品分布与打托后重量,长条竖放会倒自动提示。
阅读全文 (展开查看完整说明)
概述
打托测算预估
按产品尺寸、托盘尺寸、限高,算"一个托盘能装多少件"与"多少件需要几个托盘",支持混托,并对长条产品竖放「会倒」给出风险提示。
用途
给定产品长宽高与需求件数,回答三个问题:
- 一个托盘能装多少件此产品?
- N 件此产品需要几个托盘?
- 混托时,主产品最后一托剩下的空间能不能塞进第二种产品、能塞几件?
触发场景
- 用户问"打托" / "托盘测算" / "托盘预估" / "一托装多少" / "需要几个托盘" / "混托怎么算"
- 给出产品尺寸 + 件数,要求估算 FBA 或其他渠道的托盘数与装载量
- 不触发:单纯的体积/重量换算(无托盘概念)、海运柜体积核算(那是另一种计算口径)
核心规则(默认值,可被用户覆盖)
| 项 | 默认值 | 说明 |
|---|---|---|
| 托盘尺寸 | 48 × 40 inch | GMA 标准托盘(长 × 宽) |
| 托盘自身高度 | 6 inch | 常规托盘高度,计入限高 |
| 平台限高(含托盘) | 72 inch | 需派送平台(FBA/Amazon 等) |
| 非平台限高(含托盘) | 85 inch | 送到非平台(自配仓等) |
| 可用堆高 | 限高 − 托盘高 | 例:72 − 6 = 66 inch |
| 超标大托盘 | 80×48 / 96×40 inch | 产品底面超标准托盘时使用 |
| 托盘自重 | 40 lbs | GMA 48×40 木托盘空重 30–48 lbs,默认取 40 lbs 保守值,可覆盖 |
| 单托限重(含托盘) | FBA 1500 lbs / 非平台 2000 lbs | FBA 官方硬限;非平台按用户业务口径 2000,超了承运商/仓不收,可 --max-weight 覆盖 |
| 单位换算 | 1 inch = 2.54 cm;1 kg ≈ 2.20462 lbs | cm/kg 输入自动转 inch/lbs |
注意:限高是「含托盘」的总高。产品实际堆叠高度必须 ≤ 可用堆高,而不是 ≤ 限高。这是最常见的算错点。
同样,单托限重也是「含托盘自重」。可用载重 = 限重 − 托盘自重(FBA 1500−40=1460;非平台 2000−40=1960)。重货(单件重 × 体积件数 > 可用载重)会被重量约束压下来,不是体积算出来的件数。
⚠️ 超重拒收(注意事项):非平台单托超过 2000 lbs 太重,承运商/仓会拒收。计算时若某托实际重量接近或超过限重,必须醒目提示「单托超重,需减件或拆分」,不能默默给一个超限的托数。
计算逻辑
1. 每层能放几件(二维装箱)
在产品「平放」时,底面为 (长 × 宽)。在同一层内,尝试两种朝向:
- 产品长边对齐托盘长:
floor(48 / 长) × floor(40 / 宽) - 产品长边对齐托盘宽:
floor(48 / 宽) × floor(40 / 长)
取两者较大值作为每层件数。
2. 能堆几层
层数 = floor(可用堆高 / 产品高)(平放时高 = 产品 H)。
3. 每托件数与所需托盘数(体积 + 重量双约束)
- 体积口径每托件数 = 每层件数 × 层数
- 重量口径每托件数上限 =
floor((限重 − 托盘自重) / 单件重)(无重量输入时略过) - 实际每托件数 = min(体积件数, 重量件数)
- 所需托盘数 =
ceil(需求件数 / 实际每托件数) - 最后一托件数 = 需求件数 mod 实际每托件数(余数为 0 表示刚好整托)
⛔ 重货陷阱:重货(体积能堆很多件、但重量先到限)按体积算会严重少估托盘数。例:62 lbs 单件,体积能堆 104 件/托,但限重 1500 只允许 23 件/托 → 100 件要 5 托,不是 1 托。必须看重量口径,不能只看体积。
4. 两个方案
| 方案 | 定义 | 稳定性 |
|---|---|---|
| 方案1(平放,安全) | 产品高 H 朝上,底面 L×W | 稳定 |
| 方案2(最大化) | 枚举 L/W/H 三条边分别作高度,取每托件数最大 | 若高 ≠ H 即为竖放,有倒伏风险 |
方案2 的三条边作高的三种情形:
- H 作高(平放)→ 层数 = floor(可用堆高 / H),层面积 = L × W
- L 作高(竖放)→ 层数 = floor(可用堆高 / L),层面积 = W × H
- W 作高(竖放)→ 层数 = floor(可用堆高 / W),层面积 = L × H
5. 长条形竖放「会倒」限制
判定:最长边 ≥ 2 × 次长边(例如 40 × 8 × 8,40 ≥ 2×8),即长条形产品。
规则:长条形产品不允许竖放——竖放重心高、接触面窄,实托运输会倒。计算时必须给出该风险提示,且建议以方案1(平放)为准。
6. 混托逻辑(先满托单打,尾货再拼)
⛔ 核心约定(2026-09-16 用户定调两次):
- 混托不预设立场,直接输出多方案让人挑,不反复追问"谁主谁副"。
- 打托顺序 = 先单个 SKU 打满整托 → 剩下的「尾货」再拼。满托永远是单 SKU,不拆对方的满托填缝。混托只发生在两个 SKU 各自打完满托后剩的不足一托的余件上,目的是合并尾货、省掉一个尾托。
模型(两个产品 A、B,每托件数 ppA、ppB):
- 满托数 =
qty // 每托件数;尾货 =qty % 每托件数 - 各自单打 = A满托 + A尾货(有则+1) + B满托 + B尾货(有则+1)
- 尾货拼一托 = 当 A、B 都有尾货时,看两者尾货能否装进同一托:
- 高度:
ceil(A尾/每层A)×hA + ceil(B尾/每层B)×hB ≤ 可用堆高 - 重量:
A尾×wtA + B尾×wtB + 托盘自重 ≤ 单托限重 - 都满足 → 总托数 = A满托 + B满托 + 1(省 1 个尾托)
- 高度:
- 只有一边有尾货 → 无拼托必要,各自尾货单独起托
推荐 = 方案里托数最少者。拼托省托但多一道混合打包/加固成本与稳定性风险,非省托不拼。
超标拦截:任一产品平放放不进当前托盘 → 不硬混,提示"各自单打或先解决超标"。
长条限制:混托中若有长条产品,只平放、不竖放(会倒)。
重量约束始终生效:拼托重量 = 尾货重 + 托盘自重,超限则拼不了(各自尾货单起一托)。
7. 超标产品逻辑(拼接大托盘)
定义:产品平放时,底面(长 × 宽)在标准托盘 48×40 上任一朝向都放不下,即「超出标准托盘底面」,判定为超标产品。
判定:底面 (L, W) 两种朝向都失败 (L≤48 且 W≤40) 或 (W≤48 且 L≤40) 之一不成立 → 超标。
处理:改用拼接大托盘(两个标准托盘并排拼成),两种常规大托盘尺寸:
| 大托盘 | 尺寸 (in) | 说明 |
|---|---|---|
| 80 × 48 | 两个 40×48 并排 | 长边延伸 |
| 96 × 40 | 两个 48×40 并排 | 宽边延伸 |
对两种大托盘分别按标准逻辑计算(每层二朝向取最大 × 层数),输出各自方案。
建议托盘:取「平放每托件数最大」的大托盘;件数并列时取面积最小(省料)。两种大托盘面积同为 3840 in² 时按 80×48 优先。
注意:
- 超标产品也必须遵守「长条形竖放会倒」规则:竖放方案仅在标准托盘参考里体现,大托盘方案只算平放。
- 大托盘拼托是"两个标准托盘并排",实际打托时两块托盘拼接处需额外加固,稳定性需现场确认。
8. 重量与打托后总重(重要)
打托报价/发运常用「打托后重量」(含托盘自重),不只产品净重。计算口径:
- 产品总重 = 单件重 × 件数
- 打托后总重 = 产品总重 + 托盘自重 × 托盘数
- 托盘自重:GMA 48×40 木托盘空重 30–48 lbs,最常见约 37–40 lbs,30 lbs 是干木/轻量盘下限。默认取 40 lbs(保守),用户可覆盖(
--pallet-weight)。
单位换算(用户可能给 cm/kg):
- 尺寸:cm → inch = 值 ÷ 2.54
- 重量:kg → lbs = 值 × 2.20462
边界:产品完全无法常规装载(连大托盘都放不下)时,托盘数至少按 1 托兜底计重,并提示「需特殊/定制托盘,人工确认」。
执行步骤
- 确认输入:产品长宽高(单位必须统一为 inch;若用户给 cm,先除以 2.54 换算)、需求件数、单件重、副产品尺寸件数。
- 平台确认(⛔ 2026-09-16 用户定调):不默认 FBA。用户没说平台 → 按「尽可能少打托」目标两个平台都算对比(fba 限高72 vs 非平台限高85,后者能多堆 13 英寸、常省托数),把差异摆给用户;用户已说平台则按指定平台算。
- 打托顺序(⛔ 2026-09-16 用户定调):先单个 SKU 打满整托,剩下的尾货再拼货。不是两个 SKU 从头混堆——混托只发生在「各 SKU 打完满托后剩的尾货」这一层,用于把两个 SKU 的尾货拼进同一托减少尾托数量。
- 若本 skill 目录存在
scripts/pallet_calc.py,直接调用:
python3 pallet_calc.py --l 20 --w 15 --h 12 --qty 1000 --platform fba
# 混托加:--sub 8 8 8 --sub-qty 200
# 非平台:--platform non-fba
# 自定义托盘:--pallet 48 40;托盘高:--pallet-h 6
# 重量:--weight 81.13(主产品单件重 lbs)--sub-weight 30(副产品单件重 lbs)
# 或 kg:--weight 20 --weight-unit kg
# 尺寸 cm 输入:--dims-unit cm(自动转 inch)
# 托盘自重:--pallet-weight 30(默认 40);单托限重:--max-weight 2000(默认 1500)
# JSON 输出:--json- 若无脚本或需要灵活解释,按上面「计算逻辑」手算,输出同样的两个方案与提示。
- 输出结果(格式见下)。
输出格式
托盘规格 + 限高 + 可用堆高 + 单托限重(含托盘) + 托盘自重
主产品尺寸 + 是否长条形
【方案1 · 平放(安全)】每层 X 件 × Y 层 = 体积 V 件/托 → 实际 Z 件/托(体积/重量约束主导标注);需 N 托
分布:M 托 × 每托件数(每托重量 lbs)+ 尾托 × 余件
【方案2 · 最大化】每层 X × Y 层 → 每托 Z 件;需 N 托(竖放标注风险)
[长条形] 提示:长条形产品不允许竖放(会倒),以方案1 为准
[混托] 先满托单打:产品A X满托+尾货R件、产品B Y满托+尾货S件;尾货再拼(都有尾货且高度/重量放得下→拼一托省1托)
[超标] 标准盘放不下 → 切拼接大托盘 80×48 / 96×40 各出方案 + 建议托盘
[重量] 单件重 × 件数 = 产品总重;+ 托盘自重 × 托数 = 打托后总重边界与陷阱
- 单位不统一:cm 与 inch 混用会错 2.54 倍,先换算统一。
- 限高含托盘:不要用限高直接除以产品高,要先减去托盘高度。
- 底面放不下:若产品任一底面边长 > 托盘长/宽,则该朝向每层 0 件,方案自动跳过。
- 单个产品高度 > 可用堆高:平放即无法装载,输出「无法装载」而非给 0 托。
- 长条竖放:即使方案2 件数更高,长条产品仍须提示会倒、不推荐采用。
- 单托限重含托盘自重:可用载重 = 限重 − 托盘自重(FBA 1500−40=1460;非平台 2000−40=1960)。重货每托件数被重量压下来,托盘数比纯体积算的多——这是最易低估的错误,必须看重量口径。
- 超重拒收(⚠️ 注意事项):非平台单托超 2000 lbs 承运商/仓不收;FBA 超 1500 lbs 被拒。算出的每托重量若达到限重,必须在输出里醒目标注「单托接近/超过限重」,并给减件或拆分建议,不能默默给超限托数。
- 重量与压重未计(已补充打托后重量,见第 8 节):本测算只算「尺寸装载 + 自重叠加 + 单托限重」,不评估压坏风险、尾板承重、底层承压;有承重要求需另行确认。
- 平台不默认 FBA(⛔ 用户定调):用户没说平台时,fba(限高72/限重1500) 与非平台(限高85/限重2000) 都算出来对比,差异摆给用户;别先假设 FBA。
- 混托不是全局优化装箱(不求解最优三维排布):只做「满托单打 + 尾货拼一托」,满托永不拆。尾货拼托高度 = 尾货层高之和,超可用堆高或超限重则拼不了。
- 超标产品:标准盘 48×40 平放放不下 → 自动切拼接大托盘 80×48 / 96×40 重算,不建议在标准盘上竖放硬塞(长条竖放会倒)。
验证标准
- [ ] 每托件数 = 每层件数 × 层数,层数 = floor(可用堆高 / 高)
- [ ] 每托件数已取 min(体积件数, 重量件数),重货被重量压下来
- [ ] 所需托盘数 = ceil(件数 / 实际每托件数),最后一托件数公式正确
- [ ] 平台限高用了 72、非平台用了 85,且都减去了托盘高度;单托限重含托盘自重
- [ ] 长条形产品在方案2 出现竖放时,输出了「会倒」提示
- [ ] 满托单打 + 尾货拼托逻辑正确;满托不拆;尾货拼托高度/重量都核过
- [ ] 混托输出 ≥1 个可行方案并标推荐;超标产品未硬混
- [ ] 平台未指定时 fba/非平台都算了对比
- [ ] cm/kg 输入已转 inch/lbs;打托后总重 = 产品总重 + 托盘自重 × 托数;每托重量已列