R2 底板:补 6 条自由丝印(插槽 NOT PCIe 警告 + J1/J23 接口标注)

板上 pcb_PrimitiveString 原本 0 条 —— 方案 §5.2 要求的插槽警告、J1/J23 的接口标注
一直只写在原理图说明文字里,从没落到 PCB。

已补并读回核对 6/6:
- PWR 20V  L4 (12.500, 1.800)    J1 与 J23 同一颗 USB-C 座,插错要能看出来
- USB      L4 (84.250, 1.800)    J23 是 Hub 上行口
- NOT PCIe - PhoneRail blade only  L3 (49.000, 79.480)
- NOT PCIe ×3  L3 (36.000,18.520) / (62.000,38.840) / (45.000,59.160)
  完整句只放得下一条,其余槽间放短标 ⇒ 五个槽每个都邻着一条。

三条坑(已写进 R2 §39.5):
- ⛔ 丝印压铜不算冲突(铜上有阻焊)。第一版把压铜也当冲突,六个候选位全军覆没,
  看着像「板上没地方放字」。真正要避的只有 焊盘 / 过孔 / 位号 / 安装孔 / 板框外。
- ⚠ alignMode 要显式传 5(CENTER),不传默认不是居中,字会整体偏出去;
  位号 Attribute 用的 3 是另一套口径。
- ⚠ 核对不能拿文案当字典 key:NOT PCIe 有三条,同名互相覆盖 ⇒
  「6 条都建上了」却报成「4/6 对上」。按 文案+坐标+层 配对。

新工具 silk_str.py:自带落点搜索(0.25 步长 + 偏移上限)、幂等下发、--verify 只读核对。

Co-Authored-By: Claude Opus 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_0168Bu6SEx3cXXCJLkdnE6zB
这个提交包含在:
zhou yang
2026-09-12 12:48:15 +08:00
共同撰写人 Claude Opus 5
父节点 dc4f9b9d1c
当前提交 22d9f31e9b
共修改 4 个文件,包含 294 行新增和 0 行删除
+23
查看文件
@@ -87,6 +87,29 @@
可行性先算过:现字高下 163 个里 161 个有解 ⇒ **不用缩字号**。
### 自由丝印(`silk_str.py`,同日补)
板上 `pcb_PrimitiveString` 原本 **0 条** —— 方案 §5.2 要求的插槽警告、J1/J23 的接口标注,
一直只写在原理图的说明文字里,**从没落到 PCB**。已补 6 条并读回核对:
| 文案 | 层 | 坐标 |
|---|---|---|
| `PWR 20V` | 4(底面,J1)| (12.500, 1.800) |
| `USB` | 4(底面,J23)| (84.250, 1.800) |
| `NOT PCIe - PhoneRail blade only` | 3(顶面,插槽)| (49.000, 79.480) |
| `NOT PCIe` ×3 | 3 | (36.000, 18.520) / (62.000, 38.840) / (45.000, 59.160) |
完整句只放得下一条,其余槽间放短标 ⇒ **五个槽每个都邻着一条**。字高 1.2 / 线宽 0.15。
**三条坑**:
1. ⛔ **丝印压铜不算冲突**(铜上有阻焊,油墨正常印在上面)。第一版把压铜也当冲突,
六个候选位全军覆没,看着像「板上没地方放字」。真正要避的只有
**焊盘 / 过孔 / 位号 / 安装孔 / 板框外**。
2. ⚠ **`alignMode` 要显式传 5(CENTER)**,不传默认不是居中,字会整体偏出去。
位号 `Attribute` 用的 3 是另一套口径,别照抄。
3. ⚠ **核对不能拿文案当字典 key**:`NOT PCIe` 有三条,同名互相覆盖 ⇒
「6 条都建上了」却报成「4/6 对上」。按**文案 + 坐标 + 层**配对,配上一条消费一条。
## ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ 2026-09-12(收尾):按用户最新布局**重布风扇窗口并已下发** —— 窝内只差 J27.4
用户:「将底板按照现在我的布局重新布线」→ 选「风扇窗口整体重布(拆掉那 43 段重来)」+「GND 回流孔一起补」。