news 2026/10/7 17:58:19

Allegro中Design_Outline与Cutout层详解:PCB板框与开槽处理指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Allegro中Design_Outline与Cutout层详解:PCB板框与开槽处理指南

1. 为什么Design_Outline和Cutout层值得单独拎出来讲

画PCB这件事,很多人把精力全花在布线和布局上,觉得板框嘛,随便画个矩形不就完了。我刚开始用Allegro的时候也是这个心态,结果第一次投板就被板厂退回来,说板框层有自交、有重复线段,没法提取外形。后来做异形板、做拼板、做带内部开槽的板子,才发现Design_Outline和Cutout这两层要是没搞明白,后面Artwork出Gerber、板厂加工、结构装配,处处都是坑。

这篇文章聊的就是Cadence Allegro 17.2里,Design_Outline和Cutout到底该怎么用,各自放在哪一层,常见的错误长什么样,以及怎么修。适合已经能画简单板子、但对板框和开槽处理还不够有底的Layout工程师,也适合从Altium Designer或PADS转过来、对Allegro的Class/Subclass体系还不太熟的朋友。核心关键词就几个:Cadence Allegro、Design_Outline、Cutout、PCB、Artwork,全文围绕这几个词展开,不跑题。

先说清楚一个基本概念。Allegro里没有“板框层”这个单独的说法,它是用Class和Subclass来管理所有元素的。板框属于Board Geometry这个Class下面的Design_Outline子类,而内部开槽、挖空属于Board Geometry下面的Cutout子类。这两个Subclass名字很像,功能也相关,但用途完全不同,混用就会出问题。很多人第一次接触Allegro,看到Class下面一堆选项就懵了,这很正常,我后面会一层一层拆开讲。

提示:Allegro 17.2的Class/Subclass体系和AD的Layer概念不是一一对应的,不要用AD的思维去套。AD里Keep-Out Layer、Board Shape、Board Cutout是分开的,Allegro里则统一归到Board Geometry下,靠Subclass区分。

2. Design_Outline和Cutout的本质区别与选型逻辑

2.1 两层各自管什么,为什么不能混

Design_Outline,直译就是设计外形轮廓,它定义的是整块PCB的物理边界。板厂拿到你的Gerber之后,第一件事就是找这一层,用它来铣外形、算尺寸、做V-Cut或者邮票孔。一块板子有且只能有一个闭合的Design_Outline,这是铁律。你可以画成矩形、圆形、L形、甚至带圆弧的异形,但必须是单一闭合轮廓,不能断开,不能自交,不能有重复线段叠在一起。

Cutout,直译是挖空、切除,它定义的是板子内部的镂空区域。比如螺丝孔周围的避空、天线区域的净空、大功率器件下面的散热开窗、连接器插拔的让位槽,这些都属于Cutout。Cutout可以有很多个,每个都是一个独立的闭合轮廓,分布在板子内部,不能和Design_Outline相交或重叠。

为什么不能混?因为板厂在CAM处理时,对这两层的解析逻辑完全不同。Design_Outline是“外边界”,Cutout是“内孔”。如果你把内部开槽画到了Design_Outline层,板厂会认为你的板子外形是个“回”字形,但外轮廓不闭合,直接报错。反过来,如果你把板框画到了Cutout层,板厂找不到外形,同样没法加工。我见过最离谱的案例是有人把螺丝孔画在Design_Outline层,结果板厂把整个板子铣成了一个圆环,功能全废。

2.2 什么场景该用Cutout,什么场景不该用

不是所有“洞”都要用Cutout。这里有个判断逻辑,我总结成一句话:贯穿板厚、需要物理挖空的,用Cutout;不贯穿或者只是电气禁布的,用Keepout或Package Keepout。

