1. 项目概述:当自然语言遇上AD二次开发
在电子设计自动化(EDA)领域,Altium Designer(简称AD)作为主流的PCB设计工具,其二次开发能力一直是工程师提升效率的利器。但传统开发方式需要掌握DelphiScript或VB Script,这对非专业开发者构成了不低的门槛。最近我们团队基于DeepSeek Coder代码大模型,构建了一套自然语言驱动的AD智能脚本助手,实现了"说什么就做什么"的开发体验。
这个项目的核心价值在于:通过自然语言描述需求,系统自动生成可立即执行的AD脚本代码。实测中,原本需要2小时手动编写的封装生成脚本,现在用自然语言描述30秒就能获得完整可用的代码。特别是在处理重复性操作(如批量修改元件属性、自动布局布线规则检查)时,效率提升更为显著。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 核心组件构成
系统采用三层架构设计:
- 自然语言理解层:基于DeepSeek Coder的32k长上下文理解能力,解析用户输入的开发需求。例如"为所有0603封装的电容添加0.5mm的禁布区"这类复杂指令。
- 代码生成层:将理解后的需求转换为AD支持的脚本语言(优先使用DelphiScript)。这里采用few-shot learning方式,预置了300+个AD API调用示例作为参考模板。
- 执行反馈层:通过AD的COM接口直接执行生成代码,并将运行结果(成功/失败及错误信息)反馈给模型进行迭代优化。
2.2 关键技术突破点
- AD API知识蒸馏:从官方文档中提取出1,200+个关键API及其使用场景,建立API关系图谱。例如:
delphi复制// 典型API调用示例 procedure AddKeepout; var Board: IPCB_Board; Keepout: IPCB_Keepout; begin Board := PCBServer.GetCurrentPCBBoard; Keepout := PCBServer.PCBObjectFactory(eKeepoutObject, eNoDimension, eCreate_Default); Keepout.Layer := eTopL
