easyeda pcb 域(含兼容用 workflow 记录)的当前能力清单 + 待支持路线。定位:AI agent
从原理图同步到制造导出,全程 typed CLI 操作,每步可观测、可校验。
动作目录真值:easyeda actions;流程编排(P0–P10 何时用哪条)见
design-flow.md;
设计规范手册(线宽/间距/过孔/铺铜,DRC 报错的 [规范 §N] 指向)见
pcb-design-rules.md。
| 能力 |
命令 |
说明 |
| 新建板并绑定 |
pcb new-board |
从原理图建板+空 PCB 页并绑定(CLI 版「原理图转 PCB」);--force 对已绑板是破坏性操作 |
| 网表同步 |
pcb import-changes |
原理图 → PCB 增量同步(平台对 API 新增器件是 no-op,首次同步前放完整电路) |
| 单件补挂 |
pcb add-component |
往已有 PCB 加单个器件并连接焊盘网络(绕过失效的增量同步) |
| 文档/视图 |
doc reload / pcb snapshot / pcb view-mode 相关 |
写后读取会标注 stale 风险;权威批次以 save → reload → readback 收尾 |
| 能力 |
命令 |
说明 |
| 板框与原点 |
pcb outline / outline-fit / outline-round / origin get/set |
outline-round 生成含原生 ARC 的闭合锁定板框;outline-get 回读中心线尺寸、半径、线宽、锁定与弧数;origin 只改显示坐标,不移动几何 |
| 角色感知自动摆放 |
pcb auto-place / place-constrained |
卫星贴其所连芯片侧、2 脚件自动转向、间距规则感知;规划后按 blocking 复算合法化(重叠/短路/出框就地重定位) |
| 分区规划 |
pcb floorplan / pcb zones |
S0 spec 驱动的有序带切分(只读)+ 分区认领 |
| 分档记录 |
pcb stage confirm-tier 1-4 / set-assembly |
兼容保留孔→边缘件→主芯片+RF→卫星的历史记录;不决定后续动作能否执行 |
| 布局检查 |
pcb layout-lint |
报告重叠/紧间距/可布性(飞线 MST+交叉)/手焊可达性(no-access)的具体事实 |
| 二层协同求解 |
pcb layout solve/check/render |
纯离线:从完整 board dump 与参数请求生成/独立复验/渲染布局+共同路由候选;solve 输出基线、失败尝试、候选的整板与自动聚焦局部 SVG;固定装配面,支持 TOP/BOTTOM 与最多两个过孔;可用 --apply-project/--apply-doc 输出绑定目标工程/文档的 layout-only playbook,执行前仍须 fresh dump 核对候选来源哈希;本命令本身不写 EDA |
| 布局质量分 |
pcb layout-score |
九维 0-100+逐器件归因(partition/flow-order/edge-io/protection/tidy/compact/rf/routable/clearance),blocking 一票否决;--part 器件聚焦视角;金标准五真板校准(make layout-calibrate) |
| 打分驱动精修 |
pcb refine |
读归因对最弱维做确定性变换,每步复核可回滚;锁定件不动,历史签字档仅作提示 |
| 编组式移动 |
pcb components move 类 |
无状态刚体移动(持久编组见路线 §1) |
| 能力 |
命令 |
说明 |
| 短线启发式 |
pcb route-short |
每网 MST、规则感知线宽(按网络角色给宽)、障碍感知 L 朝向、默认跳电源/地(该铺铜) |
| 离线局部寻路 |
pcb route solve/check --board board.json --from request.json --out report.json |
公共 Go 包 pkg/pcbrouting;TOP/BOTTOM 单层零过孔、直线/45°有界寻路。默认同时输出同名 SVG,显示整板障碍、搜索范围、路径线宽/净距和失败原因;check 另传 --plan plan.json,按独立需求重验;不连接编辑器、不是整板自动布线 |
| 布局/多网反馈闭环 |
pcb layout solve --board board.json --from request.json --out report.json |
pkg/pcbsolve 在每个完整布局投影上共同求解所有需求;先有界回溯路径/排网次序,实际阻挡再驱动完整组平移/声明旋转,总预算耗尽为 incomplete。check 从 move 重建候选;render --from request.json 核对板/请求来源并显示相同机械禁放区,无 --from 的旧调用仍兼容 |
| 关键网先行 |
pcb route-critical |
P7.0 一条命令:电源按层数走 planes/pour → 差分对双源识别成对布线+skew 实测 → 自动 track-lock |
| 逐焊盘铜路径核查 |
pcb net-path --from REF.PAD [--through REF.PAD] --to REF.PAD [--layer 1] |
只读按支持的原始 pad shape + track/arc/via 构图;--layer 在受限图求路并排除物理过孔,回报 requestedLayer/连续路径/层/线宽/过孔数;未知焊盘几何、缺失 arc 回读或 ordered proof 的重叠铜返回 unknown/error,同网名不等于连通,铺铜/PLANE 明确排除 |
| 外部自动布线 |
pcb export-dsn / import-autoroute / pcb autoroute |
Specctra DSN 往返(带禁布区注入),Freerouting 兜底;稠密板默认交编辑器原生自动布线 |
| 拆线 |
pcb rip-up |
按网/按范围拆 |
| 锁定 |
pcb track-lock |
手布关键线锁死,防被自动布线/pour-rebuild 冲掉 |
二层请求可在 layout.groups[] 中添加 translationSearch: {"step":10,"maxDistance":80}(mil);
这会按实际冲突动态搜索让位位置,旧 offsets 继续兼容。自动移动组的全部外部网络必须由
routing.demands 连成完整连接图;缺失时拒绝输入。输出含 attempts[].conflicts、失败时的
partialRoutes、合法候选的 reservations。它们是通道规划,layout Apply 只写器件位置;
已有外部铜的断连、未声明变换及被篡改的预留由 check 拒绝。
| 能力 |
命令 |
说明 |
| 铺铜 |
pcb pour / pour-fit / pour-rebuild |
规则感知内缩;显式 priority 是原生每层插入顺序,0 最高、只接受 0..已有数量,验证同层顺移;SDK getter 仅诊断。pour-fit --replace 默认清跨层同网 pour(顶/底要显式关) |
| 4 层电源树 |
pcb power-planes |
GND+电源各占专用内平面+每焊盘过孔缝合;GND 内层翻成真 PLANE 的验证配方 |
| 缝合/填充 |
pcb via-stitch / pcb fill |
接地缝合过孔阵 / 静态填充;fill 创建核对 fresh ID、网、层、模式、锁定和请求几何,未验证结果保留 ID 并停止 Apply |
| 禁布区 |
pcb region / pcb antenna-keepout / lib footprint region |
板级禁铺/禁走线区;天线创建要求完整规则/层/polygon回读,失败非零并保留实际PID;证明与例外;封装副本可写 region 并保存回读,实例绑定仍须现场核对 |
| 挖槽 |
pcb slot |
板内挖空(MULTI 层) |
| 能力 |
命令 |
说明 |
| 位号避让重排 |
pcb silk-align |
位置感知:4 方向打分避开焊盘/器件体/禁区/板框/其它标签;挤死的如实报告 |
| 自由丝印 |
pcb silk-add / silk-set |
板注/极性标记,层/字号/线宽/旋转/--font-family 可配并回读实际字体;--align --ref 对齐参考 |
| 非电气参考图片 |
pcb image create/list/modify/delete |
PNG/JPEG/SVG 嵌入 DOCUMENT 13;mil、左上角 anchor,创建须给宽或高;不是制造丝印 |
| 矢量图形 |
pcb silk-import-svg |
SVG(logo/品牌)转填充丝印图元,dry-run 预览 |
PNG/JPEG 转制造丝印需要人工调节图稿,不提供自动转换命令;已有 SVG 丝印导入按原契约使用。
| 能力 |
命令 |
说明 |
| 叠层 |
pcb stackup |
2–32 铜层 + 内层类型(信号↔内电层) |
| 规则 |
pcb drc-rules / drc-rules-set --from / net-class list/create / net-classes |
完整规则与真实 EasyEDA 网络类可写入、回读和失败回滚;复数 net-classes 是路由器的启发式线宽表,不能冒充持久化网络类 |
| 检查 |
pcb drc / pcb check / pcb net-path |
官方 DRC + 重建的逐项检查 + 指定焊盘间的只读铜路径证据;dangling pad anchor 按 shape/rotation,legacy 尺寸只用保守几何并在 limitations 说明(报错带 [规范 §N] 指向手册章节) |
| 历史流程记录 |
workflow status/advance |
兼容读取/记录 outline_confirmed、pre_route_passed、post_route_checked;typed action 不再据此拒绝执行 |
- 持久化编组(#173,用户点名):平台无编组 API(UI 组对扩展不可见)→ virtual group 按 documentUuid 持久化,
pcb group list/create/add/remove/ungroup/move;布局动作默认把组当不可拆刚体。与原理图侧同方案同期实现。
- 接插件逐脚丝印
pcb silk-pins(P9):端子/排针按脚自动标网络简称,辅助接线;8 条设计标准即校验门(几何+语义双查)。见 FEATURES.md roadmap。
- tidy-lint / tidy(#153):布局/丝印一致性审计与一键 cleanup。
- 2D/3D 渲染切换
pcb view-mode(#169):snapshot 前确定性选视图。
- 受控阻抗:平台墙(叠层 Er/介质厚读不到);网长可读,等长/skew 报告可做。
- 泪滴:无 typed API,文档源注入路径未验证。
- 四层联合求解:公共层叠模型已表达有序 signal/plane 和 plane net;旧 dump 只有层数时不推断内层角色。内层平面、跨层过孔与回流共同求解留待下一阶段。
本文只记最终功能形态;实现历史与状态细节见 docs/FEATURES.md。
改动 PCB 命令后请同步本文。