news 2026/9/29 4:48:31

AD24工程化避坑:库导入、差分走线、DRC与Gerber输出

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AD24工程化避坑:库导入、差分走线、DRC与Gerber输出

1. AD24 真正难的从来不是画图:先把工程骨架和文件关系理顺

我刚开始用 AD24(Altium Designer 24)的时候,最大的感受不是"功能多",而是"不知道东西存在哪"。原理图能画、PCB 能布,但一到换机器、换版本、给别人交接,工程就散架:库找不到、封装对不上、输出的 Gerber 缺层、位号重排把上一版的丝印全打乱了。所以我这套笔记(内部编号 MJX)不从"怎么画一根线"开始,而是先把工程的骨架讲清楚,因为后面 90% 的坑都埋在这一层。

一份 AD24 工程在硬盘上从来不止一个文件。.PrjPcb只是个索引清单,真正的数据分散在一堆文档里:.SchDoc放原理图,.PcbDoc放 PCB,.SchLib/.PcbLib放库,.OutJob放输出配置,PrjPcbStructure记录你在工程面板里整理出来的物理文件夹结构。这个结构文件特别容易被误删——删掉之后 AD 会自动重建一个,但你在工程面板里手动分好的文件夹层级就没了。我踩过一次,一个两百多页的工程整理了两小时的树状结构,重开就变回平面列表。

1.1 一个能活过三个版本的工程目录长什么样

我的习惯是把"工程文件"和"过程产物"彻底分开。过程产物指的是每一次输出都会重新生成的东西,它们不该和源文件混在一个目录里,否则你自己都分不清哪个是"最新正确的那一版"。

MJX_Board/ ├─ MJX_Board.PrjPcb # 工程索引,放根目录 ├─ 01_SCH/ # 原理图 ├─ 02_PCB/ # PCB 与层堆栈说明 ├─ 03_LIB/ # 本工程自用的原理图库、封装库 ├─ 04_OUT/ # 输出(Gerber、钻孔、BOM、贴片文件) ├─ 05_DOC/ # 叠层要求、工艺说明、装配图 └─ 99_BAK/ # 归档的历史版本,不加入工程

这样做的好处是:04_OUT整个目录可以直接打包发给板厂和贴片厂,不用再从一堆源文件里挑;99_BAK可以定期清理或整个压缩归档,不会影响工程打开速度。AD 支持把子目录里的文档加入工程(右键工程 → Add Existing to Project),所以物理目录和工程面板的展示结构可以完全一致,找文件不用猜。

注意:库文件的路径尽量不要用网络盘符或跨盘符的绝对路径。AD 记录的库路径是绝对路径,换一台机器如果盘符不一样,就会满屏 "Footprint not found"。工程自用的库统一放在03_LIB,只引用本工程路径的库,交接最省事。

1.2 那些自动生成的文件夹,别急着当垃圾删

Project Outputs for XXX、__Previews、History、Backup of xxx.SchDoc这几个是 AD 自己生成的,它们在判断"能不能删"上有细微差别。

名称来源建议处理方式
Project Outputs for XXX每次执行输出时生成可随时删,重新输出即可
__Previews原理图/PCB 的预览缩略图可删,打开工程时会重建
History版本控制/备份产生的历史副本确认不需要回溯后删,很占空间
Backup of xxx.SchDoc自动备份文件可在偏好设置里改保留份数和路径
PrjPcbStructure工程面板的物理结构记录保留,删了结构会重排

__Previews这个东西很隐蔽,它是让工程面板能显示原理图缩略图用的,单个不大,但一个上百页的工程能堆出几百 MB。我通常是在交接或归档前统一清一次。

1.3 哪些文件该进版本仓库,哪些坚决不进

如果你用 Git 或者 SVN 管工程,规则很简单:手工编辑过的进仓库,机器生成的排除掉。

