R2 刀片:金手指两侧开台阶(插不进插槽)+ 铺铜补齐并跟着台阶重画

⛔ 根因:禁布区 ≠ 板材。ZONES['finger'] 早写着「槽体 ~9mm 要让开」,但那只是
   「别放件」,板框从来没开台阶 —— outline_pts() 第一段就是 (r,0)→(BW-r,0),
   90 mm 宽的板材一直到 y=0。插槽塑料体只有 39 mm 且两端封闭 ⇒ 插不到底。

板框(用户拍板):舌头 36.0 mm(x 27~63)/ 台阶高 12.0 / 内凹角 R1.0,切掉 648 mm²(10.6%)。
放行核算:被切区里铜 0 / 孔 0 / 焊盘 0 / 器件 0(板上读回与缓存两种口径一致);
7 个定位孔最南 y=14.46 全在板材上;铣穿槽 y 56.86 不受影响。
代价:主板投影底边在舌头两侧悬空 1.0 mm,靠 7 个 M1.6 尼龙立柱压住,无害。

铺铜:抓板发现板上只有 11 块(L1/L4 的 GND 底填整层缺失,而记录写的是 25/25)。
补齐后按台阶重画成 31 块(L2 11 + L1 9 + L4 9 + L3 两岛),填充 31/31,DRC 间距 0 条。
+12V 岛改成阶梯形单环:舌头段仍下探 y=9.0 接 12V 三指 launch 孔,东段抬到 12.5,
断面 11.0 → 7.5 mm(1 oz 内层约 5.1 A,需求 1.5 A 峰值)。

两条判据上的坑:
- 阶梯形多边形不能按包围盒判越界(+12V 岛会误报)⇒ 改成逐边 0.25 mm 采样。
- pcb_pour.inner_poly()/outer_poly() 是死函数,plan() 只用 gnd_tiles()。

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0168Bu6SEx3cXXCJLkdnE6zB
这个提交包含在:
zhou yang
2026-09-12 12:36:36 +08:00
共同撰写人 Claude Opus 5
父节点 312089326e
当前提交 dc4f9b9d1c
共修改 4 个文件,包含 304 行新增和 53 行删除
+47
查看文件
@@ -7,6 +7,53 @@
- 底板入口为 `.claude/r2/remote_route.ps1`;`route_base.py` 已加本机硬阻断,避免新会话误跑。
- **刀片**入口为 `bash .claude/r2/remote_blade.sh ['变体' ...]`(2026-09-11 新加);`router.py --replan/--pf` 同样本机硬阻断。
## ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ 2026-09-12:刀片金手指两侧开台阶(**插不进插槽**)+ 铺铜补齐(都已下发)
用户:「解决刀片板与插槽干涉的问题,完善刀片板铺铜」→「金手指两侧没有开槽,应该会插不进插槽」。
### ⛔ 根因:禁布区 ≠ 板材
`ZONES['finger']` 早就写着「金手指区 11 mm(**槽体高度 ~9 mm 要让开**)」,
但那只是**禁布区**(别放件),**板框从来没开台阶** —— `outline_pts()` 第一段就是
`(r,0) → (BW-r,0)`,整块 90 mm 宽的板材一直到 y=0。而插槽塑料体只有 **39 mm 且两端封闭**
⇒ x<29.5 / x>68.5 的板材压在塑料体两端壁上,**插不到底**。PCI-E 卡在这一段必须是「凸」字形。
### 定稿(用户拍板)与放行核算
| 项 | 值 |
|---|---|
| 舌头 | **36.0 mm**(x 27.00~63.00);金手指本身跨 33.70,两侧各余 1.15 |
| 台阶高 | **12.0 mm**(槽体 ~9,余 3)|
| 内凹角 | **R1.0**(外形铣刀下不去直角)|
| 切掉 | **648 mm²**,占 10.6% |
被切区里 **铜 0 / 过孔 0 / 焊盘 0 / 器件 0**(板上读回 + `_blade_pads.json` 两种口径一致);
7 个定位孔最南 `H5` y=14.46 全在板材上;两条铣穿槽 y 56.86 起,不受影响。
⚠ **唯一代价**:手机主板投影底边(`PHONE_ORG.y = 11.0`)在舌头两侧悬空 **1.0 mm**
(左 x 1.50~27.00 / 右 x 63.00~68.59,合计 31.09 mm²)。主板靠 7 个 M1.6 尼龙立柱压住、
不靠边缘托 ⇒ 无害。`selfcheck` 已改成判「悬空量 ≤ 1.5」+「定位孔不许落进台阶区」。
### 铺铜:原本外层整层缺失,现已补齐并跟着台阶重画
抓板发现刀片上只有 **11 块**铺铜(L2 九块 + L3 两岛)——**L1 / L4 的 GND 底填全都不在板上**,
而交接记录写的是"铺铜 25/25"。先补齐到 25 块,开台阶后重画成 **31 块**
(L2 11 + L1 9 + L4 9 + L3 两岛),**填充 31/31**;刀片 **DRC 间距错误 0 条**。
- 新常量 `pcb_pour.STEP_POUR_Y = 12.5`(舌头两侧的铜下沿);`gnd_tiles()` 的竖条切分点加入舌头两端。
- **`+12V` 岛改成阶梯形单环**:舌头段仍下探 y=9.0 接 12V 三指的 launch 孔(x 28.5~30.5 / y 11.75,
全在舌头内),舌头以东抬到 12.5;断面 11.0 → **7.5 mm**(1 oz 内层 ≈ 5.1 A,需求 1.5 A 峰值)。
### 三条坑
1. **禁布区不等于板材** —— 见上,这次就是栽在这上面。
2. **阶梯形多边形不能按包围盒判**:给 `selfcheck` 加「铜不许伸进台阶区」时按环的包围盒判,
`+12V` 岛(min y 9.0、max x 84)直接误报 ⇒ 改成**逐边采样**(0.25 mm 步长)。
3. **`pcb_pour.inner_poly()` / `outer_poly()` 是死函数**,`plan()` 只用 `gnd_tiles()`。
改铺铜边界时改那两个不生效,看着像"改了没用"。
⬜ 待用户人眼确认台阶形状与铺铜(图已发)。
## ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ 2026-09-12(定版):底板以**用户自己布好的那版**定稿 + 位号丝印重排(已下发)
用户:「按当前 eda 中底板状态定版,优化丝印放置」「现在 eda 中是我已经布好了的」