从零开始,手把手教你用 AD20 打造专业级集成库
在做电路设计时,你有没有遇到过这些“经典翻车”场景?
- 原理图画完了,准备画PCB,结果发现某个芯片的封装名字拼错了,根本找不到;
- 同一个电阻,三个人建了三种不同符号和封装,项目一多就乱成一团;
- 结构工程师说:“你这个元件会撞到外壳!”——可你在二维图里根本看不出来;
- 新同事接手项目,打开库文件一看:几百个
.SchLib、.PcbLib散落各处,完全不知道从哪下手。
如果你点头了,那说明你还在用“原始人”的方式管理元件。而真正高效的电子团队,早就用上了Altium Designer 的集成库(Integrated Library)。
今天这篇文章,不讲虚的,也不堆术语。我会像带徒弟一样,一步步带你把一堆零散的符号、封装、3D模型,打包成一个干净利落、安全可靠、拿来就能用的.IntLib文件。全程基于AD20 环境,所有操作都经过实测验证。
为什么非得搞个“集成库”?普通库不行吗?
先别急着动手,咱们先把“为什么要这么做”讲明白。
Altium Designer 允许你直接使用.SchLib和.PcbLib这些独立库,听起来挺方便,但实际用起来问题一大堆:
| 传统分立库模式 | 集成库模式 |
|---|---|
| 符号和封装是分开的,容易配错 | 编译时自动检查关联性,错一个都通不过 |
| 多人协作时版本混乱,A用的是V1.1,B用的是V1.0 | 输出为单一.IntLib,版本清晰统一 |
| 源文件可编辑,别人能随便改你的设计标准 | .IntLib是加密二进制文件,只读不可逆 |
| 导入工程要一个个加库,麻烦还容易漏 | 一个文件搞定所有元件调用 |
简单说:集成库 = 安全 + 可控 + 高效 + 专业。
尤其当你在一个公司里做标准化建设,或者想把自己的常用元件做成“私藏武器库”,集成库几乎是唯一靠谱的选择。
第一步:画好原理图符号 ——.SchLib
创建新库
打开 AD20,点击菜单:
File → New → Library → Schematic Library
会自动生成一个叫Schlib1.SchLib的文件,右键重命名为你要的名字,比如MyAnalog.SchLib。
添加一个元件
按快捷键Ctrl+W或点击工具栏上的 “Add” 按钮,新建一个元件。双击进入编辑界面。
举个例子,我们来做一个常见的LM358 双运放。
绘制外形
用矩形工具画个框,尺寸大约 12mm × 6mm,符合行业习惯。
放置引脚
LM358 是 8 引脚 DIP 封装,我们需要放置 8 个引脚。
重点来了:
- 引脚编号必须和数据手册一致(Pin 1~8)
- 名称也要准确:比如 Pin 2 是-IN A,Pin 3 是+IN A
- 类型选对电气属性:普通 IO 选Input/Output,电源引脚可以设为Power
⚠️ 特别提醒:如果你想让 VCC/GND 引脚自动连接网络(比如 GND 自动连到底层 GND 网络),记得勾上Hidden Pins,并设置其默认网络名为
GND。
分部件管理(Multi-Part Component)
LM358 包含两个独立运放单元,我们可以把它拆成两个部分(Part A 和 Part B),这样在原理图中可以分别调用。
设置方法:
1. 在左下角“Parts”区域点击“Add Part”
2. 设置 Part A 对应 Pin 1~3, 8;Part B 对应 Pin 4~6, 7
3. 每个部分单独绘制符号,更清晰易读
保存一下,我们的原理图符号就算完成了。
第二步:制作 PCB 封装 ——.PcbLib
新建封装库
File → New → Library → PCB Library
保存为MyFootprints.PcbLib。
查阅数据手册
以 LM358 常见的SOIC-8封装为例,查 datasheet 得到关键参数:
| 参数 | 数值 |
|---|---|
| 引脚中心距(Pitch) | 1.27 mm |
| 焊盘长度 | 1.6 mm |
| 焊盘宽度 | 0.6 mm |
| 总体尺寸 | 4.9 mm × 3.9 mm |
手动创建封装 or 使用向导?
AD20 提供了强大的IPC Footprint Wizard,可以根据 IPC-7351 标准自动生成高质量焊盘。
但对于简单器件,手动创建更快。
手动步骤:
- 切换到 Top Overlay 层(丝印层)
- 用线条工具画出元件轮廓(比实体大 0.2mm 左右,便于识别)
- 切回 Top Layer,放置焊盘
- X-size: 1.6 mm
- Y-size: 0.6 mm
- Grid 设为 1.27 mm,方便对齐 - 所有焊盘编号与原理图一一对应(Pin 1 标记圆点)
占位区(Courtyard)怎么画?
这是很多人忽略的关键点!
占位区表示元件安装后占用的空间范围,直接影响布局布线的安全间距。
建议做法:
- 在Keep-Out Layer或专用Mechanical Layer上绘制矩形
- 尺寸 = 实际外廓 + 至少 0.25mm 安全边距
- 层名建议统一命名为 “Courtyard”
完成之后,保存封装,名字设为SOIC-8_3.9x4.9mm。
第三步:加上 3D 模型,让元件“站起来”
现在大多数元器件厂商都会提供 STEP 格式的 3D 模型(比如 TI、ST、Samtec 官网)。如果没有,可以用 Fusion 360 自己建模。
如何嵌入?
- 打开刚才的
SOIC-8封装 - 菜单选择:Place → 3D Body
- 弹窗中选择:
-Model Type: Generic Step Model
-Height: 输入实际高度(如 1.75mm)
- 浏览并导入下载好的.step文件
关键技巧:原点对齐!
很多新手导入后发现模型“飞出去了”或者歪七扭八,原因就是坐标没对齐。
正确做法:
- STEP 模型的局部原点应该与封装参考点一致
- 对于 SOIC-8,通常以Pin 1 中心或封装几何中心为原点
- 如果模型偏移,可以在“Offset X/Y/Z”中手动调整,直到完美贴合焊盘位置
✅ 建议:完成后切换到 3D 视图(快捷键3),旋转查看是否严丝合缝。
第四步:把所有东西“煮成一锅”——编译生成.IntLib
这才是集成库的“灵魂”所在。
创建 LibPkg 项目
File → New → Project → Integrated Library
会生成一个.LibPkg项目文件,比如叫AnalogDevices.LibPkg。
然后你需要把前面做的两个库添加进去:
- 右键项目 → Add Existing to Project → 添加MyAnalog.SchLib
- 再次添加 →MyFootprints.PcbLib
关联元件与封装
打开MyAnalog.SchLib中的 LM358 元件,双击编辑属性。
找到Footprints区域,点击“Add”,输入或浏览选择SOIC-8_3.9x4.9mm。
这一步非常关键!如果名字拼错一个字母,编译就会报错:“Footprint not found”。
同理,如果有多个封装选项(比如 DIP-8 和 SOIC-8),都可以加进来,用户可在原理图中自由切换。
开始编译!
右键.LibPkg项目 →Compile Integrated Library
AD20 会自动:
1. 解析所有源文件
2. 检查引脚映射
3. 提取 3D 模型
4. 打包成.IntLib
成功后,输出目录会出现一个AnalogDevices.IntLib文件。
你可以把它拖进任意 AD 工程使用,而且无法反编译修改——非常适合企业内部发布。
调试常见坑点与解决方案
我在带新人时,总结了几个最高频的问题,几乎人人都踩过:
❌ 编译失败:“Footprint not found”
- ✅ 检查:原理图元件中的封装名称 是否与
.PcbLib中的实际名称 完全一致(包括空格、大小写) - ✅ 检查:
.PcbLib是否已正确添加到.LibPkg项目中
❌ 3D 模型不见了
- ✅ 检查:是否选择了“Embed Model”?否则路径一变就丢失
- ✅ 推荐做法:将 STEP 文件复制到项目同级目录,再进行链接
❌ 引脚连不上线
- ✅ 检查:原理图引脚编号 是否与 PCB 焊盘编号 匹配
- ✅ 注意:有些封装的 Pin 1 是反着标的!一定要对照 datasheet 确认方向
高阶玩法:自动化构建与团队协作
如果你是团队负责人,或者维护大型元件库,手动编译太低效了。AD20 支持脚本化部署。
用 Delphi Script 实现一键编译
// CompileLib.dsp procedure Run; var Project: IProject; begin // 打开项目 Project := OpenProject('D:\Libs\AnalogDevices.LibPkg'); if Project = nil then Exit; // 编译 Project.Compile; if Project.IsCompiled then ShowMessage('✅ 编译成功!输出路径:' + Project.OutputDirectory) else ShowMessage('❌ 编译失败,请检查错误面板'); end; RegisterProc('Run');把这个脚本交给 CI/CD 流水线,每次 Git 提交自动编译最新版.IntLib,真正实现“持续集成”。
最佳实践建议:如何打造企业级元件体系?
光会建库还不够,要想长期稳定运行,还得有规矩。
✅ 命名规范(必做)
| 类型 | 示例 | 说明 |
|---|---|---|
| 电阻 | RES_0805_1%_1/8W | 封装+精度+功率 |
| 电容 | CAP_1210_X7R_10uF | 封装+材质+容值 |
| IC | IC_LM358_SOIC8 | 功能+型号+封装 |
✅ 参数继承机制
在元件属性中加入以下字段,后续导出 BOM 直接可用:
- Manufacturer(制造商)
- MPN(型号)
- Description(描述)
- Temperature Range(温度等级)
✅ 建立模板库
针对常用类别(如电阻、电容、连接器)建立标准模板,包含预设图层、字体、引脚样式等,大幅提升建库效率。
✅ 定期审查与归档
每季度清理一次旧库,删除未认证、停产、重复的元件,保持库文件精简高效。
✅ 向 Altium Vault 升级(进阶)
对于百人以上团队,强烈建议迁移到Altium Concord Pro或Vault系统,支持:
- 元件生命周期管理
- 权限控制
- 版本追溯
- ECAD-MCAD 协同发布
写在最后:集成库不是功能,是工程思维的体现
看到这里,你应该已经掌握了从无到有创建集成库的完整技能链。
但这不仅仅是“学会了一个操作”。
它背后代表的是:
👉规范化意识
👉复用思维
👉团队协作能力
👉对产品交付质量的责任感
当你不再每次重新画电阻符号,而是从容地从自己打磨多年的.IntLib中调出一个参数齐全、封装精准、带3D模型的元件时,你会感受到一种“匠人般的掌控感”。
而这,正是优秀硬件工程师与普通绘图员的本质区别。
如果你正在搭建公司的元件管理体系,或者只是想为自己打造一套趁手的工具库,那就从今天开始,动手做一个属于你的集成库吧。
📣 小互动:你在建库过程中踩过哪些坑?有没有什么私藏技巧?欢迎在评论区分享交流!