举个例子,M3螺丝孔,如果只是普通安装孔,不需要镀铜,那就在Design_Outline层之外单独画一个圆,放到Cutout层,板厂会把它铣穿。但如果这个螺丝孔需要接地,孔壁要镀铜,那就不能放Cutout,而应该放钻孔层(NC Drill),通过Padstack来定义。再比如,BGA下面的散热过孔区域,你不想让其他信号走进去,那是电气禁布,用Route Keepout,不是Cutout。还有,有些连接器的金属外壳需要沉板安装,板子要挖一个台阶,这种非贯穿的挖空,严格来说也不该用Cutout,而是用Outline层配合Z-Copy在相应层面做处理,或者直接和板厂沟通用铣槽工艺。

我个人的经验是,Cutout只用于完全贯穿PCB厚度、且不需要任何铜箔和基材保留的区域。只要有一丝犹豫,就先问自己:这个区域板厂是不是要把它整个挖掉?是,就用Cutout;不是,就找别的层。

2.3 选型背后的工艺约束

为什么Allegro要把Design_Outline和Cutout分得这么细?因为PCB制造工艺对“外轮廓”和“内轮廓”的处理精度、刀具路径、补偿方式都不一样。外轮廓铣边通常用大直径铣刀,走刀速度快,但转角半径受刀具限制;内轮廓挖空往往用小直径铣刀,甚至激光切割,精度高但速度慢。如果你把内轮廓画到外轮廓层,板厂的CAM工程师得手动帮你分离,遇到复杂的板子,人家直接退单,让你改好再发。

另外,Artwork出Gerber的时候,Design_Outline和Cutout通常要合并到同一张Gerber里,或者分别出两张,取决于板厂的要求。但不管怎么出,这两层的线条必须是零线宽或者极细线宽,因为板厂提取的是中心线,不是线条本身的宽度。如果你用0.2mm的线宽画板框,板厂提取出来的外形会比你预期的大一圈或者小一圈,具体取决于他们的补偿规则。这一点后面讲实操的时候会详细说。

3. 实操:从零画一块带内部开槽的板子

3.1 环境准备与单位设置

打开Allegro 17.2,新建一个brd文件。第一步永远是设单位和精度。我习惯用毫米,精度设4位小数。路径是Setup > Design Parameters,在Design标签页里,User Units选Millimeters,Accuracy选4。为什么是4位?因为板厂通常要求外形尺寸精确到0.01mm,4位小数留足余量,避免四舍五入误差。

然后确认栅格。画板框不需要太细的栅格,我一般设0.1mm或者0.05mm,方便对齐。路径是Setup > Grids,把Non-Etch的栅格打开,设成0.1mm。Etch层的栅格可以关掉,画板框用不上。

注意:Allegro 17.2默认可能用的是mil,如果你从别人那里拿到的brd文件是mil单位,直接改单位会导致所有元素尺寸缩放。正确做法是新建文件时就设好,或者用Scale命令整体转换,但转换后一定要复查关键尺寸。

3.2 在Design_Outline层画外轮廓

打开Color Dialog,找到Board Geometry > Design_Outline,给它一个醒目的颜色,比如亮黄色。然后选择Add > Line,在Options面板里,Class选Board Geometry,Subclass选Design_Outline,Line width设0(零线宽)。零线宽在Allegro里显示为最细线,但实际出Gerber时板厂按中心线处理,这是标准做法。

开始画轮廓。假设板子是个100mm x 80mm的矩形,四个角有R5的圆角。先用Line画四条直线段,坐标分别是(0,0)到(100,0)、(100,0)到(100,80)、(100,80)到(0,80)、(0,80)到(0,0)。画完是一个闭合矩形。然后倒圆角,用Manufacture > Drafting > Fillet,半径设5,依次点相邻两条边。倒完圆角后,原来的直角线段会被替换成圆弧,轮廓依然闭合。

这里有个细节:倒圆角之后,检查一下轮廓是否真的闭合。用Display > Status,或者直接点Tools > Reports > Shape Check。如果轮廓有断点,Status里会显示“Not Closed”。我遇到过有人倒圆角时不小心把某条边删了,结果轮廓开了个口子,自己没发现,出Gerber时板厂报错。

3.3 在Cutout层画内部开槽

