功能概述
easyeda-api 是嘉立创EDA专业版(EasyEDA Pro)的官方编程接口工具,专为AI代理和自动化工作流设计,使开发者能够通过代码直接控制PCB设计、原理图编辑、封装管理、项目操作等核心功能。
核心能力
1. 完整API覆盖
提供120+类、62个枚举、70个接口、19个类型别名的完整TypeScript文档,涵盖:
- DMT_*:项目/文档管理(Project、Board、Schematic、EditorControl等)
- PCB_*:PCB与封装设计(Primitive、Layer、Net、Drc等)
- SCH_*:原理图设计(Component、Wire、Event等)
- LIB_*:库管理(Device、Footprint、Symbol、3DModel等)
- SYS_*:系统功能(Dialog、FileSystem、MessageBus、IFrame等)
2. WebSocket实时桥接
通过Node.js桥接服务器(端口49620-49629),在运行中的EasyEDA Pro客户端内直接执行JavaScript代码,实现毫秒级反馈的实时调试体验。
3. 扩展开发支持
不仅支持Live调试,更完整支持EasyEDA扩展(.eext)开发,提供扩展特有的运行时约束文档、API调用模式、以及主进程与iframe间的数据通信方案。
显著优点
- 官方维护:嘉立创EDA官方出品,API与软件版本同步更新
- 类型完备:完整的TypeScript定义,开发时智能提示与类型检查
- 实时调试:代码即时在EDA客户端执行,无需编译/打包/重启
- 多窗口支持:可同时连接多个EasyEDA窗口,灵活切换操作目标
- 生产就绪:支持扩展打包发布至官方扩展市场
潜在局限
- 版本锁定:仅兼容EasyEDA Pro桌面版(专业版),不支持标准版
- 运行依赖:需要Node.js 18+环境,且桥接服务器需常驻后台
- 浏览器沙箱:扩展主进程禁止标准浏览器API(localStorage、alert等),必须使用EDA封装替代方案
- 权限受限:部分API受用户许可证/项目设置限制,可能返回null或报错
- 单位陷阱:PCB(1mil)与原理图(0.01inch)坐标单位不同,极易出错
典型应用场景
- 批量生成PCB封装或原理图符号
- 自动化设计规则检查(DRC)与报告
- 跨项目元件库同步与版本管理
- 定制化设计流程工具开发
- 企业级EDA工作流集成
风险提醒
- 务必 await:90%+ API返回Promise,遗漏await将得到挂起的Promise而非结果
- 务必查文档:API签名差异大,禁止凭直觉猜测参数顺序或类型
- 务必开项目:操作文档前必须先打开项目(
openProject),创建≠打开 - 务必选对文档类型:PCB API需激活PCB文档,原理图API需激活原理图文档
适合人群
硬件工程师、EDA工具开发者、PCB设计自动化工程师、电子研发团队的技术负责人,以及需要将EDA流程集成至CI/CD或企业PLM系统的开发者。