很多刚开始用 Cadence Allegro 画 PCB 的工程师尤其是从 Altium Designer 或 PADS 转过来的朋友往往第一个卡住的点就是这个 Class 和 Subclass。打开 Allegro 的界面左侧 Options 面板里密密麻麻的 Board Geometry、ETCH、PIN、VIA右侧显示控制里又是一大堆下拉菜单不少人第一反应是这工具怎么连个“层”都找不到其实这并不是 Allegro 故意反人类而是它采用了和 AD、PADS 完全不同的数据组织方式。简单说AD 里的“层”是一个扁平的概念机械层、信号层、丝印层各管各的而 Allegro 把“层”拆成了两个维度Class 管大类Subclass 管具体用途。这个设计一旦理解了你会发现它在复杂板卡的工程管理、光绘输出、团队协作方面比传统分层方式要严谨得多。这篇文章就围绕 Class 和 Subclass 这个概念把这套数据组织逻辑从原理到实操完整过一遍包括怎么理解、怎么自定义、怎么配合颜色管理和光绘输出以及我这些年实际踩过的一些坑。不管你是刚接触 Allegro 的新手还是用了很久但对这个概念有点模糊的老手这篇文章都能帮你把这块彻底打通。1. 先搞懂 Allegro 的“层”为什么长这样1.1 数据组织的底层逻辑要理解 Class 和 Subclass先忘掉“图层”这个固有概念。在 Allegro 里每一个图形元素走线、铜皮、文字、板框等都归属于一个 Class这是它的第一层身份同一个 Class 下又可以按不同用途细分出多个 Subclass这是它的第二层身份。两者组合起来才构成一个完整的“显示层”或者“输出层”。打个比方可以把 Class 理解成“文件大类”比如“文档”“图片”“视频”Subclass 则是具体子目录比如“文档”下分“合同”“简历”“会议纪要”。你在 Allegro 里要找到一条丝印文字得先知道它属于 COMPONENT VALUE 这个 Class再看是放在 SILKSCREEN_TOP 还是 SILKSCREEN_BOTTOM 这个 Subclass。这种结构最大的好处是不同性质的数据可以互不干扰地叠放在同一个物理区域但在显示、编辑、输出时可以精确筛选。比如板框外形BOARD GEOMETRY/OUTLINE和走线ETCH/TOP在同一个坐标位置但它们各自归不同 Class你编辑板框时绝对不会误伤走线。1.2 为什么要用“类子类”而不是一层到底用过 AD 的朋友都知道AD 里一层就是一层机械层可以随便加名字自己起。这在简单板上没问题一旦遇到多层板、盲埋孔、埋阻埋容、复杂丝印标注层数一多层的管理就容易乱套。Allegro 的 Class/Subclass 结构本质上是为大型复杂 PCB 设计准备的一套强分类体系。它有四个明显优势每个 Class 有明确的职责边界。ETCH 只放导电图形BOARD GEOMETRY 只放结构信息MANUFACTURING 只放制造辅助信息。不会出现“把走线放在机械层”这种设计事故。Subclass 可以由工程师按需自定义扩展性极强。比如要在板子上标注装配顺序可以在 BOARD GEOMETRY 下新建一个 ASSEMBLY_NOTE 的 Subclass。显示控制更精细。你可以只亮出所有 ETCH 层或者只亮某一根网络的某一层 Segment这在排查短路过孔问题时特别好用。光绘输出逻辑清晰。每个 Gerber 文件由若干个 Subclass 叠加而成你完全清楚每一层带出去了什么内容。这个设计思路放到今天看其实就是数据库里的“按属性分类 按字段检索”。你先定义大类再细分小类最后按需筛选。一旦习惯了这个逻辑再回到 AD 那种扁平层级反而会觉得不够严谨。2. 常用 Class 逐一拆解2.1 核心 Class 和 Subclass 速查表在 Allegro 的显示控制Color/Visibility对话框和 Options 面板里你能看到几十个 Class。实际工程中真正高频使用的其实就下面这十几个。我把它们整理成了一张速查表Class常用 Subclass主要存放内容ETCHTOP, BOTTOM, 内层信号层, POWER/GND 层走线、铜皮、敷铜、静态铜PINTOP, BOTTOM, 内层器件引脚的焊盘VIATOP, BOTTOM, 内层过孔的焊盘BOARD GEOMETRYOUTLINE, SILKSCREEN_TOP, SILKSCREEN_BOTTOM, ASSEMBLY_TOP, ASSEMBLY_BOTTOM, DIMENSION, DFA, DFP板框、丝印标注、装配信息、尺寸标注COMPONENT VALUESILKSCREEN_TOP, SILKSCREEN_BOTTOM, ASSEMBLY_TOP, ASSEMBLY_BOTTOM位号文字RefDesCOMPONENT GEOMETRYSILKSCREEN_TOP, SILKSCREEN_BOTTOM, ASSEMBLY_TOP, ASSEMBLY_BOTTOM, PLACE_BOUND_TOP, PLACE_BOUND_BOTTOM器件外形、占位框、装配外形MANUFACTURING各类制造标记工艺边、MARK点标记、敷铜区标记STACKUP各层名称叠层信息CONSTRAINTALL约束规则区域ANTI ETCHTOP, BOTTOM, 内层禁布区域、铺铜挖空区域BOARD LOGIC各类原理图传递的逻辑信息AUTOSILKTOP / AUTOSILKBOTTOMTOP / BOTTOM自动生成的丝印这张表不用死记你只要建立起一个概念凡是和导电铜皮相关的都在 ETCH、PIN、VIA 这三大 Class 里凡是和物理结构、文字标注相关的都在 BOARD GEOMETRY、COMPONENT VALUE、COMPONENT GEOMETRY 里。2.2 各 Class 的实际用途深入说明先说 ETCH。这是所有 PCB 工程师打交道最多的 Class。Allegro 里的走线、铜皮、敷铜区都属于 ETCH但 ETCH 本身不区分“走线”和“铜皮”区别它们靠的是 Shape 和 Line Segment 的属性。你打开显示控制把 ETCH/TOP 前面的颜色框点掉整个顶层的走线、铜皮、敷铜都会消失。这个时候如果你只是想暂时隐藏某一根走线是不能通过关 Class 实现的得用临时禁用网络的方式。再来说 BOARD GEOMETRY。这个 Class 可以说是 Allegro 里的“杂物间”板框OUTLINE、螺丝孔位置标记、V-cut 标记、装配图框、尺寸标注都在这里。很多工程师会把 BOARD GEOMETRY 当成 AD 里的“机械层”来用意思差不多但 Allegro 的 Subclass 细分更明确。比如 OUTLINE 是真正的板框外形这个 Subclass 在光绘输出和板框切割时必须带上SILKSCREEN_TOP 则和板框周围的丝印标注相关比如板名、日期、版本号。然后是 VIA 和 PIN。这两个 Class 管理的是焊盘和过孔在每一层上的显示状态。有时候你在出光绘时发现过孔没有盖油很可能就是 VIA 类下的 SOLDERMASK_TOP 或者 SOLDERMASK_BOTTOM 没有正确设置。又比如你在内层看到的过孔焊盘形状不对先别急着怀疑封装打开 VIA 类对应层的显示状态和形状参数再判断。COMPONENT VALUE 和 COMPONENT GEOMETRY 这两个 Class 特别容易混淆。COMPONENT VALUE 管的是位号文字就是板上那个 R1、C2、U3COMPONENT GEOMETRY 管的是器件的外形符号、占位框。实际工作中调整丝印字号大小、移动位号位置操作对象都在 COMPONENT VALUE 下如果要改器件外形在板上的显示样式那就要改 COMPONENT GEOMETRY。提示Allegro 里丝印文字有两种来源一种是 COMPONENT VALUE/DEVICE TYPE 自动生成的位号另一种是你在 BOARD GEOMETRY/SILKSCREEN_TOP 下手动加的文本标注。两者在显示和光绘输出时是不同 Subclass别以为在丝印层上看到字就当成一回事。2.3 Class/Subclass 和传统“层”的对应关系为了帮助从 AD 转过来的朋友快速上手我列一个简单的对照表。这个对照表不是百分百精确但能帮你建立初步的映射关系传统称谓AD 中的层Allegro 中的位置顶层信号层Top LayerETCH/TOP底层信号层Bottom LayerETCH/BOTTOM顶层丝印Top OverlayBOARD GEOMETRY/SILKSCREEN_TOP COMPONENT VALUE/SILKSCREEN_TOP底层丝印Bottom OverlayBOARD GEOMETRY/SILKSCREEN_BOTTOM COMPONENT VALUE/SILKSCREEN_BOTTOM阻焊层Top SolderPIN/VIA/SOLDERMASK_TOP走线一般不要求开窗助焊层Top PastePIN/VIA/PASTEMASK_TOP机械层Mechanical 1BOARD GEOMETRY/OUTLINE装配层AssemblyCOMPONENT GEOMETRY/ASSEMBLY_TOP 等禁止布线层Keep-OutBOARD GEOMETRY/OUTLINE或 ANTI ETCH 区域记住一个关键点在 Allegro 里走线只存在于 ETCH Class阻焊、助焊的开窗是以 PIN 和 VIA 的 Subclass 形式存在的。所以你在 AD 里那种“在 Top Solder 上画一条线来开窗”的做法在 Allegro 里是不成立的。Allegro 的开窗要么靠焊盘本身的属性要么靠禁布区配合敷铜挖空或者用 Shape 覆盖的方式。3. Subclass 的命名规则与自定义方法3.1 默认 Subclass 的命名规则Allegro 自带了一套默认的 Subclass 命名这套命名遵循一个基本规则Subclass 名称由前缀和用途组成前缀一般代表所在面或类型。比如TOP / BOTTOM顶层 / 底层INNER_1、INNER_2内层SILKSCREEN_TOP / SILKSCREEN_BOTTOM顶层 / 底层丝印ASSEMBLY_TOP / ASSEMBLY_BOTTOM顶层 / 底层装配PASTEMASK_TOP / PASTEMASK_BOTTOM顶层 / 底层助焊SOLDERMASK_TOP / SOLDERMASK_BOTTOM顶层 / 底层阻焊PLACE_BOUND_TOP / PLACE_BOUND_BOTTOM顶层 / 底层器件占位OUTLINE板框DIMENSION尺寸标注这套命名直观且具备对称性顶底层一目了然。你在自定义时最好也遵循类似习惯比如在 BOARD GEOMETRY 下新建 SOLDER_FIDUCIAL_TOP别人一看就知道是顶层工艺边 Mark 点标记。3.2 如何新建自定义 Subclass新建 Subclass 有两种常用方式。第一种通过菜单 Setup → Subclasses... 打开 Subclass 管理对话框。在这里你可以选择任意 Class然后在右侧输入新 Subclass 名称点击 Add 就创建成功。这里要注意名称不能超过 31 个字符不能包含空格和特殊符号比如斜杠、方括号否则系统会拒绝创建。第二种直接在设计窗口里右键选择 Add Subclass然后在弹出的 Class 下拉框里选定目标 Class再输入名称。这个方式适用于正在画图时临时需要加一个存放标注的 Subclass比打开菜单更快。实际工程中我经常在 BOARD GEOMETRY 下新建以下自定义 SubclassBOARD GEOMETRY/TOOLING_HOLES存放工具孔、定位孔标记BOARD GEOMETRY/V_CUTV-cut 分板标记BOARD GEOMETRY/IMPORT_INFO存放结构工程师给的导入信息BOARD GEOMETRY/NOTE_TOP板面上的说明文字比如阻抗要求、表面处理要求注意自定义 Subclass 并不是越多越好。每多一个 Subclass你在颜色管理、光绘输出时的配置工作量就多一分。建议在项目开始时统一规划好中途不要频繁增删否则容易在出 Gerber 时漏掉某个 Subclass。3.3 Subclass 使用的工程管理经验这里分享一个我自己的经验。在多部门协作的板卡项目里结构工程师、PCB 工程师、工艺工程师都会往板子上加标注信息。如果没有约定好 Subclass 使用规范各画各的最后导出的光绘文件层数会变得非常混乱。比较好的做法是在项目启动时由 PCB 负责人统一制定一份 Subclass 使用清单明确每个 Subclass 放什么内容禁止随意嵌套。比如要求所有板框信息必须放在 BOARD GEOMETRY/OUTLINE所有 V-cut 必须放在 BOARD GEOMETRY/V_CUT结构工程师提供的 DXF 导入文件统一导入到 BOARD GEOMETRY/IMPORT_INFO而不是散落在各个层。另外Allegro 支持通过 Color/Visibility 对话框一键保存和加载颜色状态。在 Subclass 比较多的时候我建议根据不同阶段配置几套常用方案Layout 阶段突出显示 ETCH、PIN、VIA弱化丝印和标注布线阶段只显示当前层 ETCH其他层全部关掉检查阶段打开所有涉及光绘输出的 Subclass逐层核对输出阶段按光绘文件所需的 Subclass 组合显示检查是否有遗漏4. 实操基于 Class/Subclass 的显示控制4.1 Color/Visibility 对话框使用详解Allegro 的显示控制集中在 Color/Visibility 对话框快捷键是 CtrlF5 或者在菜单 Display → Color/Visibility 打开。这个对话框左边是按 Class 分类的列表右边是对应 Class 下的 Subclass 列表最右边是颜色选择区。操作逻辑是这样的在左侧勾选某个 Class右侧会显示该 Class 下的所有 Subclass点击某个 Subclass 的颜色块会弹出颜色选择器选完颜色后这个 Subclass 的显示颜色就变了把颜色块前面的复选框点掉或者把颜色设置成 ALL OFF这个 Subclass 就不可见了我建议在开始一个新项目时先花十分钟把常用的显示颜色批量设置好。下面给出我个人的一套配色调色方案仅供参考Class/Subclass推荐颜色说明ETCH/TOP红色顶层走线最常用ETCH/BOTTOM蓝色底层走线ETCH/内层绿色/浅绿交替内层信号ETCH/POWER/GND 层紫色/棕色电源地平面PIN/TOP红色顶层焊盘VIA/TOP红色顶层过孔盘BOARD GEOMETRY/OUTLINE亮黄色板框需要一眼找到COMPONENT VALUE/SILKSCREEN_TOP白色位号丝印COMPONENT VALUE/SILKSCREEN_BOTTOM灰色底层丝印ANTI ETCH/TOP黄色禁布区MANUFACTURING 各类暗绿/暗灰辅助信息尽量不显眼设置完成后可以在 Global Visibility 里选择 All On / All Off快速看整体效果。也可以打开 Global Color 里的 Save 按钮把配置文件保存好。4.2 快速显示控制技巧除了 Color/Visibility 对话框Allegro 还有几个非常高频的显示控制操作只显示当前层走线。在布线时经常需要只看当前层我可以按快捷键把其他层的 ETCH 全部关掉。实际操作是打开 Color/Visibility选中 ETCH只保留当前激活层的 Subclass 打开其他全部点击单元格右上角的小框变成灰色。这个操作看起来简单但布线效率的提升非常明显——少了其它层走线的干扰眼睛不用一直分辨颜色。临时高亮某一网路。高亮操作用的是 Display → Highlight快捷键是 CtrlH。高亮时可以选择高亮整个网络也可以选择高亮某一段走线或某一个焊盘。高亮颜色默认是白色可以在 Color/Visibility 里改 HighLight 的颜色。这里有个小技巧高亮某个网络后再打开 Color/Visibility 里的 Etch 选项把其他无关网络的颜色调暗就能非常清楚地看到这个网络的走向。用 Subclass 快速定位对象。如果你要检查某一段板框尺寸可以在 Find 面板里选择 Board Geometry 下的 Outlines 类型然后框选整块板子只会选中板框不会选到其他东西。这种基于 Class 的过滤选择功能在复杂板卡上特别有用。4.3 我调显示配置踩过的坑第一个坑颜色配置保存了但下次打开工程又变回默认。这种情况多半是因为没有把颜色配置文件放到工程目录下或者加载方式不对。正确的做法是在 Color/Visibility 对话框里点 Save 按钮生成一个 cvs 文件Color View Scheme下次打开工程时通过 Load 按钮加载。另外Allegro 的全局颜色配置文件一般在安装目录的 share/pcb/text/cusalt 下如果没有写权限配置是保存不进去的。第二个坑关掉了某个 Class 的显示但光绘输出时它还在。这个要特别强调显示控制只影响屏幕上的可见性不影响光绘输出。很多人以为把某个 Subclass 颜色关掉光绘里就没有了这是错的。光绘输出是按 Artwork 里的 Subclass 配置来的跟你屏幕上看到什么没有任何关系。反过来如果你在屏幕上看到了一些不该有的东西也不要只靠关显示来解决要去查清楚这个元素是从哪里来的该删就得删。第三个坑用 Color/Visibility All Off 的时候误伤了所有层的颜色导致界面一片黑。这个很多人遇到过。解决方法是别慌Global Visibility 里选 All On然后再重新加载你保存好的颜色配置文件。所以我一直建议每个项目开始前必须保存一套完整的颜色配置这是无数次救场换来的教训。5. 实操光绘输出与 Class/Subclass 的映射关系5.1 光绘文件是怎么由 Subclass 组成的Allegro 出光绘Gerber的逻辑和很多工具不一样。它不是简单地把“每一层”导出一个文件而是让你在 Artwork 控制表单里为每一个光绘文件指定需要带上的 Subclass 组合。比如你要生成顶层走线层的 Gerber通常需要包含以下 SubclassETCH/TOP顶层走线铜皮PIN/TOP顶层焊盘VIA/TOP顶层过孔焊盘这三类叠加在一起才是完整的顶层导电图形。如果你少了 PIN/TOP那么光绘里焊盘的位置就会是空的板厂做出来顶层焊盘就没铜。又比如你要生成顶层丝印的 Gerber通常需要BOARD GEOMETRY/SILKSCREEN_TOP手动加的丝印标注COMPONENT VALUE/SILKSCREEN_TOP位号COMPONENT GEOMETRY/SILKSCREEN_TOP器件丝印外形这三个 Subclass 叠加才是完整的顶层丝印图形。新手最容易漏的就是 COMPONENT GEOMETRY/SILKSCREEN_TOP导致器件外形框没有出现在丝印层上。5.2 Artwork 设置中 Class/Subclass 的实操配置打开光绘输出设置的方式是菜单 Manufacture → Artwork...快捷键 CtrlAltG。在 Artwork 对话框里左侧是光绘文件的列表Film Control右侧是该文件包含的 Subclass 列表。我以一块双面板为例讲一下完整的光绘文件配置流程在 Artwork 里新建一个名为 TOP 的 FilmSubclass 列表里添加 BOARD GEOMETRY/OUTLINE、ETCH/TOP、PIN/TOP、VIA/TOP。注意 BOARD GEOMETRY/OUTLINE 通常要加在所有层因为板框每层都要有。新建 BOTTOM Film添加 BOARD GEOMETRY/OUTLINE、ETCH/BOTTOM、PIN/BOTTOM、VIA/BOTTOM。新建 SILKSCREEN_TOP Film添加 BOARD GEOMETRY/OUTLINE、BOARD GEOMETRY/SILKSCREEN_TOP、COMPONENT VALUE/SILKSCREEN_TOP、COMPONENT GEOMETRY/SILKSCREEN_TOP。新建 SILKSCREEN_BOTTOM Film添加 BOARD GEOMETRY/OUTLINE、BOARD GEOMETRY/SILKSCREEN_BOTTOM、COMPONENT VALUE/SILKSCREEN_BOTTOM、COMPONENT GEOMETRY/SILKSCREEN_BOTTOM。新建 SOLDERMASK_TOP Film添加 BOARD GEOMETRY/OUTLINE、PIN/SOLDERMASK_TOP、VIA/SOLDERMASK_TOP。如果需要走线开窗还要单独加 ETCH/TOP一般不建议把整层走线开窗。新建 SOLDERMASK_BOTTOM Film添加 BOARD GEOMETRY/OUTLINE、PIN/SOLDERMASK_BOTTOM、VIA/SOLDERMASK_BOTTOM。新建 PASTEMASK_TOP Film添加 PIN/PASTEMASK_TOP。这个一般只给贴片焊盘不需要加板框。配置好之后在 Artwork 对话框里点 Select All然后点 Create Artwork就能批量生成所有光绘文件。注意Artwork 里每个 Film 的 Subclass 列表顺序影响光绘文件里的图形叠加顺序。一般铜皮类的放在最上面焊盘放在中间板框放在最下面。顺序不对有时候会导致出图时某些图形被遮挡虽然出 Gerber 时一般不会有影响但导入 CAM 软件查看时容易出问题。5.3 光绘输出中最常见的 Subclass 问题结合我的实战经验光绘输出阶段最容易出的问题有三个全都和 Class/Subclass 有关。第一个问题是漏加 Subclass导致光绘里缺东西。比如丝印层没有加 COMPONENT VALUE结果板子上除了自己手动加的丝印文字外所有位号全部消失。排查方法是把光绘文件导入 CAM350 或者嘉立创 EDA 查看逐层核对图形内容。第二个问题是多加了 Subclass导致光绘里出现不该有的图形。比如某次把 BOARD GEOMETRY/DFA装配工艺信息加进了丝印层结果板厂拿到的丝印窗体上多了很多工艺标注。这个如果不仔细检查做出来的板子丝印就会很脏。第三个问题是 Subclass 里内容为空但 Film 配置里包含了它导致光绘文件里出现一个空层。空层本身不影响制造但会让板厂工程师困惑也会让文件包看起来不专业。建议在输出前在每个 Film 的 Subclass 列表上点右键选择 Check Database看看有没有空的 Subclass。5.4 从 Allegro 到光绘的检查流程这里给出我每次出光绘前的一套自检流程用 Color/Visibility 确认每个需要输出的 Subclass 都有内容且位置正确。比如打开 COMPONENT VALUE/SILKSCREEN_TOP确认所有位号都在板框范围内。在 Artwork 对话框里逐个检查 Film 的 Subclass 列表确认无遗漏、无多余。生成光绘文件后用 CAM350 或第三方工具导入逐层检查钻孔文件、外形文件、走线层、丝印层、阻焊层。检查钻孔文件里的钻孔符号表是否与封装焊盘、过孔尺寸一致。最后检查板框尺寸和标注是否与结构图一致。这套流程每次出板都走一遍能避免绝大多数低级错误。很多人觉得出光绘很简单点一下就完事其实真正严谨的工程师都会花时间在光绘检查上。6. 常见问题与避坑实录6.1 问题速查表我整理了以下高频问题按下表快速定位现象可能原因解决办法屏幕上找不到某个 Subclass 的内容该 Subclass 颜色被关闭或者内容本身为空打开 Color/Visibility检查对应 Class/Subclass 颜色是否可见光绘输出缺少位号COMPONENT VALUE 没有加入对应光绘 Film在 Artwork 顶层丝印 Film 里添加 COMPONENT VALUE/SILKSCREEN_TOP过孔没有盖油VIA/SOLDERMASK 相关 Subclass 缺失或未正确设置检查 VIA Class 下 SOLDERMASK_TOP/BOTTOM 是否在阻焊 Film 中想删除一个 Subclass 但删不掉Subclass 里有图形元素占用先删除该 Subclass 下所有元素再删 Subclass自定义 Subclass 名称含特殊字符命名规则限制使用字母、数字、下划线组合不超过 31 字符打开别人工程时颜色特别乱没有加载该工程的色彩配置文件在 Color/Visibility 中 Load 对方保存的配色方案在 Find 面板里选不到对象没有勾选对应 Class 类型在 Find 选项卡中勾选相应 Class如 Pins、Vias、Shapes出光绘时空层太多Film 配置里包含了空白 Subclass逐个检查 Film删除无内容 Subclass6.2 删不掉的自定义 Subclass这是我被问得最多的一个问题。有些工程师在画图过程中新建了几个 Subclass后来发现用不上了想删掉结果 Allegro 提示“Cant delete subclass because it has data”怎么都删不掉。这个提示的意思是这个 Subclass 里面还有图形元素。Allegro 不允许你直接删除一个非空的 Subclass防止误删数据。解决办法是先在这个 Subclass 上把所有图形元素删除干净。具体操作是在 Find 面板里只勾选你要删除的图形类型然后在 Color/Visibility 里只点亮那个 Subclass用鼠标框选全部删除。也可以打开 Tools → Design Rule Check或者用命令窗口执行删除操作。一个更快的办法是使用 Allegro 的命令行工具。在命令行输入delete all但注意这个命令会删除你在 Find 面板里勾选类型下的所有元素如果 Find 面板勾选了所有类型会把整个板子删光。所以用这个命令前一定要先缩小范围先把 Find 面板里所有选项都去掉只勾选你要删除的图形类型再把要删除的 Subclass 设为唯一可见层这样再执行删除才安全。6.3 从 AD / PADS 转过来的人最容易犯的错跨工具迁移是高频场景。从 AD 或 PADS 转到 Allegro 的工程师最容易踩的坑有三个第一个坑是试图在 Allegro 里找“层”。AD 的思维是“在 Top Overlay 画丝印线”Allegro 的思维是“在 BOARD GEOMETRY/SILKSCREEN_TOP 画线”。如果你一直用层概念去找会发现在 Allegro 里怎么都找不到一个叫“丝印层”的东西。正确的做法是先接受 Class/Subclass 的二维结构再按“Class 决定用途、Subclass 决定位置”的规则去查找。第二个坑是习惯性地在 Keep-Out 层画禁布区。AD 里有一个 Keep-Out Layer专门用来画禁止布线区域。Allegro 里没有一个现成的 Keep-Out Class禁布区的实现方式有两种一种是在 ANTI ETCH 里画禁布铜皮区域另一种是用 Route Keepout / Via Keepout 的 constraint region。如果你只是简单地想限制某个区域不能走线、不能放过孔正确的做法是在布局阶段设置 constraint region或者在布线阶段用 Route Keepout 区域实现。第三个坑是不理解走线开窗。AD 里开窗可以直接在 Solder 层画线Allegro 里没有这个操作逻辑。Allegro 里给走线开窗的正确方式是做一个 Shape 覆盖在走线上方然后把这个 Shape 设置在对应的 Soldermask Subclass或者在焊盘封装阶段直接通过焊盘属性开窗。很多人第一次用 Allegro 时想给一段铜皮开窗找遍了菜单都找不到就是因为这个概念没转过来。6.4 关于 Class/Subclass 的几条独家心得最后聊几条我这些年总结出来的心得体会不一定写在官方文档里但很实用。第一Class/Subclass 是 Allegro 的“框”它对所有 PCB 元素都生效。不管是走线、铜皮、文字、标注、ROOM、DRC 标记都有各自的 Class。理解了这个你在用 Find 面板过滤选择时就会非常得心应手。比如你要在密密麻麻的板子里快速选中所有标注尺寸只需要在 Find 里勾选 Board Geometry 下的 Dimensions 类型框选一遍就全选中了。第二保留一套你习惯的配色模板比死记所有快捷键更管用。每次拿到别人的工程或者打开网上下载的 Demo第一件事不是去看布局布线而是先加载自己熟悉的配色方案。颜色没有唯一标准但一套你熟悉到不用看就能分辨的颜色方案能让你在检查别人板子时事半功倍。第三Subclass 的管理要克制。一个 PCB 工程里 Class 是固定的Subclass 可以无限加但加的越多后期的颜色管理、光绘配置、文件交接就越复杂。我的原则是能用默认 Subclass 解决的问题绝不新建非要新建一定按项目规范统一命名并且在设计文档里记录清楚每个 Subclass 的用途。第四在多人协作时明确 Class/Subclass 的“所有者”。如果一块板子由两个人同时画一个负责布局一个负责布线那板框、装配信息、丝印标注统一由布局工程师管理布线工程师不应随意在这些 Subclass 上添加内容。否则后期合并设计时光是清理重复的标注就能耗掉半天时间。7. 写在最后的一点建议关于 Cadence Allegro 的 Class 和 Subclass我最想强调的一句话是不要把它当成一个需要死记硬背的知识点而是要把理解的重心放在“为什么这样设计”上。Allegro 之所以采用这种二维分类结构是为了在极复杂的 PCB 设计中依然保持数据的井井有条。你越早建立起“先定位 Class、再确认 Subclass、最后操作元素”的思维习惯就越能适应这套工具也越能在和其他工具、其他工程师打交道时抓住问题的本质。我自己当年刚接触 Allegro 时也经历过对着 Color/Visibility 面板发懵的阶段。后来是靠着一个个工程慢慢磨出来的经验才把这套体系真正内化。如果你看完这篇文章能建立起对 Class 和 Subclass 的整体认知至少以后遇到“丝印没了”“过孔不盖油”“光绘缺层”这类问题第一反应不是乱翻菜单而是心里立刻浮出一个判断——先去查对应类别的 Subclass 有没有被正确设置这就是收获。最后再分享一个小技巧使用 Allegro 时如果某个操作找不到对应命令先别急着问别人试着在命令行输入 help打开 Allegro 自带的帮助文档搜索这个功能对应的 Class 或 Subclass 关键词大部分标准功能的用法都能在上面找到。很多时候读懂软件自己的文档比到处找教程更高效。
