ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Allegro 17.4 Z-COPY实战:高效复制PCB外框与生成Keepin

Allegro 17.4 Z-COPY实战:高效复制PCB外框与生成Keepin 做Allegro设计的人早晚会遇到一个看似简单、实际操作却很容易翻车的需求复制PCB外框。尤其是刚接触Cadence Allegro 17.4的新手第一反应往往是选中板框线条CtrlC、CtrlV然后发现复制出来的东西要么不在想要的层要么线宽不对要么轮廓断成好几截后期光绘和DRC疯狂报错。其实Allegro里早就有专门干这活的命令——Z-COPY。这个命令在17.4里依然保持着一贯的高效逻辑能把一个已经存在的闭合Shape一键复制到任意目标层还能顺带帮你做内缩和外扩。这篇文章我就从原理、实操到避坑把Z-COPY复制PCB外框这件事讲透全程基于Allegro 17.4界面按下不表直接上车。我最早接触Z-COPY的时候也被这名字迷惑过以为是什么“Z轴复制”之类的三维功能。后来用顺手了才明白这货在PCB设计里就是个“图层搬运工”。它能把你选中的一个闭合Shape整块复制到另一个图层并且可以按设定值向外扩大或向内缩小。复制板框、生成Route Keepin、做禁布区、拼板工艺边全都靠它。对于新手来说这是从“会画板框”迈进“会规范画板框”的一道关键门槛。1. 先搞懂Z-COPY到底在复制什么1.1 为什么新手复制板框总翻车普通Copy和Z-COPY的区别很多新手第一次在Allegro里复制板框都会用最直观的操作选中Outline层的线条按CtrlC复制再切到目标层CtrlV粘贴。这招在最简单的场景下勉强能用但稍微遇到正经项目就露馅。原因很简单PCB外框在Allegro里往往不是一条完整的闭合多段线而是由好几段直线段LINE和圆弧ARC组成的“组合体”。普通复制粘贴会把它们当作一堆独立对象粘贴到新层后彼此之间可能留有微小的间隙也可能出现线宽丢失、线端交叉。后续做DRC或者出光绘这些不起眼的“细节问题”全都会变成一个个红色报错逼着你回去手工逐段修补体验极差。普通复制还有一个致命弱点它不会帮你生成偏移。如果我想给板框外扩0.5mm做成Route Keepin普通复制根本做不到你只能又去offset线条手动改端点费时费力还容易出错。Z-COPY则完全不同它的复制对象是闭合Shape一次选中、完整复制目标层自己指定要不要偏移、偏移多少、偏移方向全部在参数面板里设置好点一下就完事。它从设计之初就不是用来“简单抄一份线条”的而是用来“在有层叠逻辑的前提下复用轮廓”的。1.2 Z-COPY的命令入口与运行逻辑在Allegro 17.4里Z-COPY藏得不算深但很多新手第一次找还真找不到。它不在Edit下拉菜单的直接列表里而是先进入Shape编辑状态后才会出现的工具。这个设计逻辑容易让人困惑我帮大家理一遍首先你得让Allegro进入Shape Edit模式然后Z-COPY命令才会被激活入口一般在菜单栏的 Edit - Z-Copy或者在右侧Shape Edit面板里直接点图标。更快的办法是直接在命令窗口输入 z-copy 回车回车后就能弹出来。Z-COPY的运行逻辑其实不复杂第一步它需要你选中一个已经存在的闭合Shape作为“母本”第二步你在Options面板里告诉它复制到哪个Class和Subclass比如Board Geometry - Outline或者Route Keepin - All第三步设置复制方式是不偏移直接复制Copy to layer还是外扩Expand还是内缩Shrink最后点一下源Shape复制就完成了。它背后做的工作等于“读取闭合Shap的轮廓坐标按偏移量重新计算一条新轮廓写到目标层”所以它生成的结果天然闭合、天然连续这正是我们做板框、做Keepin最需要的特性。2. 复制板框前必须做好的三件事2.1 确认板框的图层归属Z-COPY复制出来的结果放在哪个层完全取决于你手动指定的Class和Subclass而不是“源Shape在哪层就跟着放哪层”。这个灵活性是它好用的地方但也埋了一个坑如果你对图层的命名体系不熟悉很容易把目标层选错。我建议新手在动手之前先打开Allegro的Color/Visibility面板快捷键也叫Display - Color/Visibility或者直接按CtrlF5把当前图纸上已有的图层过一遍重点看两类一个是Board Geometry下面的Outline、Dimension、Assembly_Notes等另一个是Route Keepin、Package Keepin这类约束层。做不到心里有数后面大概率要返工。这里需要特别提醒一下“板框到底画在哪层”的行业常识。在常规PCB设计中板框的推荐归属是 Board Geometry - Outline。但在实际工程里有人习惯放到 Module Outline有人放到 Board Geometry - Dimension还有人直接从结构工程师给的DXF导入后放在 Imported DXF 的临时层里没整理。Z-COPY复制出来的目标层应该以“后续生产、装配、布线约束需要”为准不一定非要和源层一样。比如源板框在Board Geometry/Outline你Z-COPY一份到Board Geometry/Assembly_Notes做装配示意完全合理。2.2 把线段板框变成可识别的闭合ShapeZ-COPY有一个硬性前提它只能选中闭合Shape。如果你从DXF导入的板框是一堆LINE线段或者你自己用Add Line一根根画的那直接执行Z-COPY是选不中内容的。这一步是新手最常卡住的地方。解决办法是先把线段转成ShapeAllegro 17.4里最常用的是 Shape - Compose Shape 命令菜单在Shape菜单下或者右键菜单里也能找到。执行后弹出一个对话框让你选择生成的Shape放在哪个Class和Subclass、线宽填多少然后框选所有线段回车确认Allegro就会尝试把框选范围内闭合的线段组合成一个完整的Shape。Compose Shape这步操作有几个细节会影响后续成功率和质量。第一框选时必须保证线段首尾相接不能有肉眼很难发现的微小开口否则Compose会失败或者生成一个带缺口的不完整Shape。第二如果板框里同时有大段圆弧必须确认圆弧和直线的交点处确实相连这点在导入DXF后尤其容易出问题建议放大到最大精度亲眼确认。第三Compose Shape生成的Shape其边界线宽是你在对话框里填的那个值这里建议大家规范填写比如0mm或5mil不要随手填一个0.5mm否则后续做内缩外扩时偏移量的起点会偏离预期。2.3 单位设置与显示开关会影响什么Allegro 17.4的单位设置对Z-COPY的影响非常直接因为你在Options面板里填的Offset值单位就是当前设计使用的单位。如果你还没设定单位Allegro默认可能是mil你填一个0.5出来的偏移量就是0.5mil而不是你以为的0.5mm复制出来的Keepin紧紧贴着板框几乎等于没有偏移。所以动手前务必先确认当前设计单位命令窗口输入 change 之后看状态栏或者到 Setup - Design Parameter Editor - Design 选项卡里查看和修改单位。我个人的建议是板级设计统一用mm封装级设计统一用mil提前定好避免所有参数都跟着乱。显示开关影响的主要是“你复制完看不见东西”。很多新手Z-COPY执行完目标层啥也看不到第一反应就是复制失败了其实是目标图层被隐藏了。Allegro 17.4中每个层都有自己的显示开关在Color/Visibility面板里可以看到哪些层打勾、哪些没打勾。复制前把目标层显示打开既方便实时观察复制结果也能避免“复制了但看不见”的乌龙。另外提醒一句如果你打算用Z-COPY生成Route Keepin记得把Route Keepin层的显示也打开因为它在默认状态下经常是不显示的。3. 完整实操用Z-COPY把PCB外框复制到目标层3.1 第一步选中源外框Shape现在假设你已经有了一个闭合的板框Shape放在Board Geometry - Outline层接下来要把它复制一份到另一层。先进入Shape编辑状态然后在命令框输入 z-copy 回车接着在Options面板里设置参数。这里会看到一个关键选项是 Select shape意思是让你去图上选择一个Shape。此时光标会变成一个拾取标记你把鼠标移动到板框边缘单击选中它。选中成功后板框会高亮显示此时如果Options面板里的参数已经设好再点一下鼠标左键确定复制就完成了。不过实际操作中我更推荐先选Shape再调参数还是先调参数再选Shape两者都行但先选后调不容易出现“选完忘记设置参数”的低级错误。选中Shape时有个常见问题如果你的板框是多层重叠的Shape或者板框线条和Route Keepin的Shape挨得很近鼠标点下去可能选到不想选的那个。这时候可以右键打开Object Filter在Shape类目下单独勾选然后重新拾取。Allegro 17.4里对这种多对象重叠的情况提供了比较灵活的过滤机制用熟了之后效率会高很多。如果你发现自己怎么点都选不中Shape大概率是因为当前没有在Shape编辑状态或者选中的是LINE而不是Shape回到2.2把线段组合成Shape再来。3.2 第二步设置Z-COPY参数重点讲每个参数含义Z-COPY的Options面板参数不多但每一个字都值得仔细琢磨。第一个是 Class 和 New Subclass这两个组合决定了复制结果去哪个层。比如我想把板框复制成Route KeepinClass选Route KeepinNew Subclass选All确定后目标层就是Route Keepin/All。如果你的设计里没有Route Keepin这个Class别慌Allegro的Class和Subclass可以通过 Setup - Class/Subclass 手动新建实在找不到的话复制到Board Geometry下先备份后面再调整也行。第二个关键参数是 Size也就是复制方式。Allegro 17.4里提供好几种Copy to layer原样复制不偏移、Expand向外扩大、Shrink向内缩小。如果你选Expand或Shrink右侧的Offset输入框会被激活你要在里面填偏移值。Offset的数值直接决定外扩或内缩的距离单位按当前设计的单位走。第三个参数是 Line width这是指复制出来的Shape边界线宽一般建议和源板框保持一致或者按设计规范设置不要填0否则后续出光绘会提示线宽为0的问题。第四个参数是 Convert shape to展开后有Symmetric和Not symmetric两个选项。选择Symmetric时复制出来的Shape会以原始Shape的中心为基准做对称变换Not symmetric则保持原坐标映射。大多数板框复制场景选Not symmetric就够了如果你在做拼板镜像之类的操作才需要考虑Symmetric。3.3 第三步执行复制并检查结果参数都设置好以后剩下的动作就很机械了把鼠标移到源Shape上单击左键Allegro会立刻按你的设置生成一个新Shape在目标层。生成完成后我习惯立刻做三件事第一打开所有相关图层显示确认新Shape确实出现在目标层轮廓完整闭合第二测量一下新Shape和源板框之间的间距确认偏移量符合预期工具就用 Manufacture - Dimension/Draft 里的尺寸标注或者直接使用 Show Measure 命令第三删除可能残留的重叠线条或源Shape确保图层干净。如果你把新Shape复制到了和源Shape相同层——这种事真的有人干过——那这里必须手删其中一份否则两个Shape重叠在一起DRC一定会给你报Line to Line spacing violation。另外要提醒的是Z-COPY执行完成后并不会自动退出Shape编辑模式也不会自动关闭命令。很多人复制完一份就接着复制下一份这是对的Z-COPY支持连续操作你可以连续选中不同的源Shape复制到相同或不同层。这个特性在做多模块复用时非常爽比如板上有四块相同的电路区域每块区域的外框都要往Route Keepin里放一份你就一个个点过去就行Allegro不会因为执行过一次就强制你退出。4. 实战场景一次生成Route Keepin和Package Keepin4.1 从DXF到闭合板框的完整流程在实际项目里Z-COPY最常见的应用场景之一是从结构工程师那边拿到DXF外框后快速生成布线区域和器件放置区域。结构图里的板框通常是AutoCAD画的线条不是Allegro的Shape所以第一步还是得把DXF导入并整理成闭合Shape。Allegro 17.4的DXF导入入口在 File - Import - DXF导入时注意选择正确的单位一般结构图是mm导入后线条会被放到一个单独的Class里通常是 Imported DXF 或者 Manufacturing 相关层。这些图层默认是关闭的导入完成后要手动打开显示不然啥也看不见。接下来就是2.2里说的那套操作在DXF线条层基础上用 Shape - Compose Shape 生成闭合Shape。生成的Shape建议放到 Board Geometry - Outline这是Allegro全球工程师最通用的板框层。如果发现Compose失败先检查DXF线条是否有肉眼不可见的缺口放大到0.01mm级别查或者用 Line to Shape 功能逐个处理。很多结构图里还有一条双线外框即内外两条轮廓线这时别急着Compose先用 Edit - Delete 删掉不需要的那条或者把两条都组合出来再选择外层那条作为最终板框。4.2 用Z-COPY一键生成布线区和器件摆放区板框Shape就绪后Z-COPY的表演开始了。我的标准做法是先执行一次Z-COPYClass选Route KeepinNew Subclass选AllSize选ExpandOffset填0.5mmLine width按板框设定然后点击板框Shape。一瞬间一个比板框大0.5mm的Route Keepin轮廓就生成了。接下来再执行一次Z-COPYClass选Package KeepinNew Subclass选AllSize还是ExpandOffset填1mm。这一步生成的Package Keepin会比板框大1mm为的是让元器件引脚和封装丝印有足够的放置余量。这两个Step加起来只要两分钟过去用手动画线至少要画半小时还不一定画得标准。为什么Route Keepin外扩0.5mm、Package Keepin外扩1mm这是我从一个做了多年消费类产品硬件的同事那儿偷师来的经验。Route Keepin外扩0.5mm是给布线层走线留一点正常的边缘空间避免走线贴着板边导致加工后露铜或阻抗波动Package Keepin外扩1mm是因为器件封装比较大尤其是有连接器或大电解电容的板子摆放空间要留足。不同的产品类型这个值会有差异但作为起步值0.5mm和1mm是比较安全的。复制完成后记得把两个Keepin的DRC检查打开后续布线时Allegro会实时提示你哪里有违规。5. 避坑指南复制过程中最容易踩的7个坑5.1 坑1目标层选错外框重叠这是新手翻车率最高的一步尤其当你把目标层和源层设为同一个Class/Subclass时Z-COPY会直接在原层生成一个一模一样的Shape两个轮廓完全重叠。从屏幕上很难发现异常但DRC一跑就露馅报出一堆“Line spacing violation”。解决方法是复制时在Options面板里反复核对Class和New Subclass并且在复制完成后马上打开Color/Visibility把源层和目标层分别用不同颜色显示肉眼确认两者不是同层重叠。如果已经重叠了选中其中一份按Delete删除即可。5.2 坑2复制后线宽为0光绘报错Z-COPY生成的Shape边界线宽由Options面板里的Line width控制。如果你漏填或者填了0后续出光绘Gerber时很多导入光绘的软件会报“zero width line”之类的错误甚至直接把这条轮廓忽略掉导致板框在光绘里消失。这是个很隐蔽的问题因为屏幕上看不出来的。规避方法是在Z-COPY设置时养成习惯Line width老老实实填0.127mm5mil或者0.254mm10mil同时去 Setup - Design Parameter Editor - Shape 里把“Shape line width”也确认一下。如果你那边有公司设计规范直接按规范填。5.3 坑3偏移方向搞反Offset填正数、选择Expand结果发现复制出来的Shape缩到里面去了这种事不丢人我见过不少资深工程师偶尔也会恍惚。但如果你希望生成禁布区或者开槽区域方向反了就直接影响生产。规避方法是在Z-COPY执行前把Options面板里的Size和Offset再读一遍Expand向外Shrink向内正数Expand就是外扩。执行完立刻用测量工具确认间距大小不要等到最后DRC才发现。5.4 坑4板框由多段组成Z-COPY选中失败之前讲了先Compose Shape再Z-COPY。但还有一个细节Compose成功后的Shape如果内部还有其他小的Line或Void也可能导致Z-COPY选择异常。比如板框上有一些独立的机械孔标志线、定位孔圆圈它们和主Shape不连通选中时容易把那些孤立线段一起选进去生成结果带着一堆多余的小形状。规避方法是在Compose Shape之前把不需要的辅助线条先删除或移动走让板框只保留真正的外轮廓。如果你的板框本身有复杂的挖空区域Z-COPY也会把这些挖空一并复制过去这是正常的不用担心。5.5 坑5复制结果不闭合导致后续DRC误报Z-COPY理论上生成的Shape一定是闭合的。但如果源Shape本身有很小的缺口或者源Shape在导入DXF后被切成了多段并存在重合子段Compose时可能生成一个“假闭合”的Shape——看起来是闭合的实际上边界内部有微小的缝隙或重叠段。这会导致复制结果虽然存在但在DRC里仍然报错。排查方法是用 Show Element 选中Shape查看它的边界段数和总长度或者把这个Shape和源板框放在不同颜色下叠加比较放大到极限精度看是否有缝隙。如果发现这种隐藏问题最彻底的办法是删掉重做别将就。5.6 常见问题速查表现象可能原因解决办法Z-COPY命令执行后选不中任何东西当前没有闭合Shape或没进入Shape编辑状态先Compose Shape再执行z-copy复制后目标层啥也看不见目标层显示未打开在Color/Visibility中打开目标层显示复制出来的Shape比板框大很多/小很多Offset单位理解错误或Offset填错数值确认设计单位重新设置OffsetDRC报Line to Line spacing violation源Shape和目标Shape重叠在同层删除其中一个Shape出光绘时提示零线宽错误Line width设为0重新执行Z-COPYLine width填非0值复制出来的Keepin边界不够平滑源Shape本身含有大量小线段优化源Shape或用圆弧/贝塞尔重构复制后多了很多奇怪的小闭合图形源Shape周围有孤立线段/孔符删除辅助线重新Compose Shape6. 效率再提升把Z-COPY玩出花来6.1 给Z-COPY设置快捷键Z-COPY虽然好用但每次都用鼠标点菜单效率还是不够高。Allegro 17.4支持自定义快捷键我建议新手一上来就给Z-COPY设一个alias比如把F4设置为z-copy这样按一下F4就直接进入命令状态等于省了两次点击。设置方法在Allegro命令窗口输入 alias F4 z-copy 回车当前会话就生效了。如果要永久生效需要编辑env文件在 Allegro 安装目录下找到 env或者在 Setup - User Preferences 里配置 Input - aliases。编辑时加上一行 alias F4 z-copy 就行。除了Z-COPY本身我还习惯给 Compose Shape 也设个快捷键比如 alias F3 shape compose shape。这样从DXF导入线段到生成闭合Shape再到Z-COPY复制整个流程全程键盘操作效率提升非常明显。如果你是刚上手Allegro 17.4的初学者我强烈建议从一开始就顺手把常用操作映射成快捷键形成肌肉记忆后面画复杂板子时能省下大量时间。6.2 Z-COPY在拼板与工艺边中的应用思路Z-COPY不只是板框复制的工具在拼板、工艺边这类生产中也是神器。拼板时我经常把板框复制一份到Assembly_Notes层作为拼板示意图的底图再把外框Z-COPY到V-cut层附近用来生成V-cut的切割线轮廓。工艺边的处理也类似把主板的板框Shape复制到工艺边所在的临时层用Expand外扩一定距离就得到了一块工艺边的理论轮廓再和V-cut线一起出图给板厂。还有个野路子用法拿Z-COPY做禁布区。比如有些区域不想走线你可以先画一个闭合Shape然后Z-COPY到Route Keepout层Size选Shrink或直接Copy to layer都行。尤其适合电源板上的某些高电压间距区域用Z-COPY从铜皮边缘反向生成一个禁布区比手动描禁布区快得多。这也是热搜词里“cadence禁止铺铜区”的一个很实用的答案方向——不止是Z-CopyAllegro还有Outline的单独处理方式但Z-COPY算是其中快速且不破坏源Shape的优雅选择。6.3 关于Allegro 17.4版本差异的一个提醒最后聊一下版本差异。Z-COPY在Allegro 16.x和17.x里的核心逻辑一致但界面细节有变化17.4的Options面板更紧凑参数提示也比老版本清楚。如果你之前用过16.6切到17.4时不要凭肌肉记忆乱点先把面板扫一遍。另外17.4默认的单位设置可能延续旧版本配置如果你的板子以前是mil的新项目记得在新建时就切换成mm避免后续Z-COPY参数乱套。网上经常有人问“allegro 17.4快捷键设置在哪里”其实就在Setup - User Preferences - Input - aliases里和Z-COPY配套使用一步到位。我做了这么多年板子最常用Z-COPY的场景其实不是复制板框本身而是复制板框去生成各种约束层。很多人觉得Route Keepin、Package Keepin不重要等板子拿到手发现器件摆不下、走线全挤在边缘才想起来当初没设好这些层。Z-COPY的价值恰恰在于让你用一两分钟就把这些约束层全部建好把后顾之忧提前消灭。如果你还在用最原始的方法手工描线画Keepin真的建议花半小时把Z-COPY练熟这笔时间投资绝对值回票价。
返回列表