要进仓库的:PrjPcb、PrjPcbStructure、SchDoc、PcbDoc、SchLib、PcbLib、OutJob、BOM 模板、以及导出的规则文件(*.RUL)。规则文件特别值得单独导出——在 Design → Rules 对话框里有 Import/Export Rules 按钮,把整套间距、线宽、过孔、制造规则导出成一个文件,下个项目直接导入,能省掉一两个小时的重配时间。

坚决排除的:Project Outputs for XXX/、__Previews/、History/、Backup of *、*.PcbDoc.htm之类的衍生物,以及体积巨大的PcbDoc中间态。如果你在 PCB 里嵌入了完整的 3D 模型,单个PcbDoc到几百 MB 是很正常的事,这类文件建议在装配检查做完之后再版本化,否则仓库会迅速膨胀。

2. 元器件库导入卡壳:从"找不到封装"倒推整条链路

"ad24 怎么导入元器件库"是我被问得最多的问题,也是新手第一次真正卡住的地方。因为 AD 的库体系不像很多 EDA 那样只有一种格式,它至少有四种,各自的使用场景完全不同。搞不清它们的边界,就会一直在"库装了但元件还是红的"里打转。

2.1 四种库格式的适用边界

格式内容特性什么时候用
.SchLib原理图符号可编辑自己建符号、改引脚名
.PcbLib封装(焊盘、丝印、3D)可编辑自己建封装、调焊盘
.IntLib编译后的集成库只读一次性拿到符号+封装,不想改
.DbLib/ 工作区库指向数据库或云端库支持多人共享团队共用一套料号体系

新手最容易犯的错是:拿到一个.IntLib,发现元件改不了,就想各种办法"破解"。其实集成库本质上是编译产物,要改必须回到源.SchLib和.PcbLib,改完放在一个 LibPkg 工程里右键 Compile Integrated Library 重新编译。理解这一点,很多"为什么我改了库但原理图没变"的问题就自然解开了——你改的是源库,原理图里已经放好的那个元件不会自动更新,需要在 Properties 面板里重新指一次,或者删掉重新放置。

2.2 导入外部库的完整操作链与常见报错对照

现在的 AD24 里,文件型库的主要入口在Components 面板左上角的库菜单(那个像汉堡一样的图标),里面能找到 File-based Libraries Preferences,把.SchLib、.PcbLib、.IntLib加进去。加完之后,元件才会出现在面板里可搜索、可放置。

对于第三方格式(比如从别的 EDA 工具导出的库),走File → Import Wizard,按向导一步步选格式、选文件、指定输出目录,最后会生成 AD 的.SchLib/.PcbLib。导入完千万别直接投产,一定要抽查几个封装的实际尺寸,因为格式转换最容易在单位和原点这两件事上出事。

报错/现象常见原因处理思路
Footprint not found封装库没加载,或封装名与库中不一致核对名称大小写、空格、后缀;在 Properties 面板里重新指定
元件是灰色的、带锁图标集成库或工作区元件为只读从源 SchLib 复制一份到本工程库再改
放置后焊盘尺寸整体差 25.4 倍单位换算错误(mil 与 mm)检查封装是否被按 mm 建成了 mil,重做或整体缩放
连线接不上引脚引脚不在栅格上把引脚端点对齐到 100mil 栅格,重画连线
编译后封装自动变回去元件的库链接被"从库更新"覆盖在 Properties 面板里锁定或解除库链接

提示:CAD 库里判断"能不能用"有个笨但有效的办法——把元件放到 PCB 上,用测量的方式量一下焊盘间距和本体外形,和规格书对一遍。我见过太多"库看起来没问题、打样回来贴不上"的案例,都是在这一步偷了懒。

2.3 建库时几个一改就后悔的参数

自己建库时,我最看重的其实是三个不那么起眼的设置,因为它们一旦错了,后面几乎改不动。

第一是符号的原点位置。我习惯让原点落在符号的几何中心,引脚按 100mil 栅格分布。如果原点乱放,元件放置到原理图后每次都要手动挪位置,多页原理图里会乱成一团。

