尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Allegro板框定义实战:从规则矩形到DXF导入异形板避坑指南

Allegro板框定义实战:从规则矩形到DXF导入异形板避坑指南 在PCB设计这个行当里泡了这么多年Allegro算是用得最久、踩坑也最多的工具了。要说哪个环节看着不起眼、实际最容易让人栽跟头我一定投票给板框定义。别小看这一圈线——它决定了后续铺铜范围、DRC边界、装配尺寸、光绘层面出图甚至后面打样厂照不照你的板子做全看它靠不靠谱。规则矩形板还好一旦碰上异形板、圆弧边、阶梯槽再叠加DXF从结构那边导过来问题就一串一串地来。这篇东西我不打算写成官方手册纯以实战角度把Allegro里板框定义的几种主流方式、异形板处理经验、以及DXF导入环节最容易踩的坑一次性捋清楚。这篇内容适合正在用Allegro做板子的硬件工程师、PCB Layout工程师特别是被“板框线选不中”“单位怎么又不对了”“轮廓明明闭合却转不成shape”这类问题折腾过的人。无论你是刚接触Allegro的新手还是已经被异形板折磨过的老手下面这些操作路径和避坑经验基本都能直接拿来用。1. Allegro里板框到底指的是什么1.1 板框层在Allegro中的真实身份很多新手刚用Allegro时会懵怎么有Design Outline、Board Geometry/Outline、Route Keepin、Package Keepin这么多跟“边”有关的东西到底哪个才是板框先说结论真正决定最终PCB外形的那条闭合轮廓线业内默认放在Board Geometry/Outline层这个层在Allegro内部归属于Board Geometry这个大class。你给板厂出加工说明时导出的“外形尺寸图”也是从这一层来的。Design Outline在16.6、17.2、17.4里也可以生成但它更多是一种辅助设计边界不如Board Geometry/Outline用得普遍。我这里统一以Board Geometry/Outline为准。至于Route Keepin和Package Keepin它们本身不是板框而是你画完板框之后“为了让布线不超出板边、器件不贴到板边”而生成的约束区域。很多人把它们混为一谈其实搞反了顺序——先有Outline后有Keepin。Outline定义了物理边界Keepin定义了约束边界。后面我会单独讲怎么从板框一键生成这两类Keepin这里先建立概念就好。1.2 板框定义影响范围远超你的想象板框这一圈线影响的东西非常多我列个不完全清单铺铜边界负片/正片铺铜是否超出板边、走线DRC检测范围、元件放置范围、螺丝孔与定位孔的基准、光绘文件中的外形层、3D模型导出轮廓、拼板工艺边的预留。可以说板框一错下面所有环节全跟着错。我之前遇到过一个Case结构工程师给的DXF画的是“1:1 mm”图我导入时在Allegro里也选了mm但导入后量出来尺寸整整大了一圈。后来查出来是CAD图纸里实际单位是mil而图框标题栏却写的“毫米”一个单位选择失误整板尺寸比例直接乱掉连板框都差出一大截。这种错误很隐蔽因为它不报错、不红绿只有拿尺子去量才能发现。所以这篇文章我会反复强调同一件事板框定义完成后第一件事一定是尺寸复核这不是走过场是真能救命的习惯。2. 规则板框的定义方法从新建PCB到标准矩形2.1 用Design Outline向导快速生成规则板框如果你拿到的项目是一个标准矩形板、没有特殊缺口最简单的方式就是用Allegro自带的向导不需要自己拿线去画。操作路径是Setup - Outline - Design Outline不同版本菜单名略有差异16.6叫Design Outline17.x之后在“Setup - Outline - Design”下面也能找到。点开后弹出一个对话框里面你要填的无非三类信息宽度、高度、原点坐标单位会跟随当前画布的User Units。举个例子假设我们要做一块100mm x 60mm的板子原点放在左下角。先把单位切到毫米Setup - Design Parameters - Design - User Units选中Millimeter。然后打开Design Outline对话框Width填100Height填60Origin X填0Origin Y填0点击OK或Apply。Allegro会直接在Board Geometry/Outline层生成一个闭合矩形准确地说它是四条line/arc首尾相接的封闭轮廓并且会自动把Route Keepin和Package Keepin一并生成到位。如果你在对话框里看到了“Create Route Keepin”、“Create Package Keepin”之类的选项默认勾选即可。这里有一个老工程师习惯用、但新人不一定注意的细节向导生成的矩形轮廓角上默认是直角但实际生产里绝大多数板子都会要求倒圆角哪怕只是R0.5mm的小圆角也强烈建议倒一下因为直角处容易应力集中PCB分板时也容易崩边。这个我放到后面的倒角小节里细说。2.2 手动绘制加精确坐标的进阶玩法向导毕竟只能生成规则矩形很多时候我们要的“规则板”其实不是纯矩形——比如单边切了个斜角、一边是阶梯形这种就不能指望向导了得手动画。手动画也不难关键是要掌握坐标输入法。操作流程是这样的先把活动层切到Board Geometry/Outline用Add - Line命令然后在命令窗口里依次输入坐标点比如x 0 0回车、x 100 0回车、x 100 60回车、x 0 60回车、x 0 0回车。每次回车都会生成一段线坐标点之间自动连线效率非常高。Allegro命令行支持绝对坐标输入这是我认为最被低估的绘图方式——不用在界面上慢慢挪鼠标输入即可定位适合所有需要精确到0.01mm的场景。有个新手容易犯的失误画到最后一条线时没有回到起点结果画出一个开口轮廓。解决方法是画完最后一点后手动输入起点的坐标将其闭合或者用Manufacture - Drafting - Join Line去连接首尾线段。画完闭合轮廓后建议立刻用Display - Highlight选一下轮廓线看有没有断点、缺口。如果是多段线段还可以用Shape - Compose Shape把它们合并成一个封闭shape方便后续做Z-copy或检查闭合性。手动绘制看起来比向导多几步但它不受板形限制L形、凹槽、斜切都能搞定。2.3 用脚本和Skill批量生成同规格板框如果你所在的团队经常做固定尺寸的模块板比如常见的24mm x 48mm、30mm x 30mm每次都手动画一遍其实很浪费时间。Allegro支持脚本录制和Skill脚本编写一条很实用的路径是手动画一次标准板框同时执行File - Script - Record把操作录制下来保存成一个.scr脚本。以后只要File - Script - Replay回放一遍板框就自动画好了尺寸完全一致。更进一步的做法是写一个简单的Skill函数参数化生成板框。比如从命令行调用generate_outline(100 60 0.5)函数内部根据宽度、高度、圆角半径自动创建对应轮廓线。对于需要频繁改版、快速试方案的场景这种批量生成方式非常高效。当然这不是必须项——如果只是偶尔画一次板子手动绘制完全够用。但我建议至少把Script方式学会成本低、见效快。3. 异形板框的画法与编辑技巧3.1 直接在Allegro里画异形轮廓的三种组合方式异形板框听着唬人拆解下来无非是直线、圆弧、斜线这三种基本元素的排列组合。Allegro里画异形轮廓我通常用三种方式组合Add - Line画直线段、Add - Arc with 3 points三点画弧、以及Add - Arc w/radius指定半径画弧。对于L形、T形这类带内凹的板框直线段就够了带弧形边的板框在圆弧处用Arc命令圆心和半径信息可以从结构图里直接拿到。举个例子一个带半圆头的板框结构图上给的参数是“方头100mm x 60mm左侧为R30半圆”。操作步骤是用Arc w/radius画左侧半圆命令输入时指定圆心0,30半径为30起点在(0,0)终点在(0,60)。然后把从(0,60)到(100,60)、再到(100,0)、回到(0,0)的直线段补上。这样画出来的轮廓就是一个完整的闭合板框没有多余曲面也能被Allegro正确识别。核心是理解圆弧的圆心、半径与起终点这比闷头拖鼠标靠谱得多。3.2 倒角、倒圆角与外轮廓修整画完直边的异形轮廓后往往还要对外角做处理——要么倒角(C Chamfer)要么倒圆角(Fillet)。Allegro里相关命令在Manufacture - Drafting - Chamfer和Manufacture - Drafting - Fillet。这两个命令会要求你设置参数比如倒角宽度、圆角半径然后点选相交的两条线段它会在交点处自动生成过渡线。我个人的习惯是外部直角一律R0.3mm以上内部直角尽量加直倒角C0.2mm~0.5mm如果没有特殊要求则圆角尺寸取整0.5mm、1mm、2mm均可属于SMT拼板常见值。千万别把圆角设成“0.01mm”这种几乎等于直角的数值放在生产端没有任何意义反而容易让板厂在铣外形时产生误差。另外用Fillet命令时要注意两条线段必须在同一层、并且相交于同一个端点如果两者之间有极微小间隙Allegro可能会提示“cannot find intersect point”。这时先用Show Measure量一下端点间隙再用Edit - Vertex微调端点坐标或者用Edit - Delete删掉其中一段重新画让两条线“真正相交”。3.3 在板框上做切槽、缺口和沉板位异形板里还有一种很常见的情况板框本身是一个矩形但边上有缺口、沉板位、USB接口槽位。很多新手遇到这种情况直接在矩形轮廓上画一个闭合的小矩形以为那就是“挖孔”——错板框轮廓是一个单闭环不能同时存在两个互不相交的闭合圈否则Allegro不知道哪条才是外形边界。正确的做法是把原有轮廓线打断沿着缺口路径重新连线让整个轮廓变成“一条整体的多段线”只是这条多段线在某些位置凹进去了。操作上我先用Edit - Delete删除缺口位置的原有直线段再用Add - Line或Add - Arc w/radius补上缺口的内侧边界线。这样轮廓线依然是单一闭环中间没有多余交叉DRC、生产都能正常识别。比如一个矩形板右边界要开一个深5mm、宽8mm的沉板位就把右边那条线从对应区间删掉然后把上边界到右边界到内凹三边到下边界按坐标依次连接起来即可。这个技巧看着简单但做错的人真的不少——尤其是从原理图库转过来的板框经常出现多个闭环后续钻孔文件都有可能跟着错。4. DXF导入板框完整流程与避坑指南4.1 CAD端准备五个必须完成的动作异形板框如果形状复杂、曲线又多我强烈建议别在Allegro里硬画直接从结构那边的DXF导入。但绝大多数人在导入环节栽跟头根子其实是CAD端没准备好。奉劝大家向结构工程师提需求时把下面五件事一次性说清楚省得来回扯皮第一删除无关元素。CAD图纸里往往包含尺寸标注、中心线、文字说明、安装孔标记、元件位号等这些统统要清干净只保留板框轮廓线和需要的定位孔线。原因很简单Allegro导入DXF时不会自动过滤带进来的每一条线都会成为你后期筛选的负担如果你不小心把尺寸线也弄到了Outline层光绘里都会出现一段莫名其妙的线。第二板框线必须画在单一图层。这是最容易被忽视的一点。很多结构工程师习惯把外框、内腔、辅助线分层画到了你这边就乱套。导入前让他们把所有外轮廓线统一放在一个图层比如“OUT”层或“Board_Outline”层你在Allegro里做层映射时只需要把这一层映射到Board Geometry/Outline就行省心省力。第三用PLINE合并轮廓线。CAD里轮廓线如果是一段段彼此独立的LINE导出DXF后Allegro看到的全是离散线段后面做闭合处理非常痛苦。正确的做法是先用PEPolyline Edit命令将外框的所有线合并为一条完整的闭合PLINE。如果轮廓里有Spline样条曲线需要先用PE将其转成近似的Polyline因为Allegro对Spline支持很差转成Polyline后虽然会有一些细微折线但至少不会丢线。第四单位统一并写进沟通记录。我前面提到过CAD图纸单位混乱是最大的坑。你应该养成一个习惯每次导入DXF前先用CAD的UNITS命令查一下图纸真实单位然后明确告诉对方你要的DXF是什么单位并在文件名或邮件里标注“单位mm”或“单位mil”。如果对方给的是mil的图你又按mm导板框直接缩小或放大39.37倍基本全毁。第五导出低版本ASCII格式DXF。在CAD里另存为时文件类型选择“DXF”版本选择2000/2004/2007均可不要选最新版。Allegro对老版本DXF兼容性更稳定。同时建议保存为ASCII而非二进制虽然二进制文件小但在某些版本上会碰到读取异常。4.2 Allegro端导入层映射与单位设置的实战细节CAD端准备完后到Allegro这边就清爽多了。路径是File - Import - DXF打开后先看右侧的Configuration选项。首先确认DXF units和当前PCB设计的单位一致比如DXF是毫米Allegro当前也应切到Millimeter再选“Same as DXF file”或手动指定毫米。如果单位不一致可以在这里直接换算但我的建议是宁可先去改设计单位也不要在这里强行换算因为换算后的线条坐标经常出现你肉眼看不出的微小偏差后续对齐麻烦。接着是关键环节Edit - Layer Mapping。这里会列出DXF文件里所有图层你需要把板框所在的那个DXF层映射到Allegro层的Board Geometry/Outline把定位孔/非金属孔层映射到Board Geometry/Board_Cutout之类的层没有的话可以新建一个临时层。其余多余的层要么不映射、要么映射到一个临时层比如Board Geometry/DXF_TEMP。我在自己项目中习惯把所有非板框元素都丢进一个临时层这样可以先核对信息再按其内容决定是否清理。设置完毕后点击ImportAllegro会在Console里输出导入结果。如果长时间没有反应别急大图纸首次导入可能要等一两分钟如果卡死多半是DXF文件包含异常实体回CAD里再清理一次。导入完成后按Display - Color/Visibility把相关层打开检查图形是否到位。这时大概率会遇到我下一小节要讲的“线太碎、单位不对、闭合不了”三大问题。4.3 导入后的板框转换、闭合检查和尺寸校验DXF导入完成后你手里可能只是一堆line/arc它们并不自动等于板框。需要做三个动作合并、闭合、验尺寸。合并用Manufacture - Drafting - Join Line先把首尾靠近但没连续的多段线段连接成一条如果线段之间存在微小间隙Join命令有时候会失败这时可以用Edit - Delete删除那一小段用Add - Line补上精准的连接线。闭合则可以用Shape - Compose Shape选择所有轮廓线Allegro会尝试把这些线生成一个闭合shape如果弹出“Shape is not closed”之类的提示说明轮廓中还有没接上的断口需要用Show Measure逐段检查端点坐标。尺寸校验是绝对不能跳过的一步。用Dimension - Linear测量板框的长、宽、对角线再量几个关键的定位孔坐标和结构图逐项比对。这里我再分享一个实用技巧可以先在CAD里量好基准尺寸比如“宽度100.00mm”高度60.00mm导入后如果Allegro量出来是3937mil那就说明单位混听了赶紧重导。另外用Display - Highlight把轮廓线高亮显示肉眼检查有没有多余的短线、交叉线、重复线这些在实际生产中都可能导致铣边轨迹异常。如果最终确认轮廓线闭合、尺寸正确再把它正式作为板框使用可以继续保持Board Geometry/Outline层的line形态这是最常用的方式也可以利用Setup - Outline - Generate from selected版本不同名称略有差异将其转化为带Route Keepin的完整结构。我个人推荐至少保留Board Geometry/Outline层的line轮廓同时生成对应的Route Keepin和Package Keepin三件套齐了后面画板DRC才不慌。4.4 我踩过的DXF导入坑这部分算是我个人血泪总结单独列出来每条都是我真实遇到过的值得收藏。第一个坑导入后线条带Net属性。DXF里的实线有时候会在Allegro中变成Cline带网络名的线而不是Line。一旦带Net它可能被当成电气连线导致板框附近出现短路DRC极其迷惑。解决办法是选中这些线用Edit - Decompose或Edit - Change把它们改成Line具体操作要看版本Decompose可以把cline变成lineChange可以把任意线改为没有网络的Line。第二个坑圆角变成多边形折线。DXF导入后CAD里的圆弧有时是近似折线尤其是经过Spline转Polyline后看着曲度没问题但到了Gerber导出后板厂用传统铣床加工还能接受用激光切割时那一点点棱角就会暴露出来。我的处理原则是重要圆角尽可能在Allegro里重画用之前的Fillet命令手动修整一遍。别嫌麻烦异形板这钱省不了。第三个坑增量导入导致“旧线没删新线叠叠乐”。结构图一旦有改版很多工程师直接在新版上重导一遍结果旧轮廓和新轮廓叠在一起看着乱不说还可能让Allegro认为有多个轮廓。正确做法是导入新版前先把旧的Outline层内容备份后全部删除或者把新版先导入到临时层与旧版对比修改后再替换。我在团队里一直规定除非只是微小改动比如某个坐标从50.0改成50.2否则一律整体替换这样最干净。第四个坑原点不一致导致整板偏移。结构图的基准点往往和PCB设计原点不重合导入后板框可能落在距离原点很远的坐标上。这时不要慌Edit - Move框选所有导入图形在Options面板里选择“Move by x,y offset”或者在命令窗口输入相对位移把某个基准点移到设计原点。有时候为了对齐我会先固定一个定位孔为(0,0)再把结构图上对应孔位坐标作为参考做平移。记住对不齐越大越容易出错尤其是拼板、装配文件输出时原点错一位都是大问题。5. 板框定义后的配套设置与常见问题速查5.1 Route Keepin、Package Keepin 的一次性生成板框定义好了别急着布线先把两个Keepin生成出来。一个负责约束走线和铺铜一个负责约束器件摆放少了它们你的DRC会漏掉很多板边问题。路径Setup - Outline - Route Keepin - Create然后选择“From existing outline”或直接用闭合shape创建同样操作再对Setup - Outline - Package Keepin - Create执行一遍。如果之前没有生成shapeAllegro也会提示你是否基于选中的outline轮廓自动创建。这里有个细节Route Keepin一般比板框内缩一个值常见做法是保持与板框一致、或者内缩0mm~0.5mm具体看公司工艺规范。Package Keepin同样道理。如果你做的是高速数字板可能还要单独为模拟区域、射频区域画子Keepin那就不是本文重点了。反正记得一点Keepin创建后铺铜和布线被自动约束在范围内板框外不再出现飞线或铜箔碎片。这比SVL后期清理省心得多。5.2 板框相关的DRC报错与排查板框常见DRC报错主要是三种package to outline spacing、line to outline spacing、以及因为Outline层存在带Net对象导致的短路误报。第一种通常是器件丝印或本体贴到板边太近不符合设定间距。先确认Package Keepin是否生成如果生成了还报错那就是器件摆放超出Keepin边界可以手动微调。第二种一般是走线或铜皮越过了Route Keepin排查时可以高亮Line to Outline的DRC标记再沿着轮廓逐个处理。第三种多由DXF导入时线条带Net引起前面已经讲过直接Decompose去掉Net即可。DRC报错发生之后先不要急着挪器件、改线。我的排查顺序是先看板框本身是否闭合、是否有重复线、是否有Net再看Keepin是否与轮廓完全匹配最后才去查器件和走线。很多DRC其实是板框自身不干净引起的而不是布线问题。5.3 高频问题速查表问题现象常见原因解决方案板框尺寸放大/缩小几十倍DXF单位与Allegro单位不一致用UNITS确认CAD单位Allegro侧重设单位并重新导入板框线选不中、无法高亮线在冻结/隐藏层或层映射错误Display - Color/Visibility打开对应层确认层映射轮廓看起来闭合Compose Shape却报错端点处有微小间隙或重复线Show Measure检查端点用Join/Delete/Add Line修复导入后线条带颜色但无法转换成Outline图形是Text/Block引用而非LineCAD端炸开块Explode转成PLINE圆弧在导入后缺失或变形Spline未转PolylineCAD端用PE命令转成Polyline或Allegro内重画圆弧旧版板框总有一小段残影增量导入叠加未清理干净整体替换前先删除旧Outline内容如果你碰到表里没覆盖的情况我的建议是把问题拆小先确认单位、再确认层、再确认闭合性、再确认Net属性按这个顺序排查99%的板框问题都能定位到某一环。最后再分享一个偏门但实用的经验结构图修改频繁的阶段我会先把每次导入的DXF都放到Board Geometry/DXF_TEMP层然后在这个临时层上对照旧板框做差异检查。确定没问题了再一次性把TEMP层的内容替换到Outline层。这样做的好处是改版再频繁正式板框层永远是干净的。毕竟板框是PCB的家家里乱不乱直接决定后面一段时间你的工作效率。
返回列表