假设板子中间要挖一个20mm x 10mm的矩形槽,用于安装某个连接器。切换到Board Geometry > Cutout层,同样给个醒目颜色,比如红色。用Add > Rectangle或者Add > Line画一个20x10的闭合矩形,位置放在板子中央。线宽同样设0。

画完之后,这个矩形就是Cutout。注意,Cutout的轮廓不能和Design_Outline相交。如果你把Cutout画到了板子边缘,和Design_Outline重叠了,板厂会认为你要把板子切成两半。我见过有人做拼板时,把V-Cut线画到了Cutout层,结果板厂直接把板子铣断了。

对于圆形开槽,比如螺丝孔避空,用Add > Circle,画一个圆,放到Cutout层。如果是异形开槽,用Line和Arc组合,确保闭合。

3.4 用Z-Copy快速复制轮廓到其他层

有时候你需要把Design_Outline复制到其他层,比如Route Keepout或者Package Keepout,用来做禁布区。这时候用Edit > Z-Copy。在Options面板里,Copy to Class选Route Keepout,Subclass选All,然后点一下Design_Outline的轮廓,Allegro会自动在Route Keepout层生成一个同样形状的禁布区。这个功能在做异形板的时候特别省事,不用手动再画一遍。

Z-Copy也可以用来把Cutout复制到其他层,但要注意,Cutout本身是Board Geometry下的,复制到Route Keepout时,形状会保留,但属性变了。如果你只是想让某个区域不能走线,用Z-Copy从Cutout复制到Route Keepout是可行的,但更规范的做法是直接画Route Keepout。

3.5 出Gerber前的检查清单

画完板框和开槽,别急着出Gerber。先做几项检查:

  • 用Display > Status确认Design_Outline是Closed,Cutout也都是Closed。
  • 用Tools > Reports > DRC,跑一遍DRC,看有没有“Outline not closed”或者“Cutout intersects outline”之类的报错。
  • 用Display > Measure量一下关键尺寸,比如板子长宽、开槽位置,和结构图对一遍。
  • 在Artwork里,确认Design_Outline和Cutout都正确添加到了Gerber层。通常板厂要求这两层合并到一张Gerber,或者分别出,具体看板厂的要求。

我一般会把Design_Outline和Cutout都加到Artwork的“OUTLINE”层里,Film Control里勾选Undefined Line Width,设成0.1mm或者0.15mm,这样出Gerber时线条有宽度,板厂能看清,但提取外形时还是按中心线走。

4. 常见错误与修复方法实录

4.1 板框不闭合,板厂无法提取外形

这是最高频的错误。表现是板厂回复“外形层有开口”或者“Outline not closed”。原因通常是画线时起点和终点没对齐,或者倒圆角时删掉了某段线。修复方法:用Display > Status查看,如果显示Not Closed,用Vertex命令(Edit > Vertex)找到断点,手动拖拽对齐。或者干脆删掉重画,用Add > Rectangle画一个完整矩形,再倒圆角,比用Line一段一段画更不容易出错。

实操心得:画板框尽量用Rectangle或Circle这种原生图形,少用Line拼接。原生图形天生闭合,不会出现断点。异形板再用Line+Arc组合,画完立刻用Shape Check验证。

4.2 Cutout和Design_Outline相交或重叠

表现是板厂说“内孔和外框相交”。原因通常是Cutout画得太靠边,或者拼板时V-Cut线画到了Cutout层。修复方法:用Display > Measure量一下Cutout边缘到Design_Outline的距离,确保至少留0.5mm以上的边料,否则板子强度不够,加工时容易崩边。如果是拼板,V-Cut线应该放在Board Geometry > Vcut层,不是Cutout层。

4.3 线宽设错导致外形尺寸偏差

前面提过,Design_Outline和Cutout的线宽应该设0。但有些人习惯设0.1mm或者0.2mm,觉得这样看得清楚。结果板厂提取外形时,按线条中心线走,但CAM补偿时可能按线宽内外偏移,导致最终板子尺寸比设计值大0.1mm或小0.1mm。对于精密板子,这0.1mm可能就是装配不进去的原因。修复方法:把所有Design_Outline和Cutout的线宽改成0,重新出Gerber。