第二是封装的参考原点。贴片器件我统一把原点放在元件本体中心,连接器放在 1 脚。这不是强迫症,而是直接决定后面出贴片文件(Pick and Place)时的坐标。如果一批器件的原点东一个西一个,你最后要么一个个改原点,要么在贴片文件里手工修正坐标表——哪个都比建库时多花五分钟痛苦。

第三是命名规范。我用的格式是"类型_尺寸_补充信息",比如R_0603、C_0805、SOP-8_3.9x4.9mm_P1.27mm。看起来啰嗦,但半年后你回来找封装时,名字本身就把关键信息说完了。

建完库记得跑一遍库自带的规则检查:PCB 库在 Tools 菜单里有 Component Rule Check,能查出重复名、缺焊盘号、重号等问题;原理图库也有对应的检查项。这类检查花十秒,能省掉后面几小时的排查。

3. 原理图到 PCB 之间的三件事:编译、交叉引用、差分对识别

从原理图到 PCB,很多人以为就是点一次"Update PCB Document"。实际上中间有三层信息在传递:电气连接关系、元件的物理对应关系、以及特殊网络(比如差分对)的识别规则。任何一层出问题,都会以"奇怪的报错"的形式冒出来。

3.1 编译工程时 Message 面板到底在说什么

Project → Compile PCB Project(快捷键 C, C)是每次改完原理图必须做的一步。它不是可选项,而是让 AD 把所有图纸串起来、检查连接关系、生成内部网络表的过程。编译结果都堆在 Message 面板里,双击就能跳转到出问题的地方。

我总结下来,报错大致可以分两类:必须改的和可以忽略但要标记的。

必须改的包括:重复位号(Duplicate Designators,通常来自复制粘贴或分通道设计)、悬空网络标签(Net Label 没落在导线上)、元件没有封装、层次化设计里父图端口和子图端口名不一致。这几类放任不管,PCB 阶段一定会出问题。

可以忽略但要显式标记的:单端网络(只有一根引脚的网络,比如预留的测试点)、故意悬空的引脚。这类不要硬压掉报错,而是用 Place → Directives → No ERC 放一个忽略标记,让后来的人一眼看出"这是有意为之",而不是"忘了连"。

还有一点特别容易被忽略:报错的严格程度是可以调的。Project Options里的 Error Reporting 页能改每一类问题的等级,Connection Matrix 页则决定"输出脚接输出脚""输入脚悬空"这类组合算错误还是警告。我刚接手别人工程时,第一件事就是看这两页有没有被改过——有些工程为了"让编译通过"把一堆规则降级成忽略,隐患全在里面。

3.2 Cross Reference 的三种用法,别只会交叉选择

"ad24 原理图 cross ref"这个词被搜这么多次,说明很多人知道有这个功能但没拆开用过。在 AD 里它其实有三层含义,用途完全不同。

交叉选择(Cross Select Mode):原理图里Tools → Cross Select Mode打开,PCB 里同样打开,然后你在原理图里框选几个电阻,PCB 里对应器件就同时高亮。这是最常用的。要注意的是大工程里开着它做全选会很卡,我一般只在定位个别器件时开,处理完就关。

元件交叉引用报告:原理图编辑器的 Reports 菜单里有 Component Cross Reference,生成一份"位号 → 所在图纸"的清单。多页原理图(比如电源一页、MCU 一页、接口一页)时特别有用,想知道 R37 画在哪一页,看报告比翻页快十倍。

导航器(Navigator 面板):按网络、按器件、按引脚浏览,双击直接跳转。配合交叉探测(原理图里用 Cross Probe 工具,或按住 Ctrl 点击对象),能直接跳到 PCB 里对应位置,前提是 PCB 文档已经在同一个工程里打开。

一个小经验:如果你做的是多通道设计(一路电路重复 N 遍),位号会被加上通道索引,BOM 和交叉引用的结果都会跟着变。这类工程在做原理图之前就要想好"是按通道出 BOM 还是合并出",否则到出板阶段再改,丝印、贴片文件、BOM 全部要重来。

