easyeda / easyeda/pro-api-sdk

请求 API:查询 / 监听 PCB 画布「翻转板子」状态(顶面 / 底面视图)

Open
#40 1 comment 0 reactions 1 assignee Claimed by @yanranxiaoxi View on GitHub
enhancement
Dominant language
TypeScript
Stars
64
Forks
26
PR merge metrics
No merged PRs in 30d

Description

## 背景

PCB 编辑器的「视图 → 翻转板子」(快捷键 F)会把画布切换为从底面观看。这是一个视图状态,但目前扩展 API 中没有任何接口可以得知当前画布是顶面视图还是底面视图。

我在 `@jlceda/pro-api-types` 0.4.25 以及 3.2.149 内置的 pro-api 0.2.53 类型定义中搜索了 flip / 翻转 / 视图方向 等关键词,没有找到相关的方法、事件或枚举。此前也通过邮件反馈过,这里公开记录方便跟踪。

## 挡住了什么

我通过一个扩展(easyeda-mcp-pro 的桥接扩展)让外部工具读取 PCB 数据并截取画布图像(例如 `DMT_EditorControl.getCurrentRenderedAreaImage`),再把图像和 API 返回的数据坐标对应起来。

- 画布翻转后,截图相对于数据坐标是镜像的,但扩展无法知道截图是在哪种状态下截取的,只能猜测,或者让用户手动确认。
- 需要描述"左 / 右"、"从正面可见"的提示,无法可靠地对应到用户当前实际看到的画面。
- 用户随时可能按 F 切换,扩展收不到任何通知。

## 请求

1. **读取(最需要)**:例如 `eda.pcb_Document.getFlipBoardState(): Promise`,或返回 `'top' | 'bottom'` 的视图方向。
2. **事件(可选)**:翻转状态变化时的监听,例如 `eda.pcb_Event.addFlipBoardEventListener(id, callFn)`。
3. **设置(可选)**:例如 `setFlipBoardState(flipped: boolean)`,方便扩展在截图前切换到已知状态。

以上方法名只是示例,按你们的命名习惯即可。

## 环境

- 嘉立创 EDA 专业版 / EasyEDA Pro 3.2.149(macOS 桌面版,内置 pro-api 0.2.53)
- 已对照 `@jlceda/pro-api-types` 0.4.25

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.