4.4 重复线段导致CAM解析异常

表现是板厂说“外形层有重复线段”或者“Self-intersecting”。原因通常是复制粘贴时多贴了一份,或者Z-Copy时源和目标重叠。修复方法:用Edit > Delete,框选Design_Outline层,删掉所有线段,然后重新画一遍。或者用Tools > Reports > Shape Check,它会列出重复线段的位置,手动删除多余的。

4.5 螺丝孔放错层,板子被铣穿

这个错误我犯过一次。当时把M3螺丝孔画在了Cutout层,想着反正要挖穿。结果板厂把整个孔铣成了非金属化孔,但我的设计里这个孔是要接地的,孔壁需要镀铜。后来改成在Padstack里定义钻孔,放到NC Drill层,问题解决。所以再强调一遍:需要镀铜的孔,用Padstack+NC Drill;不需要镀铜、纯粹挖穿的,用Cutout。

4.6 Artwork里漏加Cutout层

表现是板子做回来,内部开槽没挖。原因是在Artwork里只加了Design_Outline,忘了加Cutout。修复方法:在Artwork的Film Control里,确认Board Geometry下的Design_Outline和Cutout都勾选了。有些板厂要求Cutout单独出一张Gerber,那就新建一个Film,只加Cutout层。

4.7 常见问题速查表

问题现象可能原因排查方法修复步骤
板厂说外形有开口板框不闭合Display > Status看是否Closed用Vertex对齐断点或重画
板厂说内孔和外框相交Cutout太靠边Measure量距离移动Cutout,留足边料
板子尺寸偏差0.1mm线宽非0检查Line width改成0,重出Gerber
CAM报重复线段复制粘贴多余Shape Check删除多余线段
螺丝孔被铣穿不镀铜放错层检查是Cutout还是NC Drill改用Padstack定义
内部开槽没挖Artwork漏加Cutout检查Film Control勾选Cutout层
异形板圆角处报错圆弧不闭合Shape Check重新倒圆角或手动补线

5. 进阶技巧:异形板、拼板与Artwork输出

5.1 异形板的轮廓处理

异形板的核心难点在于轮廓复杂,容易不闭合。我的做法是先在AutoCAD或者结构软件里画好外形,导出DXF,然后Import > DXF到Allegro的Design_Outline层。导入后,用Shape Check验证闭合性。如果有断点,用Vertex手动连上。DXF导入的好处是尺寸精确,不用在Allegro里一点点描。

导入DXF时注意单位。AutoCAD默认可能是mm,Allegro也是mm,但有时候DXF里是inch,导入后尺寸会差25.4倍。导入前在DXF里确认单位,或者在Allegro导入时手动指定Scale。

5.2 拼板时的Cutout和V-Cut

拼板时,每块小板之间的连接方式有两种:V-Cut和邮票孔。V-Cut线放在Board Geometry > Vcut层,不是Cutout层。邮票孔则是用NC Drill打一排小孔,也不是Cutout。Cutout在拼板里只用于两种情况:一是小板内部本身有开槽,二是拼板边框需要挖空减重。千万别把V-Cut线画到Cutout层,否则板厂会把拼板直接铣散。

5.3 Artwork输出时的层管理

出Gerber时,我习惯建一个Film叫“OUTLINE”,里面只加Board Geometry > Design_Outline和Board Geometry > Cutout。Film Control里,Undefined Line Width设0.1mm,Format选Gerber RS274X,单位选mm,精度选4.5(4位整数5位小数)。这样出的Gerber,板厂能直接读。

如果板厂要求Cutout单独出,就再建一个Film叫“CUTOUT”,只加Cutout层。出完之后,用CAM350或者免费的Gerber查看器打开检查一遍,确认外形和开槽都在正确的位置。