3.3 差分对从网络名到可布线的完整链路

差分对能不能布,取决于"AD 是否知道这是差分对"。这条链路是这样的:原理图里网络名带_P/_N后缀(这是默认识别规则)→ 工程选项里开启差分对生成 → 编译工程 → 更新 PCB 时把差分对信息带过去 → PCB 里能在差分对编辑器里看到它们。

如果走完流程,Design → Differential Pairs Editor里还是空的,按顺序排查这几点:

  1. 网络名的正负后缀是否和工程选项里配置的一致。有人习惯用+/-,那就得确认识别规则里包含这种后缀。
  2. 编译是否真的执行成功了。编译没通过,类生成就不会执行。
  3. 更新 PCB 时,ECO 对话框里有没有勾选与网络类、差分对相关的变更项。默认全勾是没问题的,但如果被手动取消过,就会"悄悄丢"。
  4. 是否手工在 PCB 里删过差分对。手工删掉之后,下次更新不一定会自动补回来。

也可以在 PCB 里手工加:打开 Differential Pairs Editor,选 Add,指定正网络和负网络,命名基名。适合临时补一对的情况,但批量做还是靠原理图的命名规则更靠谱。

4. 差分走线实操:规则先行,手速在后

差分走线是 AD24 里最容易被"看起来会了"的功能。真正拉开差距的不是你会不会调出那个布线命令,而是你有没有在动手之前把规则配明白。顺序反了,就会出现"布了半小时发现间距不对,只能全部删掉重布"。

4.1 差分对规则的参数逐个说清

差分对的规则在Design → Rules → High Speed → Differential Pairs Routing里。这里的每一个参数都直接影响出板结果:

  • Min / Preferred / Max Width:单根线的宽度范围。Preferred 是布线时实际用的值。
  • Min / Preferred / Max Gap:两根线之间的边到边间距。
  • Max Uncoupled Length:允许两线"分开走"的最大长度,主要用来限制过孔附近那段不对称的走线。

线宽和间距不是拍脑袋定的,目标阻抗(比如常见的 100Ω)是从板厂的叠层里算出来的。AD 自带层堆栈管理器,里面可以配置介质厚度、介电常数并做阻抗估算。我的做法是:先跟板厂要一份他们常做的四层板叠层参数,用 AD 算一轮,把线宽/间距定下来,再写进规则。直接抄别人工程里的数值,是最容易翻车的一步——同样的线宽,介质厚度差 0.1mm,阻抗就能偏十几欧姆。

与之配合的还有两条规则:High Speed → Length(单根线的长度约束)和High Speed → Matched Lengths(等长约束,用于一组网络或差分对之间的对间等长)。对内的正负等长通常交给差分对布线本身的算法处理,对间等长才需要 Matched Lengths。

4.2 布线过程中的换层、过孔与耦合方式

启动命令在 Route 菜单下的 Interactive Differential Pair Routing。布线过程中有几个操作要养成条件反射:

  • Tab:调出属性对话框,临时改线宽、间距、过孔尺寸。
  • Shift + Space:切换拐角模式(45 度、圆弧、任意角度)。高速信号我一般用 45 度或圆弧,直角尽量不用。
  • 小键盘的 + / -:切换信号层。换层时会自动成对打过孔,具体行为跟层堆栈设置有关,建议先在废板上试两次再上正式板。
  • 退格:撤销上一段走线,比整段删掉重来快得多。

几个判断标准,比任何参数都实用:

参考平面是否完整。差分对虽然抗共模干扰能力强,但跨分割一样会让回流路径断裂,辐射和眼图都会变差。布线前先确认这对线下面的地平面是完整的,换层时两边的参考平面最好是同一网络。

过孔位置尽量对称。两根线上的过孔如果一前一后隔很远,那一段就是"未耦合长度",正是 Max Uncoupled Length 要限制的东西。理想情况是两个过孔并排,间距和线的间距一致。

