easyeda/pro-api-sdk

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

Open

#34 geöffnet am 6. Juli 2026

Auf GitHub ansehen
 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (26 Forks)auto 404
help wantedseems like AI

Repository-Metriken

Stars
 (52 Stars)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

环境

  • 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