提示:Allegro 17.2出Gerber时,如果Design_Outline层有零线宽的线段,Gerber里会显示为0宽度,有些板厂的CAM软件会忽略这些线段。所以Film Control里的Undefined Line Width一定要设一个非零值,比如0.1mm,确保Gerber里有可见的线条。

5.4 和板厂沟通的要点

最后,和板厂沟通时,主动说明板框和开槽的情况。比如:“外形层是Design_Outline,内部开槽在Cutout层,线宽0,请按中心线提取。”如果板厂有特殊要求,比如外形层要单独出、开槽要标注尺寸,提前问清楚。我一般会在Gerber压缩包里附一个Readme.txt,写明层对应关系和关键尺寸,省得来回扯皮。

6. 我踩过的坑和最后的小建议

做PCB Layout这些年,Design_Outline和Cutout这两层看着简单,但真要做好,得把工艺约束、软件操作、板厂沟通三件事都理顺。我踩过最大的坑是把一个异形板的轮廓用Line一段一段画,结果有个转角差了0.05mm没对齐,板厂说外形不闭合,来回改了两天。后来学乖了,能用Rectangle就用Rectangle,能用DXF导入就导入,绝不手动描复杂轮廓。

还有一次,客户要求板子内部挖一个L形槽,我画在了Cutout层,但忘了在Artwork里加进去,板子做回来没挖槽,只能报废重做。从那以后,我出Gerber前一定用CAM350打开检查一遍,确认每一层都在。

如果你刚开始用Allegro,建议先拿一块简单的矩形板练手,把Design_Outline和Cutout的画法、检查、出Gerber流程走一遍。熟练之后,再尝试异形板和拼板。遇到报错别慌,大部分问题都是闭合性、线宽、层放错这三类,按上面的速查表排查,基本都能解决。

最后分享一个小技巧:在Allegro里给Design_Outline和Cutout设不同的颜色,比如外形用亮黄,开槽用亮红,这样在复杂板子上一眼就能区分,不容易画错层。这个习惯我保持了五六年,省了不少返工时间。

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

华为数据通信实战:从ENSP实验到TCP/IP底层行为解析

简介:本资源是华为公司内部培训用《数据通信原理》PDF讲义,面向通信工程、网络技术相关专业的初学者及CDMA系统运维人员,聚焦数据通信基础理论在实际通信设备中的落地应用。文档系统讲解TCP/IP协议栈分层结构、IP地址与子网划分、静态/动态路…

作者头像 李华
网站建设 2026/10/7 17:54:25

PyAether实战:用Python脚本驱动芯片设计与版图自动化

芯片设计这两年越来越热,但很多刚入行的朋友,甚至一些有经验的数字工程师,对"脚本化"这三个字还是有点发怵。你打开一个EDA工具,满屏的菜单按钮、鼠标点来点去画版图、手工配走线,一次两次还能忍&#xff0c…

作者头像 李华
网站建设 2026/10/7 17:52:43

让AI先列提纲再动笔:两个月实测,哪些写作任务真的能提效?

我先说结论:让AI先列提纲再动笔,这个方法确实有用,但没有网上吹得那么神。我跑了整整两个月,把平时写得最多的那批内容过了一遍,结果呈现明显的两极分化——一半的活儿真的变快了,过去要磨一个多小时的文档…

作者头像 李华
网站建设 2026/10/7 17:51:41

初级AI工程师晋升三大缺口:系统设计、数据评估与工程化

“代码能跑”和“能力能晋升”,在AI工程师的职业赛道上,往往是两套完全不同的评价标准。我见过太多初级AI工程师,Transformer原理讲得头头是道,Python写得飞快,但一到晋升答辩就卡壳。老板给的评语经常是“缺全局视野”…

作者头像 李华
网站建设 2026/10/7 17:51:41

AI工程师晋升三大能力缺口:系统设计、工程交付与业务表达

上个月团队内部晋升答辩,一个平时写模型很溜的同事被评委直接问住了。他不是模型效果不好,也不是论文没读够,而是被问到"你这个模型上线之后,QPS能扛多少?如果特征延迟从10ms涨到100ms,你的预估收益还…

作者头像 李华