耦合方式别强求全程紧耦合。边沿耦合(同层并排)最常见、最好做;宽边耦合需要叠层支持,一般用不上。实际上更重要的是同层、等长、间距稳定,而不是把间距压到极限。

4.3 等长绕线与长度规则的配合

绕线用 Route 菜单里的 Interactive Length Tuning。启动后按 Tab 能调出参数:目标长度、最大振幅、间距、绕线样式(Trombone、Accordion、Sawtooth)。

我的经验是:振幅尽量小、间距尽量大、绕线位置尽量靠近信号源头。原因很直接——振幅大意味着每一段折线更长,线间耦合和阻抗不连续更明显;间距小会让相邻两段绕线互相耦合,把辛苦做的等长效果抵消掉一部分。一般我会控制绕线间距不小于线宽的 4 倍,振幅控制在两三倍线宽以内。

另外提醒一点:绕线尽量避开过孔密集区和电源分割区,那些地方的参考平面本来就不干净,再叠上密集的折线,等于把问题放大。

想看长度数据,有两个入口:PCB 面板切到 Nets 模式,点某个网络能看到已布长度;或者用 Reports 菜单里的测量选项对选中的走线做测量。出板前我会把所有关键差分对的长度列成一张表核对一遍,特别是对间等长,偏个几十 mil 有时候就是时序余量的问题。

5. 手速与排错:把 AD24 的快捷键用成肌肉记忆

"ad24 快捷键"这类搜索量一直很高,但我想说的是,快捷键的价值不在数量,而在"不用想就能按出来"。下面这些是我真正每天都在用的,不确定的命令我更建议你去菜单里找一次,然后自己分配一个顺手的键。

快捷键作用使用场景
Shift + S单层显示模式检查内层走线、看单层丝印
L打开视图配置(层与显示)快速隐藏无关层
2 / 3切换 2D / 3D 视图装配检查、结构干涉
Q切换单位(mil / mm)出图前确认单位
V 然后 D适应文档打开图纸先看一眼全貌
V 然后 F适应板子PCB 定位
J 然后 C跳转到指定元件按位号快速定位
J 然后 N跳转到指定网络查某个网络的走线
M 然后 M移动对象拖动器件
P 然后 T放置走线布线
P 然后 V放置过孔手工补过孔
Tab放置/布线时编辑属性临时改线宽、间距
Shift + Space切换走线拐角模式布线
Ctrl + M测量距离核对尺寸
Shift + C清除当前过滤器高亮/过滤后复位
Shift + F查找相似对象批量修改同类元件
T 然后 D设计规则检查(PCB)出图前必跑
D 然后 R打开规则对话框(PCB)配规则
C 然后 C编译工程改完原理图
C 然后 O工程选项改错误等级、类生成设置

5.1 找不到命令时,用"自定义"而不是硬背

AD 的菜单层级很深,我的做法是:常用命令如果没记住快捷键,就在工具栏上右键 → Customize,打开命令列表搜名字,然后双击那条命令分配一个快捷键。给自己定一条规矩——只为每天用三次以上的命令分配快捷键,否则键位会被占满,反而记不住。

鼠标操作也有几个值得练成习惯的:单击对象直接选中,按住 Ctrl 单击某个网络可以高亮整个网络(排查短路和串线特别好用),Shift 单击是加入选择集。高亮之后按 Shift + C 回到正常显示,这一步一定要记住,否则新手经常"选着选着就不知道屏幕上什么是什么了"。

5.2 界面配置的导出与迁移

换电脑、重装、给同事配环境,最痛苦的不是装软件,是把面板、菜单、偏好设置一个个调回来。Preferences 对话框左下角有保存和加载按钮,可以把当前偏好导出成一个配置文件。我每次配好一套顺手的环境,第一件事就是导出这个文件,放到个人资料里,以后恢复只要一分钟。

