说实话,我第一次用Altium Designer 20的时候,最头疼的不是画原理图,也不是布PCB,而是怎么把一个正式的工程从头建起来。网上教程多,但很多都直接从“新建”按钮开始,讲完保存就完了,工程里那一堆文件是什么关系、为什么非要建工程、建完工程还要干什么,完全没讲。结果我一开始直接打开了原理图就画,画到一半发现要改封装,文件散落一地,导出BOM和Gerber的时候完全懵了。
这一篇就专门把“新建工程”这件事掰开揉碎,把我自己踩过的坑、试出来的经验都整理出来。虽然标题写的是AD 20,但Altium Designer从十几版到现在的操作路径基本一脉相承,其他版本同样可以参考。
1. 为什么一定要先建工程,直接新建原理图不行吗
很多新手会这么干:打开AD,点击File -> New -> Schematic,直接开始画原理图。这当然能画,而且界面和建了工程再画没有任何区别。差别在哪儿?差别在文件管理、设计同步和后期输出上。Altium Designer本质上是一个“工程化”的设计工具,它不像某些免费画图软件那样一张原理图就是全部,AD把所有东西都绑定在工程里。
1.1 工程的核心作用:把散装文件变成有机整体
一个完整的设计,不止是原理图(.SchDoc)和PCB(.PcbDoc),还有原理图库(.SchLib)、PCB封装库(.PcbLib)、材料清单输出(BOM)、Gerber制造文件、钻孔文件、PDF图纸、网表(Netlist)等等。这些东西如果散落在文件夹里,光靠人工去对应,后期维护成本极高。尤其是当设计改了几版、零件编号换了几轮之后,没有工程管理的项目就是一片混乱。
工程文件(.PrjPcb)承担的就是“总调度”的角色,它把上述所有文件关联在一起。有了工程,原理图里更新的信息才能正确同步到PCB;有了工程,你才能一键生成BOM,一键输出制造文件;有了工程,你才能在同一个项目里管理多个版本的原理图和PCB。可以说,不建工程,就等于只用到了AD百分之三十的功能。
1.2 工程管理对团队协作和复用的意义
哪怕你只是个人学习者,暂时不涉及团队分工,我也依然建议养成“先建工程”的习惯。这个习惯会让你后面接触更复杂的项目时不至于手忙脚乱。比如我在做一个小型单片机控制板时,用到了STM32最小系统、电源模块、传感器接口三个子模块,如果全部画在一张原理图里,图面会非常拥挤,查找网络和修改逻辑都费劲。正确的做法是在同一个工程里创建多个原理图Sheet,用“网络标号”和“离图连接器”把各个模块串联起来。这个功能的前提就是你必须建立了工程,否则AD不会让你在同一个设计范围内管理多张图纸。
再往后,当你设计的板子需要做版本迭代,比如从V1.0改到V1.1,可以通过工程自带的版本控制功能(配合SVN或Git)做差异对比。虽然这算是进阶功能,但底层的基础依然是工程结构。我见过不少工程师,画了几年板子还是把文件分开存放,每次改版都靠复制整个文件夹,然后手动改名称,万一忘了改版本号,发到板厂的那一版出问题,追溯都无从下手。
2. 新建工程前,先认识一下AD 20的工程文件体系
在开始操作之前,我们要先搞清楚AD 20里面到底有哪些文件类型,以及它们各自的角色。这不是理论空谈,而是为了在创建完工程后,你能看懂文件面板(Projects面板)里那些绿色图标和文件名后缀代表的含义。
2.1 工程文件类型对照表
我用一张表格直观整理一下AD 20中常用的文件后缀和用途,方便大家对照查找:
| 文件类型 | 后缀 | 核心用途 |
|---|---|---|
| 工程文件 | .PrjPcb | 整个设计的入口,记录所有关联文件路径和工程级参数 |
| 原理图 | .SchDoc | 逻辑设计图纸,表达电路连接关系 |
| PCB文件 | .PcbDoc | 物理设计图纸,用于布局布线、制造输出 |
| 原理图库 | .SchLib | 存储原理图符号,供工程调用 |
| PCB封装库 | .PcbLib | 存储PCB封装,供工程调用 |
| 集成库 | .IntLib | 把原理图符号、封装、3D模型等打包成一个文件 |
| 输出文件 | .OutJob | 输出任务配置,一键生成Gerber、BOM、PDF等 |
| 网表文件 | .Netlist | 记录电路连接逻辑,用于仿真或第三方工具交换 |
初学者阶段,最常接触的是前四种,以及最后的集成库。如果你的公司或学习资料提供的是集成库,那么在设计时导入一个IntLib文件,符号和封装就同时挂好,非常省事。不过自己从零建库的能力也一定要掌握,因为实际项目中总有几个特殊元件是库里面找不到的。
2.2 集成库的原理和好处
顺便多说一句,Altium Designer之所以在PCB设计领域那么普及,和它的集成库体系有很大关系。一个集成库文件里,可以封装原理图符号、PCB封装、3D模型、元件的厂商信息、价格、数据手册链接。建好之后一个文件走天下,不用像早期EDA软件那样,原理图符号一个库、封装一个库,还要靠人工去匹配。集成库的设计思路,本质上是把元件的信息集中管理,这样在做BOM导出、物料采购时,可以直接从元件属性里拉出厂商和料号信息,方便太多了。
3. Altium Designer 20 新建工程实操步骤
接下来是重点,我按实际操作顺序,把AD 20里新建工程的每一个步骤和要点写清楚。
3.1 创建PCB工程:File菜单下的关键入口
第一步,在已打开的AD 20软件中,点击左上角的File菜单,然后选择New -> Project -> PCB Project。这里注意,不要选成“Add or Remove Files to Project”或者其它项目类型。AD的Project类型有很多,比如FPGA Project、Multi-board Project、Core Site等,对于绝大多数电路板设计,我们只需要PCB Project。
点击之后,你会看到在左侧的Projects面板中,出现了一个新的Project节点,默认名称是类似“PCB_Project1.PrjPcb”这样。此时工程还是空的,下一步就要重命名和保存。
3.2 保存工程:命名规范和路径管理
在工程节点上右键,选择“Save Project As…”,把工程保存在一个专门的文件夹里。这里有一个非常重要的经验教训:工程路径中绝对不要出现中文字符和空格。Altium对中文路径的支持虽然比旧版本好了一些,但依然存在各种诡异问题,最常见的就是无法保存、元件库加载失败、输出文件生成路径报错。我刚开始学的时候没有注意,直接在桌面建了个“我的工程”文件夹,结果每次打开工程都会弹出找不到Lib文件的错误,排查了很久才发现问题是出在中文路径上。所以一律采用英文字母加下划线的命名方式,比如“My_PCB_Project”,文件夹也统一用英文名。
保存工程时,软件的默认后缀就是.PrjPcb,不需要手动改。命名建议带上版本号或日期,比如“STM32_ControlBoard_V10.PrjPcb”,方便后续迭代管理。不要用最终版、最终版2、绝对最终版这种命名方式,时间久了根本分不清哪个是最新的。
3.3 在工程中新建原理图:Schematic Sheet的操作细节
工程创建好之后,我们需要往里面添加原理图文件。在工程节点上右键,选择“Add New to Project” -> “Schematic”。此时AD会在工程下创建一个新的原理图文档,默认名是“Sheet1.SchDoc”。同样建议立即保存并重命名,把它叫成“Main_Power.SchDoc”或者“MCU_Core.SchDoc”这种有实际含义的名字。当你的设计越来越复杂,一张原理图放不下时,多张Sheet再配合网络标号来连接,就会体会到这种命名方式的重要性。
新建的原理图是空白的,但在开始画之前,强烈建议先设置图纸参数。点击右键 -> “Properties”,在打开的属性面板里找到“Sheet”栏,这里可以修改图纸尺寸(A4、A3、A2等)、标题栏(Title Block)等信息。图纸尺寸的选择要结合电路复杂度:简单的电源模块用A4就够了;如果一张图上放了几十个元件和大量网络标号,建议用A3或A2,避免元件堆叠得太密。
3.4 在工程中新建PCB:PcbDoc的创建和准备
工程里不能只有原理图,还需要一个PCB文件来承载物理设计。同样在工程节点上右键,选择“Add New to Project” -> “PCB”。创建后,AD会打开一个黑色的PCB编辑界面,上面有密密麻麻的网格和白色边框区域。
这个白色边框区域就是你的板子边界所在的工作区域,但默认尺寸并不一定符合你后续的需求。通常的做法是,在后续Layout阶段先画好机械层(Mechanical Layer)的板框,也就是线路板的物理外形。在新建工程这个阶段,PCB文件只需要创建出来,确认它属于当前工程即可,不需要立刻去设置板框尺寸。不过有一个小技巧:在PCB文件里按下快捷键“Ctrl + M”可以打开测量工具,用来量取对象之间的距离;按“G”键可以弹出网格设置菜单,方便在布线前把捕获网格调好。
3.5 保存文件时容易忽略的坑:记住“保存全部”这个操作
新建完工程、原理图、PCB之后,新手很容易只保存了其中一个,其它文件没保存就关了软件,下次打开发现“工程里有个文件找不到了”。正确做法是:在文件菜单里点击“Save All”,或者使用快捷键“Ctrl + Alt + S”,把所有打开的文件一次性保存。这听起来是个很基础的操作,但确实是我见过很多新手反复踩的坑。
另外还要强调,在保存过程中如果AD弹出“Save As”对话框,说明这个文件还从未保存过,你需要选择一个位置。如果关闭软件时AD弹出询问是否保存某些文件的对话框,不要把“Don't Save”当成确认按钮点了。我就有一次在板子画了一半时,被弹窗问是否保存,我习惯性点了不保存,然后整个上午的布线全部白费,那种欲哭无泪的感觉至今印象深刻。建议打开AD后,先按“Ctrl + Alt + S”保存全部,再继续后续操作,养成肌肉记忆。
4. 工程建立后的必做配置:让AD更好用
工程从空白到正式设计,中间还差一个关键步骤——环境准备。很多教程会跳过这一段,但恰恰是这些看似不起眼的设置,决定了你后续画图是顺畅还是别扭。
4.1 单位和网格设置:直接影响绘图精度
在AD中,单位设置是一个极其重要的基础项。在PCB编辑界面里,点击View -> Toggle Units可以切换公制(mm)和英制(mil)单位。一般情况下,原理图用公制millimeter问题不大,但在PCB设计中,很多封装尺寸依然延续英制习惯,比如最常见的电阻电容0402、0603、0805封装,其数字本身就是英制尺寸的含义(0.04英寸x0.02英寸等)。所以PCB设计阶段,很多工程师习惯用mil作为单位。这不是必须统一的,但建议在开始一个项目时,就确定好单位体系,并在整个项目期间保持一致,避免后期出现类似“这个电容封装我看成公制了,结果焊盘尺寸小了整整一倍”的事故。
网格(Grid)设置也同样重要。在PCB编辑界面,按快捷键“G”会弹出捕捉网格和可视网格的设置菜单。推荐把捕捉网格设置为0.025mm(约1mil),这样在移动元件时不会出现“差一点点对不上”的情况。如果你的设计中大量走线使用0.5mm间距(20mil),那网格可以适当增大到0.5mil,保证走线整齐划一。
4.2 原理图优先设置:让符号显示更专业
在原理图编辑界面,点击右上角的“齿轮”图标(或者Tools -> Schematic Preferences),进入原理图属性设置。这里面有几个选项值得调整。第一个是“Options”里的“Ports and Net Labels”,如果你画的原理图涉及模块化设计,建议把网络标号字体调大一些,默认的10号字在复杂图纸上看不清。第二个是“General”里的“Drag Crossing Selection”,建议勾选上,这样框选元件时更符合常规操作习惯。第三个是“Graphical Editing”里的“Always Drag”选项,开启后鼠标拖动元件时,连着的导线不会断开,这对于调整原理图布局非常重要。默认情况下,拖动元件是“移动”,导线会断成两截,每次都要重新连接,非常耽误时间。
4.3 快捷键方案:不同版本的差异和适应方式
如果你的AD 20是从旧版本升级来的,可能已经习惯了旧版快捷键。AD 20延续了几个非常核心的快捷键,比如“V + D”查看整个文档、“P + W”画导线、“P + C”放置元件、“Ctrl + Shift + 滚轮”左右移动视图、“Q”切换单位。在新建工程后,建议花一点时间把快捷键熟悉一下,因为AD的绝大多数操作都有快捷键支撑,鼠标点菜单的效率至少慢一倍。我见过老工程师画板子,左手键盘、右手鼠标,放置过孔、切换走线层次几乎不看菜单栏,效率极高,靠的就是快捷键肌肉记忆。刚开始不要求全记住,每画一次图记住一个高频快捷键,用不了几个项目就能熟练起来。
5. 从新建工程到正规设计的进阶路径
工程建好了,文件结构也理顺了,这时候你的Projects面板里应该是一个干干净净的工程骨架,包含一个.PrjPcb、一个.SchDoc、一个.PcbDoc。这个骨架就是继续一切设计的基础。
5.1 下一步:创建或导入原理图库与PCB封装库
接下来,你要面对的是元件的“来源”问题。AD默认带有一些基础库,但远远不够覆盖实际项目需要。你要么从网上下载现成的库文件,要么自己手动画。这里强烈建议学习阶段自己动手画一套简单的元件库,因为过程中你能理解原理图符号的引脚编号、PIN名称、封装匹配原理。
具体来说,在工程节点上右键 -> “Add New to Project” -> “Schematic Library”,就能新建一个原理图库文件。在库文件里,用“Tools -> New Component”创建一个新元件,然后放置引脚(快捷键“P + P”)。每一个引脚都要填写Designator(引脚编号)和Display Name(引脚名称),这两个信息必须和实际芯片数据手册保持一致,否则后续导入网表时会出现引脚不匹配的错误,比如“Net not found on component”之类的报错,排查起来比较费劲。同样,在工程中新建“PCB Library”,然后在库文件里根据元件实际尺寸画封装图形和焊盘。焊盘尺寸的确定规则是:焊盘直径一般为引脚直径加上0.2-0.4mm,如果是贴片元件,焊盘长度一般比引脚脚趾长出0.5mm左右,这样才能形成可靠的焊点。
5.2 常见误区解析:原理图符号与封装匹配
新手容易犯的一个典型错误是,原理图符号画好了,封装库也画好了,但是没有在原理图符号的属性里正确添加封装模型。这会导致后面原理图转PCB时,一大堆元件因为没有封装而“悬空”。正确操作是:在原理图编辑器里双击一个元件,打开Properties属性面板,在下面的“Footprint”区域点击“Add”,选择你画的封装文件,并确认封装名称与你的目标一致。检查无误后,再执行 Design -> Update PCB Document 才能实现原理图到PCB的正确转换。
5.3 如何利用AD的库文件导入功能提高效率
如果你觉得从零画库效率低,也可以从AD官网或第三方库网站下载现成库文件。AD 20支持导入的文件格式比较多,包括Altium自己的.SchLib和.PcbLib,还有立创商城提供的“AD库”文件、Ultra Librarian生成的库文件等。导入的方法很简单:File -> Import,选择对应格式,或者直接把下载好的库文件拖进工程面板。我个人的建议是,现成库文件用之前一定先“体检”一下,打开封装库确认焊盘尺寸和禁布区是否合理,尤其是电源类器件和大电流器件,很多第三方库为了通用性,焊盘开孔尺寸偏小,如果直接用于大电流设计,打样回来就有炸板风险。
6. 常见问题与排查技巧实录
在新建工程这个环节,虽然操作不复杂,但有一些问题出现的频率非常高,我整理成一份速查表,以后再遇到类似问题可以快速定位。
| 常见现象 | 可能原因 | 解决办法 |
|---|---|---|
| 打开工程文件后,所有原理图丢失 | 保存路径变更,工程找不到文件 | 用“File -> Open Project”重新指定工程路径,确认文件夹完整性 |
| 新建工程路径含中文,无法生成输出文件 | AD对中文路径支持不稳定 | 路径统一改为英文和下划线,历史项目则需要移动文件夹后重新关联 |
| 右键“Add New to Project”里没有Schematic | 当前文档不是工程管理状态 | 先确认是否已建立.PrjPcb工程,且当前在工程节点上操作 |
| 保存文件时一直卡死 | 可能是工程文件过大或软件缓存问题 | 清理缓存(Preferences -> Data Management -> Cache),或删除工程目录下的History文件夹 |
| 原理图能画但无法转到PCB,提示没有有效元件 | 原理图元件没有匹配封装 | 逐一双击元件,在Footprint栏添加封装模型 |
| AD 20打开旧版本工程报错 | 版本兼容性问题 | 用高版本AD打开后另存为“AD 20格式”,再继续编辑 |
| 自定义快捷键突然失效 | 可能触发了恢复默认设置 | 在Preferences里打开Keyboard Shortcuts,逐个确认或重新绑定 |
| 界面字体模糊不清 | 高分辨率屏幕适配问题 | 右键AD图标 -> Properties -> Compatibility -> Change high DPI settings,选择System(Enhanced) |
6.1 工程文件损坏的应急修复尝试
虽然不太常见,但你可能会遇到“工程打不开,提示文件损坏”的情况。如果是从U盘或网盘下载的文件,极可能是传输过程中数据不完整。先别急着重画,可以尝试用文本编辑器(比如Notepad++)打开.PrjPcb文件,观察里面的XML结构是否完整。如果只是局部标签缺失,有时通过手动补全“ ”这类闭合标签就能救回来。这个方法听起来有点野路子,但确实救过我的一个重要的课程设计文件。当然,如果是.PcbDoc文件损坏,能用上述方法修复的概率就很低了,那种情况下只能重新从原理图生成,所以定期备份依然是最重要的。
6.2 备份工程是新手最应该养成的习惯
说到备份,这是我吃过亏的地方。AD工程在绘图过程中会产生大量缓存和临时文件,即使你不小心删除了某个关键文档,只要备份完整,都有后悔药。我建议每完成一个阶段性的设计(比如原理图完成、PCB布局完成、布线完成),就手动把整个工程文件夹复制一份,并修改文件夹名称加上日期和状态标签,例如“STM32_ControlBoard_20241105_布局完成”。不要过度依赖软件的自动恢复功能,因为自动恢复有可能覆盖掉你之前某个正确的版本。这种“手动快照式备份”虽然原始,但在工程实践中极其可靠,操作成本低,转危为安的可能性高。
6.3 关于版本兼容:AD 20和不同版本的协作
目前行业内还有不少人用AD 09、AD 16、AD 17等老版本,而这些版本生成的工程文件新版AD基本上都能打开,只是可能提示一些兼容性信息。反过来,如果老版本软件打开AD 20保存的工程,大概率打不开或者丢失部分新特性数据。这一点在团队协作时尤其麻烦,因为AD 20默认保存格式是“Advanced”格式,老版本无法直接读取。我见过同事发给我一个工程,我打开时提示“Document created with a later version, some features may not be available”,下划线、网络类、规则设置可能丢。解决方法是:尽量统一团队内部的AD版本,如果实在无法统一,则用“File -> Save Copy As”保存为低版本格式(比如AD 16的格式),再传给对方处理。如果是个人学习,就始终使用同一版本软件,避免不同版本混用导致的属性丢失问题。
7. 最后的实操小结:从新建工程开始,养成良好的“项目习惯”
如果把Altium Designer 20看作一门手艺的手工台,那么新建工程就是收拾桌面、整理工具的过程。桌面不收拾,工具乱放,后面画板子一定处处受制。同样,工程结构不规划,文件存放随意,设计越往后越痛苦。现在我每次打开AD,第一步一定是检查当前打开的是不是正确的工程,第二步是确认工程里的所有文件路径都有效,第三步才是开始画图。检查路径最直接的方式,是看Projects面板底部的“File Path”提示,确保显示的路径和实际保存位置一致。
新建工程这件事看起来“没技术含量”,但它决定了你整个设计流程的舒适度。做硬件开发的人,都知道一句老话:“细节决定成败”,项目管理的习惯就是从新建工程这个细节开始养成的。从一开始的命名规范、保存路径规范、文件类型认识,到后面的库管理、版本备份,每一个环节都属于“基本功”。我见过一些基础功扎实的工程师,哪怕遇到再紧急的项目,他们也能快速定位问题、迅速找回历史版本、准确输出制造文件——这些能力都不是画板子画出来的,而是日常习惯积累出来的。
下一篇“AD学习之旅”我准备写一下原理图绘制的基本功,包括元件放置、导线连接、网络标号和ERC检查的实操技巧。如果你正跟着这篇文章建好了自己的第一个AD工程,那么恭喜你,你已经迈出了完整的PCB设计之旅的第一步,后面的路会越来越有意思。