新建且未重载的 PCB 文档,铺铜 reflow 使用创建时的规则快照——之后写入的规则(读回已生效)不影响 reflow,必须 closeDocument+openDocument 才生效
- Dominant language
- TypeScript
- Stars
- 64
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Description
## 环境
- EasyEDA Pro 3.2.121(macOS)
- 通过扩展内 `eda.*` API 全程无 UI 操作(pro-api-sdk 2026-06 类型声明)
## 现象
新建且从未关闭/重开过的 PCB 文档,铺铜 reflow 使用**创建文档时的规则快照**:之后写入的规则(读回已生效)对 reflow 完全不生效,必须真正 close + reopen 文档后才生效。
## 最小复现
1. `dmt_Board.createBoard()` → `dmt_Pcb.createPcb(boardName)` 新建 PCB(本会话内从未关闭/重开该文档)
2. 放器件、布线后,用 `eda.pcb_Drc.overwriteCurrentRuleConfiguration(config)` 把铺铜间距从 10mil 改到 12mil;`getCurrentRuleConfiguration()` **读回已是新值**
3. 触发铺铜重建(reflow / rebuild)
4. 实测:reflow 仍按**创建文档时的规则快照**执行(间距按旧值 10mil)。写规则、删除重灌铺铜、tab 切走切回,全都不影响 reflow 结果
5. 只有 `dmt_EditorControl.closeDocument(tabId)` + `dmt_EditorControl.openDocument(uuid)`(真正关闭+重开文档)之后,reflow 才读取当前规则
已重载过的文档(例如经历过应用重启的板)写规则**即时生效**——「同一工程两块板行为不同」即源于此,排查时非常有迷惑性。
## 叠加问题(快照态特有)
- 快照态 reflow 对配置间距打约 3% 折:配置 10mil,实测按 ~9.7mil 执行
- 快照态 reflow 不生成热焊盘(thermal relief)
- 文档重载后两者都恢复正常
## 期望
写入规则后 reflow 立即使用当前规则;或提供主动刷新文档规则缓存的 API(不必 close + reopen 文档)。
## 相关(可另开 issue)
`overwriteCurrentRuleConfiguration()` 若传入 `getCurrentRuleConfiguration()` 的完整返回值 `{name, config}` 会**静默失败**(resolve `undefined`,规则不变),必须传 `.config` 裸内容——建议做参数校验直接报错,而不是静默吞掉。
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.