要注意两件事:一是这个文件只包含偏好设置,库列表和 OutJob 配置不包含在内,需要单独备份;二是不同大版本之间(AD23 到 AD24)能不能直接导入,建议先导入到测试环境验证,别直接覆盖生产环境。

面板布局我也说一个常用技巧:右下角的 Panels 按钮可以调出所有面板,我一般把 Properties 面板固定在一侧常驻,Navigator 和 Messages 收起来按需弹出。屏幕空间有限时,把不常用的面板关掉比缩小它们更有效——AD 的界面刷新也会占用资源。

5.3 过滤器加选择,比一个个点快得多

PCB 编辑器的 Filter 面板支持查询语句,配合"Select"按钮可以实现精准批量选择。这个功能很多人没用过,但上手之后效率提升非常明显。常用的几条:

IsTrack And OnLayer('Top Layer') # 选中顶层所有走线 IsTrack And (Width < 8mil) # 选中所有低于 8mil 的线 IsVia And (HoleSize < 12mil) # 选中孔径偏小的过孔 IsComponent And (Comment Like 'R*') # 按注释选中一类元件

语法里的数值单位跟随当前单位设置,所以用之前先按 Q 确认一下是 mil 还是 mm。另外,选择结果可以通过 PCB List 面板以表格形式查看和批量编辑,改 Comment、改层、批量换封装名都很方便。这类操作比最初级的"一个个双击改属性"快一个量级。

6. 工程越用越卡:缓存、临时文件与日志的清理思路

"altium designer 如何清理缓存"这个问题,背后通常是两种体验:一种是软件打开工程越来越慢,另一种是硬盘莫名其妙少了几十个 GB。这两种情况的处理方式不一样,前者更多是设置问题,后者才是真的文件堆积。

6.1 AD 到底会在哪些地方留东西

大致可以分成四类地方:

第一类是工程目录内的自动生成物,就是前面说的Project Outputs for XXX、__Previews、History。这类最直观,也最容易清理。

第二类是自动备份与自动保存。备份文件的位置和保留份数在偏好设置里搜索 Backup 相关选项就能看到,我一般把它指到工程目录之外的固定位置,并且把保留份数控制在个位数,否则一天下来能堆出一大堆重复副本。

第三类是用户目录下的缓存。AD 会在用户配置目录下保存缩略图、最近文件列表、部分工作区数据的缓存,路径一般与安装版本相关。这个目录不要随手整个删掉,因为里面也含你的偏好设置,删了等于重置环境。

第四类是系统临时目录。各类转换、导入、输出过程都会在系统临时目录里留下中间文件,这些才是真正意义上"可以放心清"的东西,但前提是 AD 已经关闭。

一个原则:清理之前先备份工程,清理的时候先扫描统计再删除。直接按住 Shift 全删,把某个正在用的引用库删掉,第二天会以"元件全红"的形式来找你。

6.2 先扫后删的清理流程(含脚本)

我的流程固定是四步:关 AD → 统计体积 → 备份 → 删除。第一步统计,用 PowerShell 按修改时间看哪些是真垃圾,只统计不删:

# 统计 30 天未修改的文件,先看体积再决定删不删 $target = "$env:TEMP" $cutoff = (Get-Date).AddDays(-30) Get-ChildItem -Path $target -Recurse -Force -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff -and -not $_.PSIsContainer } | Measure-Object -Property Length -Sum | Select-Object @{n='文件数';e={$_.Count}}, @{n='占用MB';e={[math]::Round($_.Sum/1MB,1)}}

看清楚了再删,而且要按类型筛选,不要按整个目录删。工程目录里的Project Outputs for XXX这类是我最常清的目标,因为它通常一个工程就是几百 MB。如果同时维护多个工程,清完之后整个工作盘能空出一半空间。

6.3 关掉几个真正拖速度的开关

