【立即停止 P10-07】用户已决定改为模板式半自动，几何自动识别暂停。
本卡优先执行，不要再继续 P10-07 的选面工作。

P10-07B 模板式半自动：工序模板（参数/刀路/策略预置）+ 用户选区域 + 用户生成刀路

## 用户决策（2026-10-20 12:30）
「如果啃不下，咱们就先暂停这个。采用模版式的。每个工序主要把各个参数、刀路、策略设置好。
我来选择加工区域。再由我来生成刀路。这样半自动，会更好实现。
参数倾向于一刀流，减少跳刀。注意防撞。」

→ **暂停全自动几何识别**（P10-07 的选面部分不再强求），改为模板方案。
→ P10-07 已有的成果（几何 API 探测、区域分类、刀具阶梯、分段）保留复用，不丢弃。

## 一、模板清单（每个模板 = 一套固定参数 + 固定策略）
按用户实际常用工序建模板，每个模板给：刀具类型、余量、S/F（引用 cutting_params）、
切削模式、转移方式、进退刀、避空、刀长校验。

```
TPL_FACE      面铣（平面）
TPL_SIDE      侧面轮廓铣（侧壁）
TPL_POCKET_R  腔体粗加工（留 0.2）
TPL_POCKET_S  腔体半精（留 0.05，可选）
TPL_POCKET_F  腔体精加工（余量 0 或手动）
TPL_ZLEVEL    深度轮廓铣（陡峭侧壁分层）
TPL_DRILL     钻孔
TPL_TAP       攻牙（按刀具名解析规格，M8→497.4rpm/621.7feed）
TPL_HOLEMILL  铣孔（螺旋）
TPL_THREAD    铣螺纹
TPL_SURFACE   曲面（区域铣削）
```

## 二、"一刀流"参数要求（减少跳刀，用户明确）
对每个铣类模板统一设置：
```
步距间转移 (Transfer between passes) = 直接 / Direct（不抬刀）
层间转移 (Transfer between levels)  = 直接 / Direct
进刀方式 (Engage)   = 螺旋(Helix) 或 斜线(Ramp)，禁止垂直下刀
退刀方式 (Retract)  = 最小 / 同进刀
抬刀策略            = 关闭"每层抬刀"、关闭"每次退刀到安全平面"
安全平面 (Clearance)= 仅在换刀/换区域时抬，不逐刀抬
```
并在文档里逐条列出"为什么这样设"，便于操作工理解。

## 三、防撞要求（用户明确）
每个模板必须包含：
```
最小刀长检查：MinToolLen 或等效设置，不足则工序报警
夹持几何：模板中引用刀柄（holder），做刀具/夹持与工件/压板干涉检查
避空距离：默认 2mm，可在模板里改
安全高度：高于毛坯最高面 5~10mm（850 机型 Z 行程 500 内）
下刀前必须到达安全平面，且不得从工件上方斜插
```
文档里附"防撞自检清单"，用户在 NX 里确认后再生成。

## 四、交付物
1. **NX 模板文件**：一套 `.prt`（含预置工序）放在
   `D:\NX_AI\nx_templates\`（先放我们目录，验证后再由用户决定是否注册进 NX）
2. **模板参数表**：`docs\16_工序模板参数表.md` —— 每个模板逐项列出
   刀具/余量/S/F/ap/ae/切削模式/转移/进退刀/避空/适用场景
3. **操作三步说明**：`docs\16_工序模板参数表.md` 末尾附
   「① 打开模板 ② 选加工区域（面/腔体整体） ③ 生成刀路并自检」图文步骤
4. **验证脚本**：`tools\template_check.py`
   - `--list` 列出模板及其关键参数
   - `--check <模板名>` 校验是否满足"一刀流 + 防撞"硬性要求（逐条 print 通过/不通过）
   - `--export-csv` 导出参数表便于审阅

## 五、验收（实测）
1. `template_check.py --list` 输出 11 个模板及关键参数
2. `template_check.py --check TPL_POCKET_R` 逐条打印：转移=直接、进刀=螺旋、抬刀策略、
   最小刀长、夹持、避空、安全高度 —— 全通过
3. 贴出模板 `.prt` 文件路径与大小，并说明如何在 NX 里打开与使用（步骤可复现）
4. 参数表文档里的数值必须与 `data\std\cutting_params.json`（P10-07A 产出）一致；
   不一致要列出差异并说明取舍
5. **人工验证（用户做，我们给清单）**：在 NX 里用 TPL_POCKET_R 选一个腔体、生成刀路，
   贴出工序参数截图 + 刀路存在证据
6. 门禁全绿 + 新增 .py 含 `P2-02 控制台编码护栏`

## 六、与既有卡的关系
- P10-07 继续跑完，但**只要求交探测结论与已通部分**；选面全自动不再阻塞后续
- P10-07A（参数/刀具/材料最优）仍要做，因为模板里的 S/F/ap/ae 要引用它
- P10-08（自检+预览）保留：用户在 NX 模拟之外，用我们的自检做数字校核

## 约束
- 不改 NX 安装目录（模板先放我们目录，注册与否由用户决定）
- 模板里的参数不得与参数库冲突（不一致必须说明）
- 完成后写 `状态\P10-07B.done.json`
