easyeda / easyeda/pro-api-sdk

新建且未重载的 PCB 文档,铺铜 reflow 使用创建时的规则快照——之后写入的规则(读回已生效)不影响 reflow,必须 closeDocument+openDocument 才生效

Open
#34 1 comment 0 reactions 0 assignees View on GitHub
help wanted seems like AI
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.