有时候"卡"根本不是缓存问题,而是一些实时计算太费资源。跑大板的时候,我会临时关掉几项:

  • 在线 DRC(Online DRC):布线时实时检查规则,几百个网络的板子上会明显卡顿。我的做法是布线期间关掉,阶段性跑一次批量 DRC(T, D),出图前再跑一次完整的。
  • 3D 显示质量:3D 视图里高精度渲染很吃显卡,装配确认完就切回 2D。
  • 层显示:只留当前工作需要的层可见,隐藏的层也会参与部分重绘。
  • 大铺铜:铺铜是多边形计算的重头戏。板子还没定型的时候,我会用Tools → Polygon Pours → Shelve把铺铜挂起,只在需要看效果时恢复(Restore)。这个习惯能让大板的操作手感提升非常明显。

另外提醒一句,定期把工程"另存为一个干净副本"也很有用——长期反复编辑的 PcbDoc 会累积一些冗余数据,另存之后体积和打开速度都会有改善。

7. 出板前的最后一段路:DRC、输出与 Gerber 归档

出图这一步,做对了没人夸你,做错了就是几周时间和一笔打样费。我把这一步当成一个固定流程,每次照单执行,不靠记忆。

7.1 DRC 规则设置的重点与常见误报

Tools → Design Rule Check(PCB 里 T, D)跑之前,先确认Design → Rules(D, R)里该配的规则都配了。规则没配,DRC 跑出来的"通过"没有任何意义。

出图前我至少会确认这些类别:

规则类别关键项我的经验值
ElectricalClearance、Un-Routed Net、Short-Circuit未布线网络必须清零
RoutingWidth、Via、Differential Pairs与叠层阻抗计算结果一致
ManufacturingMinimum Annular Ring、Hole To Hole、Hole Size环宽按板厂能力留余量
ManufacturingSilk To Solder Mask Clearance避免丝印压在焊盘开窗上
ManufacturingMinimum Solder Mask Sliver防止阻焊桥过窄做不出来
High SpeedMatched Lengths、Length关键总线与差分对

常见的误报来源有三个。一是规则优先级:规则列表是从上到下匹配的,你新建的一条"网络类"规则如果放在了通用规则下面,可能永远不生效,而误报就来自那条通用规则。二是Room 的影响:房间里外的规则可能不同,复制粘贴产生的多余 Room 会让检查结果莫名其妙。三是铺铜与焊盘的连接方式:铺铜覆盖焊盘的方式如果没设置好,会报一堆看似"短路"的违规。

处理违规时,我的习惯是先按类型归组,一次性改完一类再看下一类。真正确认可以忽略的(比如某些测试点的丝印),用规则里的例外或者忽略标记来处理,而不是直接"Clear All Violations"——那个按钮点下去,屏幕上干净了,隐患也一起被藏起来了。

规则配好之后,用 Rules 对话框里的 Export Rules 导出成.RUL文件,跟工程一起归档。下一个项目导入,能少走一次弯路。

7.2 Gerber 与钻孔文件的参数逐项说明

Gerber 输出的入口在File → Fabrication Outputs → Gerber Files(如果你的版本把这个入口收进了 OutJob,就按 OutJob 的方式配,参数页面是一样的)。几个关键页:

General 页:单位选 Inches 还是 Millimeters,跟板厂要求一致;格式一般用 2:4;零抑制(Zero Suppression)按板厂要求选。这三项任何一项和板厂默认不一致,都有可能造成尺寸或孔径偏差。我一般在下单前把这三项写进工艺说明里,避免口头沟通出错。

Layers 页:勾选要输出的层。常用层的文件后缀是固定的,板厂一眼就能认出来:

层常见后缀说明
Top LayerGTL顶层线路
Bottom LayerGBL底层线路
Top OverlayGTO顶层丝印
Top SolderGTS顶层阻焊开窗
Top PasteGTP顶层钢网
Mechanical / Keep-OutGM1 / GKO外形与禁布区
DrillDRL / TXT钻孔

