立创EDA + AI 生成 STM32 原理图教程2

📅 2026/7/12 12:12:33
立创EDA + AI 生成 STM32 原理图教程2
第3章 立创EDA 扩展 API 详解3.1 API 架构概述立创EDA专业版提供了一套前端 JS/TS 扩展 API,通过eda对象暴露所有功能。每个扩展是一个独立的 JavaScript 脚本,运行在隔离的作用域内。┌──────────────────────────────────────────┐ │ 立创EDA Pro 编辑器 │ │ │ │ ┌────────┐ ┌────────┐ ┌──────────┐ │ │ │ 扩展A │ │ 扩展B │ │ AI扩展 │ │ │ └───┬────┘ └───┬────┘ └────┬─────┘ │ │ └────────────┼─────────────┘ │ │ ▼ │ │ ┌─────────────────┐ │ │ │ eda 对象 (API) │ │ │ └────────┬────────┘ │ │ ▼ │ │ ┌─────────────────┐ │ │ │ EDA 核心引擎 │ │ │ └─────────────────┘ │ └──────────────────────────────────────────┘3.2 核心 API 类API 类作用关键方法sch_PrimitiveComponent原理图元件操作create()modify()delete()getAll()sch_Document原理图文档操作autoLayout()autoRouting()save()lib_Device/lib_LibrariesList库管理getByLcscIds()search()getAllLibrariesList()dmt_Schematic原理图管理createSchematic()createSchematicPage()sch_Net网络管理网络创建和连接sch_Drc原理图DRC检查check()pcb_DrcPCB DRC检查check()createDifferentialPair()dmt_EditorControl编辑器控制openDocument()zoomToAllPrimitives()generateIndicatorMarkers()3.3 元件创建基本流程import{eda}from'@jlceda/pro-api-types';asyncfunctionplaceComponent(){// 1. 创建元件对象constcomp=eda.sch_PrimitiveComponent.create();// 2. 设置属性comp.setSupplierId("C8304");// LCSC 编号(STM32F103C8T6)comp.setDesignator("U1");// 位号comp.setX(3000);// X 坐标(单位: 0.01 inch)comp.setY(3000);// Y 坐标comp.setRotation(0);// 旋转角度comp.setAddIntoBom(true);// 加入 BOMcomp.setAddIntoPcb(true);// 转换到 PCB// 3. 确认创建(必须 await)awaitcomp.done();console.log("元件已放置");}⚠️关键注意:所有写操作(create/modify/delete)都是异步的,必须await .done()才能确认变更保存到设计文档。不能使用Promise.all并行创建元件,必须串行await。3.4 坐标系统设计域坐标单位说明原理图/符号0.01 inch如setX(3000)= 30 inchPCB/封装mil如setX(10000)= 10000 mil使用convertCanvasOriginToDataOrigin()和反向方法进行坐标转换。3.5 extension.json 配置{"name":"ai-schematic-agent","uuid":"","displayName":"AI 原理图 Agent","description":"AI驱动的原理图自动绘制与设计检查","version":"1.0.0","publisher":"Your Name","engines":{"eda":"^2.3.0"},"categories":["Schematic","PCB"],"entry":"./dist/index","headerMenus":{"sch":[{"id"