ARTICLE DETAIL

资讯详情

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

Allegro Z-Copy技巧:不规则板框铺铜高效实现

Allegro Z-Copy技巧:不规则板框铺铜高效实现 板边铺铜这件事看着简单真正操作起来能让很多人挠头。尤其是手头这块板子是异形轮廓两三个圆弧加五六个折角想用Allegro 17.4老老实实画一片贴合板边的铜皮光是对齐轮廓就能耗掉半天。后来我把Z-Copy彻底用熟练之后才发现这东西压根不是“辅助画铜皮”的级别它直接决定你做不规则板框铺铜的效率上限。这篇文章我就把这套方法完整拆给你看从原理逻辑到参数面板的每一个选项再到我实际踩过的坑全部摊开讲。本文适合刚接触Allegro的新手也适合用Z-Copy只画过规则矩形、没在异形板上深挖过的工程师。我会尽量把每一步为什么这么做讲清楚而不是单纯甩几个命令让你背。1. 不规则板框铺铜为什么必须用Z-Copy1.1 手工铺铜的三大痛点先说手工铺铜这件事为什么会让人崩溃。用Add - Shape - Rect或Circular去画规整的矩形、圆形板框确实没什么难度鼠标一拖就完事。可一旦板框变成不规则形状比如一个D形板、L形板或者带大圆弧的异形轮廓问题就全来了。第一个痛点是边界对齐。手工画铜皮时你想让铜皮的边缘正好贴合板框边缘同时还要留出固定的间距比如外扩0.5mm或者内缩0.3mm。实际操作里你会发现靠鼠标去沿着折线段逐点捕捉画出来总是歪歪扭扭。尤其在圆弧段手动画只能靠目测做出来的铜皮和板框之间一会儿宽一会儿窄DRC检查的时候密密麻麻全是间距报错。第二个痛点是修改成本。板框形状改了比如客户要求一个直角改成圆角手工铺的铜皮就得全部删掉重画。你没听错是全部重画因为那段圆弧的铜皮边缘没法单独跟新板框自动匹配。做两轮改版光在铺铜上消耗的时间就够你加班的。第三个痛点是动态铜皮的性能问题。如果你用动态铜搭配手工边界在异形板上边界顶点会非常密集这些顶点越多每次避让计算就越慢电脑风扇转得跟起飞一样。等你把板框改一版整片铜皮又要重新避让一遍等待时间直接劝退。所以每当有人问“不规则板框铺铜有没有快一点的办法”我的第一个建议永远是不要画铜皮要“复制”铜皮。1.2 Z-Copy的核心原理与适用边界Z-Copy的本质非常简单以一条闭合的边界图形为源在目标层上复制生成一个同轮廓的新图形并可以按指定数值向内外扩展。它不是一个“画图”工具而是一个“偏移复制”工具。正因为如此你不需要重新描绘板框的任何一条线段只需要告诉它“照着这个轮廓偏移多少”剩下的它全部帮你搞定。在Cadence Allegro 17.4里Z-Copy命令位于Shape菜单下全称是Z-Copy Shape。它能处理的源对象包括板框Outline、已有的Shape、闭合的Line线段组合等目标对象可以是一个Etch层上的铜皮Shape也可以是Route Keepin、Package Keepin这类约束区域甚至可以是Board Geometry下的丝印层图形。这意味着它不只是铺铜专用做禁布区、做板框内缩的走线限制区、做外形加工辅助层全部可以用同一个命令解决。但这里要强调一个适用边界Z-Copy只对闭合图形有效。如果你的板框本身是断开的、有重叠线的、或者由多个不闭合的线段拼成Z-Copy要么直接报错要么生成一个奇奇怪怪的多边形。所以我每次拿到一块新板子的第一步永远是确认Outline数据是干净且闭合的这一步做不好后面全白搭。再扩展一下Z-Copy也不局限于“从板框复制到铜皮”。你完全可以把一块已经铺好的铜皮作为源再次Z-Copy到另一层生成一块同样轮廓但不同属性比如从Etch层复制到Route Keepin层的对象。灵活运用这个思路可以在不规则板框场景下省掉大量重复劳动。2. 动手前的板框规范化准备2.1 闭合性检查Z-Copy报错的头号元凶我在帮别人排查Z-Copy失败的时候十个案例里有七个都是因为板框没闭合。所谓的“没闭合”不一定是你肉眼能看出来的那种断口。很多时候两条线段看似首尾相接但放大到小数点后4位其实差了0.01mm又或者板框是一条条line组成的首尾之间有一小段重叠而不是精确交点连接。这种问题在DXF导入的板框里特别常见因为结构工程师那边画图时的精度和捕捉设置跟Allegro这边不一定完全一致。怎么检查闭合性有两个非常实用的操作。第一个操作是鼠标框选板框的整条轮廓选中后如果是一串连续的line对象它们会高亮成一组这时你去看Properties面板确认这些line是否在同一个Subclass下。如果线条被分散在多个Subclass比如一部分在Outline一部分在Dimension那Z-Copy的时候只能选到一部分自然就闭合不了。第二个操作是执行Shape - Compose Shape命令。这个命令会把一组首尾相连的line自动组合成一个闭合的Shape多边形。如果线条存在微小间隙Compose Shape有时候也能自动容差闭合但如果间隙过大它会弹窗提示你“Gap Detected”。我这里有个经验先随机选两条相邻线量一下端点间距大于0.05mm的话务必回原图修好再导入否则Compose Shape之后的图形可能在局部出现锐角或自交后面铺铜DRC又是一堆坑。2.2 不同来源板框的处理套路板框来源无非几种我分别说下处理套路。第一种是DXF/DWG导入。这种最常见结构同事给的2D外形图导入到Allegro一般是Board Geometry - Outline层。导入之后不要急着用先全选外形线看Properties里的Segment Type。很多情况下DXF里会有多余的重复线段和开放端点还有一些线段因为圆弧转换变成了多段折线肉眼看着是圆弧放大后全是小线段。处理方法是用Shape - Compose Shape把闭合轮廓变成Shape然后用Shape - Decompose Shape再拆成Line这个过程会把多个小线段清理成规整的直线和圆弧。第二种是纯手工在Allegro里绘制的板框。这种相对干净但常见问题是绘制时用了不同的宽度。比如板框先用0.2mm线宽画了几笔又用0mm线宽画了几笔Z-Copy的时候线宽不同会导致偏移基准不统一生成出来的铜皮边缘会有一段段的小台阶。处理方法是全选板框Line统一设置相同的Line width建议用0mm因为Z-Copy本身会按照轮廓几何中心线做偏移线宽越大实际生成的铜皮偏离你心理预期的误差也越大。第三种是利用Placement Outline作为板框参考。有些公司习惯把外形放在Package Geometry - Place_Bound_Top然后用一个单独的Mechanical层做Outline。这种情况做Z-Copy前最好先把外形轮廓复制到Board Geometry - Outline或者你自己指定的一个Sheet层保证源对象干净单一。说到底Z-Copy这个命令不会替你“修复”脏数据它只会在干净数据上跑得又快又稳。所以规范化板框数据不是额外工作量而是整个流程里最值得花时间的部分。3. Z-Copy铺铜全流程实操3.1 启动Z-Copy三种调用方式Cadence Allegro 17.4里启动Z-Copy的方式有三种我按使用频率从高到低排。第一种是菜单操作点击顶部菜单Shape - Z-Copy Shape。这是最直观的方式新手找起来没有难度唯一缺点是鼠标移动路径有点长。第二种是命令输入在命令行直接敲z-copy然后回车。Allegro的命令缩写系统很灵敏输z-copy它也能识别。用熟之后这是最快的方式尤其当你左手放键盘快捷键区、右手抓鼠标的时候敲几个字母比去菜单里翻找舒服得多。第三种是自定义快捷键。编辑HOME目录下的env文件加入类似funckey zc shape z-copy这样的配置保存后重启Allegro按一下快捷键就能直接进入Z-Copy命令不用每次手输。我个人强烈建议把Z-Copy绑定为快捷键因为它出现的频率实在太高了不光铺铜用做禁布区、做板框辅助线都要用。启动命令之后Allegro右下角会出现Find面板你需要在这里选择要复制源对象的类型。默认情况下是Shapes但如果你要把Line板框作为源就得勾上Lines。这一步很多人会漏掉导致鼠标选半天选不中板框。3.2 参数面板逐项解读Z-Copy启动后会弹出Z-Copy Shape对话框这个对话框里的每个选项都值得仔细看一遍因为它们直接决定生成结果是“一次到位”还是“生成后又得手动改半天”。先看Copy to Layer部分。这里有个Class下拉框默认是ETCH表示你要复制到一个电性层。旁边是Subclass下拉框里面列出当前设计中所有可用的层比如TOP、BOTTOM、ART01等等。如果你是想铺铜就选目标铜箔层如果你是想生成Route KeepinClass就选ROUTE KEEPINSubclass选ALL或指定层。这个灵活性记住就行同一个Z-Copy命令能做的事远不止铺铜。再看Object type区域。这里有两个选项Shape和Line。选择Shape时生成的结果是一个闭合的Shape对象适合铺铜、禁布区选择Line时生成的结果是一圈首尾相连的Line线段适合做辅助丝印、加工参考线。我在不规则板框铺铜场景下通常用Shape但如果你需要在板子外围做一层“虚拟边框线”用于标注可以用Line。然后是Expansion输入框这是核心参数。正数表示向外扩展负数表示向内收缩。比如你想让铜皮比板框外扩0.5mm就输入0.5想让禁布区比板框内缩1mm就输入-1。单位跟随你的设计精度设置可能是mm也可能是mil操作时看清楚。接着是Line width输入框。如果Object type选择了Line这个参数决定生成线段的线宽。如果选择Shape这个参数通常用不上保持默认0即可。还有一个关键选项是Copy to a new subtype / Copy to Same Subclass以及Dynamic copper复选框。Dynamic copper默认勾选生成的是动态铜皮会自动避让过孔、走线、焊盘取消勾选则生成静态铜皮不会自动避让。绝大多数情况下保持动态铜。3.3 实操过程记录我现在以一块带两个圆弧和一个斜角的异形板为例走一遍完整操作。板框已经清理干净并闭合位于Board Geometry - Outline层单位是mm。现在要在TOP层生成一片比板框外扩0.5mm的铜皮。第一步执行z-copy命令弹出Z-Copy Shape对话框。第二步Class选择ETCHSubclass选择TOP。第三步Object type选择Shape。第四步Expansion输入0.5注意是正数。第五步保持Dynamic copper勾选状态。第六步点击对话框里的OK按钮这个OK在Allegro 17.4里的位置是左下角别去找传统对话框右下角。第七步回到画布鼠标移向板框轮廓此时板框会高亮单击选中。第八步Allegro会提示你选择复制源方向。这一步是这样的选中板框后Z-Copy会问你想要Shape生成在源轮廓的哪一侧。用鼠标在选中的板框轮廓附近点一下表示“我要往外侧扩”铜皮就会在板框外部生成。如果你在轮廓内部点一下铜皮则在板框内部生成。第九步生成后按F5刷新铜皮颜色显示正常形状完整贴合板框带圆弧的部分平滑过渡没有出现折线锯齿。这一步操作看起来简单但实际工作时我会再做一个动作放大圆弧段确认铜皮边缘与板框轮廓之间的间距在每一处都保持一致。Z-Copy的偏移逻辑是等距偏移正常不会出问题但偶尔因为板框里混入了轻微的折线段会看到局部有微小的起伏这种地方我会用Edit - Shape - Edit Boundary手动修一下圆弧曲线让它看起来更顺滑。4. 参数细节与避坑指南4.1 扩展尺寸的正负逻辑与单位换算Expansion的正负直接决定生成图形相对源轮廓是向外还是向内这个逻辑听着简单但实际项目里翻车率极高主要是单位换算和方向判断的问题。我见过最典型的错误是设计师想要铜皮内缩0.3mm避开板框边缘的焊接区域结果在Expansion里直接输入了-0.3看起来没错但设计的单位是mil不是mm实际生成的铜皮只内缩了0.3mil约等于0.0076mm肉眼根本看不出区别DRC也一切正常最后板子做出来才发现铜皮几乎顶到了板边。所以操作前先看一眼Design Parameter Editor里Graphics页的Size Units确认当前是mm还是mil再进行换算。还有一个容易绕晕的点Z-Copy的Expansion是相对于源轮廓的几何中心线计算的不是相对于板框的物理边缘。如果你的板框Line本身带有0.2mm的线宽Z-Copy生成新图形时是以这条线的中心线为基准向外偏移指定值的。这会导致实际“铜皮边缘到板框外侧边缘”的距离等于你设置的Expansion加上半个线宽。为了精确控制间距建议把板框线宽统一改成0mm再执行Z-Copy然后再把板框线宽恢复回去。这样做出来的铜皮间距才是你脑子里想的那个数。4.2 动态铜与静态铜的选择逻辑Z-Copy生成铜皮时让你选择动态还是静态这个问题我会花半秒钟思考这块铜皮后续需不需要避让周围的走线和过孔动态铜的优点是自动避让每次你改动走线、打过孔动态铜会自动重新计算边界形状保证安全间距。缺点是计算量大异形板加上密集的器件过孔动态铜避让一次可能耗时几十秒甚至更久软件交互会变得迟钝。静态铜恰恰相反生成后不会自动避让但它不会拖慢性能适合放置那些周边没什么网络干涉的大面积铺铜。我的习惯是先用动态铜完成Z-Copy并处理好各项DRC需求等所有走线、打过孔完成后确认整板铜皮无报错再将需要固定不动的铜皮更改为静态。这样既拿到了动态铜的自动避让能力又避免了设计末期静态铜被后期操作意外改动。在Allegro 17.4中动态转静态的操作是选中铜皮后右键选择Change Shape Type把Dynamic改为Static。注意转换之前务必跑一次DRC确认没有间距问题否则转成静态后这些问题会变成硬伤排查起来更麻烦。4.3 线宽补偿值的计算Z-Copy参数面板里的Line width这个字段被很多人当成一个无关紧要的默认值但实际上它对生成Line类型的轮廓线影响很大。当你选择Object type为Line并设置Line width为0.2mm时Z-Copy生成的每条Line线段会自带0.2mm的宽度属性。如果你随后把这些Line用于制造或导入到机械软件机械工程师读取图形时会看到一条“有宽度的线条”外边缘跟中心线之间的偏差为0.1mm在需要精确加工的场合这0.1mm可能就是报废线。我做辅助层轮廓线时统一设置Line width为0。这样的线在制造端会被理解为一条无宽度的纯几何轮廓后续的CAM工程师想怎么偏移加工都有自己清晰的基准。如果确实需要一条“看起来很显眼”的轮廓线比如丝印层的板框指示线建议在生成Line之后再统一修改线宽而不是让Z-Copy带着线宽生成。原因很简单Z-Copy的偏移基准始终是中心线线宽只是显示属性但如果同时使用线宽又配合Expansion容易混乱。5. 常见问题与排查技巧实录5.1 Z-Copy无反应或报错排查我整理了几种高频故障现象每一类我都实际遇到过后面附上排查思路。故障现象可能原因解决办法执行Z-Copy后鼠标点选源对象没有高亮Find面板未勾选对应类型打开Find面板勾选Shapes和Lines重新执行选中板框后提示不能生成板框Line未闭合用Shape - Compose Shape闭合轮廓再执行Z-Copy生成了但形状残缺缺了一段圆弧源轮廓中有重叠线或自交点用Decompose Shape拆分后清理多余线段重新Compose生成的Shape跑到另一个层Subclass选错双击Shape查看属性删除后重新用正确层执行Z-Copy生成后铜皮与外扩值完全不符单位理解错误去Setup - Design Parameter Editor检查单位重新计算Expansion这里面最隐蔽的是“生成了但形状残缺”。我之前遇到过一次板框乍看完全正常圆弧也顺滑但Z-Copy生成后弧形段有一段变成了一条直线连接。排查了好久才发现圆弧段内部其实被导入成了两条重叠的Line一条是真正需要的弧另一条是肉眼几乎分辨不出的弦线。Z-Copy在选择源时把两条线都认成了轮廓导致计算混乱。顺着这个思路我把整个板框Decompose再重新Compose了一回问题就消失了。所以遇到Z-Copy结果跟期望不符不要先怀疑软件先检查源轮廓有没有隐藏的重叠元素。5.2 铺铜后DRC报错的常见类型Z-Copy生成铜皮只是第一步生成后DRC往往才是真正的“战场”。第一类是间距报错。原因通常是Expansion设置的太小铜皮边缘距离板内的器件、走线太近。这时不建议在Z-Copy里重新调整后重生成因为重新生成会丢掉你已经设置好的铜箔属性。更快的做法是选中这片铜皮右键选择Change Expansion在弹出的窗口里修改扩展值让铜皮整体向外或向内偏移这样DRC报错区域会整体移动不需要手动拉扯边界。第二类是形状自交报错。异形板框如果局部凹陷非常剧烈Z-Copy做等距偏移时可能在上凹角处生成了“自己跟自己交叉”的边界。一旦出现这种参数再怎么调也没用因为凹角小于扩展值的时候偏移曲线无法自然生成。我的经验是用Edit - Shape - Edit Boundary在凹陷处手动修剪掉交叠的部分把尖角改成一段小圆弧。这种局部修整在异形板铜皮上是避不开的工作量别指望完全自动化。第三类是动态铜避让后出现的“孤岛”。铜皮看着完整但实际上在某些狭窄区域被周围过孔分割成了相互隔离的小块其中一些没有网络连接形成孤铜。处理方式是在Z-Copy前先规划好铜皮的整体区域尽量让板框平滑过渡生成后如果仍然出现孤铜用Shape - Delete Islands命令清理或者手动将一个孤岛图形合并到主铜皮。5.3 板框后续修改时的更新策略这个场景几乎每个项目都会碰到板框形状变了但铜皮不想从头再来一遍。Z-Copy的好处此时体现得很明显但很多人不知道“更新”的正确姿势。最直接的处理是删掉旧铜皮重新跑一遍Z-Copy。这个方法可靠、干净唯一的问题是你会丢掉铜皮上已经做好的自定义属性比如网络名称、Thermal relief设置。另一种方法是保留旧铜皮用Edit - Shape - Edit Boundary手动拉拽边界去适配新板框。这种方法适合改动幅度不大的情况比如一个角落的圆角半径从0.5mm改成0.8mm手动修比重新生成快很多。我自己的习惯是如果改动仅影响某一个局部区域就用Edit Boundary修如果改动涉及板框整体拓扑比如从D形变成了L形果断删掉旧的Z-Copy对象重新生成。别犹豫重新生成最快。还有一个需要注意的点如果你在铜皮上做了具体网络的赋值重新生成后记得重新赋值。这个环节容易被忽略导致同一大片铜皮分裂成好几种网络属性。为了避免低级错误我重新生成铜皮后会立即用Show Element命令点一下铜皮确认网络归属无误再继续往下走。6. 进阶技巧一铜多用的几种高效玩法6.1 用Z-Copy同时生成外扩铺铜与内缩禁布区Z-Copy的价值其实不限于铺铜。我在实际项目中经常需要同时生成一个“外扩0.5mm的TOP层铜皮”和一个“内缩1.0mm的Route Keepin”。这两个形状完全不同但源都是同一个板框。操作思路是这样的第一次执行Z-CopyClass选ETCHSubclass选TOPExpansion填0.5生成铜皮。第二次执行Z-CopyClass选ROUTE KEEPINSubclass选ALLExpansion填-1.0生成禁布区。两次操作共享同一个板框源Shape轮廓的几何精度完全一致不会出现铜皮和禁布区边缘差几个mil的鬼畜情况。这个思路也可以反向使用先Z-Copy生成一片“铜皮占位区域”再在此基础上做第二次Z-Copy生成一个与该铜皮形状完全相同的机械层图形用于标注装配区域。很多新手并不知道Z-Copy的源不仅可以是Line也可以是现有的Shape。利用这个特性你可以把一片已经修好的异形铜皮“复制”到其他图层延伸出很多用途。6.2 不规则板框铜皮的二次编辑Z-Copy生成铜皮的边缘如果你觉得圆弧不够顺滑、某个角过渡太生硬可以直接用Edit - Shape - Edit Boundary命令来微调。启动命令后选中铜皮进入边界编辑模式你会看到铜皮的轮廓边线变成可拖拽状态。在需要修改的位置右键选择Insert Vertex可以增加顶点选择Change Arc/Circle可以裁剪圆弧半径选择Delete Segment可以删除局部边界。需要提醒的是手动编辑边界时尽量保持“对称”和“等距”这两个原则。对称是说你改了铜皮的左上角最好把右上角也改成同样的曲率这样板子看起来协调等距是说你修正后的边界到板框的距离尽量保持全局一致不要出现某一段间距特别大、另一段又特别小的不均衡状态。对于不规则板框这点尤其重要因为不均匀的铜皮边缘在后期贴片焊接时可能导致局部受热不均。6.3 用环境变量与脚本固化流程如果你的公司经常处理类似形态的异形板我建议把Z-Copy的参数固化成一个脚本文件用Allegro的Skill脚本或者简单的快捷键宏都可以。比如写一个快捷键组合一键设置ETCH层Z-Copy 外扩0.5mm另一个一键设置ROUTE KEEPIN层Z-Copy 内缩1mm。这样每次执行相当于一个“半自动”的操作虽然还是要点一下板框但参数不会再填错。Allegro 17.4的env文件配置方法是找到安装目录下的allegro.env或者用户目录下的local.env添加类似下面的行funckey zc z-copy funckey zk z-copy shape etch top 0.5注意不同版本的命令格式略有差异建议先在命令行手动确认一次完整调用方式再写进脚本。如果你对Skill脚本更熟可以写一个更复杂的函数从板框自动提取轮廓、自动设置层属性、自动生成铜皮并命名网络那效率还能再上一个台阶但没必要为了简单场景写太复杂够用就好。7. 最后再分享一点个人经验用Z-Copy做不规则板框铺铜我从第一次翻车到现在基本不怎么卡壳最大的体会是工具本身不难难的是数据底子。板框干净一个Z-Copy三秒钟出结果板框脏后面所有操作都会被拖进泥潭。所以每次拿到新项目我会先把检查板框闭合性、统一线宽、清理重叠线段这三件事做完再谈铺铜。磨刀不误砍柴工这句话放在PCB设计里是实实在在的真理。另外一个小建议铜皮生成后不要急着接着画走线先花两分钟放大看一遍圆弧段和折角处的过渡是否顺滑跟板框边缘的间距是否均匀。这花不了多少时间但能帮你提前发现大部分后期会变成DRC炸弹的问题。铺铜不是越快越好是基于干净的数据一次做对最好。
返回列表