阻焊层不用自己画,PCB 里的焊盘开窗由规则统一控制。如果某个焊盘要特殊开窗,改规则或者在该焊盘上单独设,不要手工在阻焊层画图形——后面改封装你会哭。

Apertures 页:嵌入式光圈(RS-274X)保持默认勾选,这样不会额外生成光圈表文件,板厂处理更省事。

NC Drill:走File → Fabrication Outputs → NC Drill Files,单位和格式必须和 Gerber 完全一致(比如都是 Inches + 2:4),零抑制方式也要对齐。这两处不一致是"孔位偏移"最常见的成因。另外把"参考相对原点"勾上,前提是你已经在 PCB 里把原点设在板子的一个角上(Edit → Origin → Set)。习惯把原点放在左下角,板厂核坐标时最省事。

提示:Gerber 生成完之后,一定要回读检查。AD 若带 CAM 编辑器可以直接打开看;如果没有,用本地的 Gerber 查看器核对层数、外形尺寸、钻孔表和原点位置。涉及未公开设计的文件,别随手传到网上的转换服务里。

7.3 把 OutJob 用起来:一次配置,长期复用

File → New → Output Job File会创建一个.OutJob文件,它本质上是"一次配置、长期复用"的输出方案。把 Gerber、钻孔、BOM、贴片文件、装配 PDF 全部挂在里面,输出路径用相对路径(指向工程目录下的04_OUT),以后每次改完板只需要执行一次,全部产物自动生成。

OutJob 最大的价值不是省时间,而是保证每次输出的内容完全一致。手工一份份导出,总会有某次忘了导某一层,或者导出的路径换到了别处。用 OutJob 之后,这类问题从"每次都要小心"变成"结构上不可能发生",而且这个文件跟着工程走,交接给同事也不会漏。

配套的两个输出顺便说一下:

BOM(Reports → Bill of Materials):导出前把列选好——位号、注释、封装、数量、制造商料号、备注。料号字段建议在原理图阶段就填好,不要等出板时再补,那时候人多手杂最容易填错。BOM 模板可以是表格文件,按 AD 的字段语法配置一次,以后一直用。

贴片文件(File → Assembly Outputs → Generates pick and place files):单位建议用 mm,格式 CSV。坐标的准确性取决于封装的参考原点设置,这也是我在第 2 节反复强调原点的原因——库里原点规范,贴片文件就是直接可用;库里原点乱,这一步就是灾难。

最后,交付包我固定包含这些内容:Gerber、钻孔文件、叠层与阻抗要求说明、BOM、贴片文件、装配图 PDF、以及一页"特殊工艺说明"(板厚、铜厚、阻焊颜色、字符颜色、表面处理)。打包成一个压缩文件发出去,命名带上版本号和日期。这个清单我打印出来贴在显示器边上,每次出板照着划勾。

我个人在长期使用中发现,真正让项目出问题的往往不是那些"高深的功能",而是最朴素的流程纪律:库路径统一、原点规范、规则先配再画、出图照单执行。把这几件事固定成肌肉记忆之后,AD24 剩下的部分反而变得很轻。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/29 4:46:33

LED点阵模块驱动原理与STM32实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 4:46:23

DCDC控制方式选择:从原理到物理实现的硬约束决策

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 4:44:41

AXI Memory Mapped to PCIe IP核:FPGA端点设计调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 4:44:35

AI编程 | 2分钟看懂Vibe Coding:用TaoToken统一Key跑通AI编程工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 4:42:49

基于IPFS和以太坊的去中心化文件存储DApp实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/29 4:41:59

杰理强制升级工具4.0:蓝牙SoC芯片救砖与固件恢复实战

先从一次真实的工作经历说起。去年我帮客户做一个蓝牙音箱的返修项目&#xff0c;板子用的是杰理AC6928方案&#xff0c;样机在测试阶段一切正常&#xff0c;结果量产贴片回来后有一批板子在写固件时突然报错&#xff0c;下载到一半提示“芯片无应答”&#xff0c;随后整片板子…

作者头像 李华