ARTICLE DETAIL

资讯详情

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

Allegro板框设计全攻略:从手绘到DXF导入的完整流程

Allegro板框设计全攻略:从手绘到DXF导入的完整流程 1. 板框不只是个框它在Allegro里的真实身份有一次我把板框定义错了板子外形比结构图大了整整10毫米。更尴尬的是铺铜和器件布局都已经按这个错板框做完了最后只能抽一个通宵重新处理铜皮和坐标。从那以后我再也不敢小看板框这一步。在Allegro里板框不是一个随手画画的矩形它是整个PCB设计的机械边界也是布局、铺铜、DRC和制造出图共同依赖的第一手数据。1.1 板框同时管着布局、铺铜和制造的边界Allegro里面板框的标准位置是 BOARD GEOMETRY/OUTLINE 这一层Class 是 Board GeometrySubclass 是 Outline。这是Cadence默认约定也是出Gerber时板厂默认会去找的一层。如果画到了别的层比如画到了 Mechanical 1 或者 ASSEMBLY_TOP 上很多时候不是立刻报错而是等到投板或者做结构装配时才发现问题那时候返工成本已经上去了。板框到底管了哪些事首先是布局范围Route Keepin 和 Package Keepin 通常都是根据板框内缩一定距离生成的板框变了这两个约束范围也要跟着变。其次是铺铜Allegro里的Shape Pour不管是动态还是静态外边界如果参考板框那板框一变铜皮范围就要重新拉。第三个是DRC板框和铜箔、走线之间的距离是要满足制造工艺的板框画错这些检查全都失去基准。最后是制造板厂数控铣外形就是拿着OUTLINE层的线段去生成走刀路径线段断没断、宽度是多少、在不在正确层直接影响成品能不能做出来。1.2 板框画错的连锁反应我见过不少新手把板框画成零线宽线段屏幕上看着细线一条感觉没什么问题。但到光绘输出时零线宽线段在一些光绘格式下会直接丢失板厂拿到的文件里根本没有外形。还有一种情况是板框画成了一个不闭合的环比如四边只有三条线Allegro的DRC未必会第一时间报出来但出Gerber后板厂就会打电话来问外形边界到底在哪。更隐蔽的问题是板框与原点位置关系混乱。有人建板时原点在0,0但板框从100,100开始后面做拼板、做坐标文件、和结构工程师对位时所有坐标都带着一个大偏移非常容易出错。这些问题单独看都不大但叠加起来就是板框没定义好导致的全流程痛苦。所以我习惯在项目一开始就先把板框认认真真定义清楚后面每一步都踏实。2. 规则板框三条路手绘、坐标定尺寸、Z-Copy借形规则板框通常指矩形、正方形、切角矩形这类能用规则工具完成的板形。在Allegro里定义这类板框我最常用的是下面三种方式按实际场景选即可。2.1 先做两件小事切单位和活性层画板框之前先统一单位。Allegro默认单位可能是Mil但结构图纸一般用毫米单位不一致是后面很多板框看着不对的根源。我一般在 Setup - Design Parameters - Design 标签下把 User Units 改成 Millimeter精度保留两位小数。这个设置会跟随设计文件保存后面所有测量、坐标输入都以毫米为准不会出现算来算去搞错单位的问题。然后是设活性层。在右侧Options面板里把PCB层的 Class 选成 Board GeometrySubclass 选成 Outline或者直接在旁边的层下拉框里找到 BOARD GEOMETRY/OUTLINE 并置为当前层。之后画的线段和矩形就会自动归到这层。这一步很多人会漏画完才发现图形跑到了别的层再整体改层很麻烦。2.2 手绘矩形加命令行定位矩形板框最直接的方法是用 Add - Rectangle。但画之前记得在Options里把 Line width 设为一个非零值我习惯设为0.2mm或者8mil。板厂对这个线宽本身不敏感关键是光绘输出时线段不会丢而且图形在屏幕上看得清楚。画法上不要靠鼠标乱点而是用命令行输入坐标。比如矩形左下角放在(0,0)右上角放在(100,80)操作是这样点下 Add - Rectangle 后在命令行输入x 0 0回车再输入x 100 80回车矩形就精确定位了。Allegro的命令行支持这种x坐标输入画线、画Text、放器件时都可以用。如果你用的版本没有 Rectangle 工具可以用 Add - Line 画四条边首尾分别用坐标定位效果一样。2.3 Z-Copy快速借形有些情况下你手上已经有一个封闭图形比如从结构部门拿来的DXF外形、或者之前画在某个机械层上的外形想把它转成OUTLINE板框。这时候没必要重新描一遍用 Edit - Z-Copy 可以直接复制边界轮廓。操作时在Options里设置好目标层Class 选 Board GeometryNew Subclass 选 OUTLINE然后设置 Offset 和 Line width。Offset一般填0线宽填0.2mm。接着选源图形可以是Shape也可以是闭合的线段。Z-Copy会按轮廓生成一份新图形到目标层。这个方法在DXF导入后借形上特别有用后面第4章会再次用到。3. 异形板框的构建思路让圆弧和倒角老实听话异形板框是很多人的痛点比如L形板、C形板、带半圆弧边的板、带大圆角的电源板。其实Allegro画异形板框的核心就一句话用Line和Arc把边界拼完整不要求一定合成Shape。3.1 直线加圆弧异形板的基础画法Allegro的 Add - Line 可以画直线段Add - Arc 可以画三点圆弧。异形板常见的做法是先用直线把主要边界画出来再在需要圆弧的地方用 Arc 连接相邻的两条直线。Add - Arc 出来的是三点圆弧模式先点第一个端点再点弧线上的一点最后点另一个端点。实际操作时为了让圆弧和相邻直线切得顺最好借助坐标和Grid捕捉否则圆弧端点会和直线端点差那么一点点后面检查闭合时会很折磨人。如果你的异形板是由结构图给出的强烈建议直接用第4章的DXF导入别自己手工描圆弧手工描出来的圆角和结构图上对不齐后面装配很容易出问题。3.2 圆角和倒角用哪个工具如果只是给矩形或L形板加圆角不用手工画弧Edit - Fillet 是更省事的办法。选中两条相邻直线段给个半径值Allegro会自动在两个线段之间生成一段圆弧并且自动把直线剪切到切点位置。这个工具在做圆角矩形板框时非常好用先画直角矩形再对四个角分别做Fillet半径填5mm或10mm一个圆角板框就出来了。Fillet出来的圆弧是真正的Arc对象不是折线段这对后续加工更友好。要注意的是Fillet工具要求两条线段是相交的而且必须在同一层。如果你的矩形是用 Add - Rectangle 画的可能没法直接Fillet因为Rectangle工具生成的是一个闭合的整体图形而不是四条独立线段。这种情况要么先把矩形炸开要么直接用Add - Line画四条边再Fillet。不同版本对Rectangle对象的编辑方式有差异我个人的习惯是只要后续要改圆角一律用Add - Line画边框。3.3 别急着Compose Shape线段和Shape的取舍很多教程会让你用 Shape - Compose Shape 把板框变成一个Shape对象认为这样才正规。但说句实话板框在绝大多数场景下保持Line和Arc线段就足够了。线段形式的板框在后期修改时非常方便想改哪一段直接Edit - Delete再重新画一小段就行。而一旦Compose成Shape后面要调整外形就得用Edit - Vertex去推顶点操作繁琐得多。Shape的主要用途是表示铺铜和开槽区域。比如一个非金属化槽需要用 Shape 在 BOARD GEOMETRY/CUTOUT 上画出来这样铺铜和DRC都会把槽当成边界处理。而OUTLINE层本身我建议保持为线段集合这是投板最通用、最稳定的形态。3.4 用Compose Shape当闭合探针虽然不建议把最终板框合成Shape但Compose Shape是一个非常好用的闭合探针。想检查一个外形是不是完全封闭可以试一下对OUTLINE层执行 Shape - Compose Shape如果能成功生成Shape说明边界闭合如果弹警告说边界不完整它就会帮你定位缺口在哪儿。用完之后直接 Undo 撤销板框又回到线段状态不影响使用。这个技巧我在日常检查中几乎每次都用比肉眼盯着屏幕找缺角要靠谱得多。4. DXF导入完整流程把结构图请进Allegro现代PCB设计里板框很少是PCB工程师自己凭空画的大多来自结构工程师的2D图纸。DXF是结构图和PCB工具之间最通用的交换格式。把DXF顺利导入Allegro并变成可用的板框是每个layout工程师都要熟练掌握的操作。4.1 CAD侧的准备比导入本身更重要先说一个反复出现的现象很多人在Allegro里导入DXF失败或导入后图形乱七八糟第一反应是Allegro导入功能不好用但实际上问题多半出在CAD侧的图纸不干净。在CADAutoCAD里导出DXF前建议做几件事。第一确认绘图单位用 units 命令查看是毫米还是英寸记下来。第二把所有Block都炸开explode因为Allegro的DXF导入对Block的支持有限不炸开会导致图形丢失。第三用PEDIT把相邻线段合并成连续的多段线尤其是外形边界最好是一条完整的闭合多段线。第四如果文件里有很多重复对象用OVERKILL命令清理。第五把标注、文字、中心线这些非外形内容放到独立的层里或者干脆删除只保留外形几何。最后导出时选择兼容性好的版本比如AutoCAD 2000 DXF避免太高版本带来的兼容问题。这些准备看起来繁琐但能省掉后续大部分清理时间。我见过一份DXF导进来后有一万多条碎线段就是因为在CAD里没合并多段线结果在Allegro里光清理线段就花了大半天。4.2 Allegro里DXF导入选项逐个说清楚导入操作很简单File - Import - DXF然后在弹出的对话框里选择文件。但对话框里的几个选项如果理解不到位很容易出问题。首先是DXF Units这是最关键的一项。它告诉Allegro这份DXF图纸的长度单位是什么选项一般有MM、MILS、INCH等。这里必须和CAD里的实际单位一致。比如CAD里用的毫米这里就选MM如果CAD图里实际是英寸但导出时没统一这里选错导入后板框尺寸会按比例缩放最常见的就是25.4倍误差。其次是Layer Mapping也就是图层映射。DXF里的每个层名都可以映射到Allegro的Class和Subclass。默认映射可能会把全部内容都扔到某个机械层上这不是我们想要的。建议手动把DXF的外形层映射到 Board Geometry/OUTLINE如果是多层结构把结构层映射到 Mechanical 1 或其他机械层。映射之后再点Import。还有 Text 相关选项比如Text Scale 和 Offset这些通常用于PCB上的丝印信息导入画板框时用不到保持默认就行。如果你的结构图里包含大量文字和标注而这些文字又不需要导入最好在CAD里就删掉能减少很多干扰。4.3 导入后如何变成真正能用的板框DXF导入进来后图形可能落在你映射的OUTLINE层上也可能因为映射不全落在别的层。先打开可见性看下Result面板里的错误信息确认导入数量然后用 Display - Measure 量一下长边核对尺寸和原图是否一致。如果图形没有直接落在OUTLINE层不要重新画找一个完整的封闭轮廓用第2章提到的 Edit - Z-Copy 把它借形到 BOARD GEOMETRY/OUTLINE 层。这也是我在实际项目里最常用的流程DXF先导入到一个临时机械层检查无误后再借形到OUTLINE。还有一个问题要注意DXF里的线段默认可能都是零线宽导入Allegro后会显示成细线。如果这批线段要当板框用就要统一改成非零线宽。最省事的办法是框选这些线段在Options里批量改Line width或者在Find面板里勾选Lines再通过Edit - Change属性统一设置线宽。改完之后再用Compose Shape检查一次闭合性确认无误后就可以用了。5. DXF导入高频翻车现场单位错乱、比例漂移与线段断裂DXF导入的坑我基本都踩过一遍下面这些是最高频的翻车现场每一个都有具体的排查思路和解决办法。5.1 25.4倍误差是怎么来的最经典的一个问题是板框导入后整个板子尺寸大了25.4倍或者小了25.4倍。原因几乎全是单位设置错位。CAD图纸本身可能是毫米但导出的DXF文件头里写的是英寸或者Allegro导入时在DXF Units下拉框里选错了又或者CAD里图形虽然标着毫米但实际是按英寸画的。判断方法很简单导入后先用Measure量一下已知尺寸比如板框长边应该是100mm量出来却是2540mm那就是被放大25.4倍了。这种时候千万不要试图用Edit - Scale去硬缩放Allegro里对零散线段做整体缩放很容易把坐标精度搞坏而且缩放后圆弧、线段的位置可能漂移。正确做法是选中导入进来的图形Delete删除回到CAD里确认单位重新导出DXF再在Allegro导入时选对DXF Units。如果CAD里图形就是按英寸画的而你又希望板框以毫米为单位那就需要在CAD里先用SCALE缩放到毫米再导出DXF。把单位问题解决在源头比在Allegro里花时间硬调要可靠得多。下面这张表是几种常见单位组合导致的误差方便对照排查图纸实际单位Allegro导入时选错为结果毫米INCH放大25.4倍英寸MM缩小为1/25.4毫米MILS缩小为约1/39.37英寸MILS放大约39.37倍5.2 线段断裂和重复线段DXF导入后外形边界经常是一堆小线段拼起来的有些线段首尾之间还差0.0001mm的微小缝隙肉眼看不出来但一到Compose Shape就报错。另外重复线段也很常见CAD里同一位置叠了两条线导入后也会叠在一起后续做DRC、出光绘都可能产生不确定行为。处理思路分两步。第一步搞定重复线段。如果图形简单直接框选删除重叠部分就行如果图形复杂建议回到CAD用OVERKILL命令清理后再导出。第二步解决微小断裂。判断哪些是真正断裂需要连起来的地方可以用Compose Shape去试报错信息会帮你定位。对于一些明明视觉上应该闭合但实际上存在微缝的线段可以手动框选端点用Edit - Move或Edit - Stretch把端点对齐实在不行就删除那一小段重新用Add - Line连一次。这些清理工作很磨人所以我在4.1里反复强调CAD侧准备目的就是把线段碎裂扼杀在导出前。一份在CAD里用PEDIT合并成一条闭合多段线的DXF导入Allegro后是一整段完整的图形几乎不需要额外清理。5.3 圆弧变折线另一个常见问题是圆弧在DXF导入后变成了一段一段的直线不再平滑。原因通常是CAD里用样条曲线Spline画的圆弧或者导出时被软件离散成了多段线。Allegro虽然支持DXF中的Arc对象但如果DXF里的圆弧本身就是若干小直线段Allegro无法智能识别成真正的Arc。如果这个圆弧是结构上的关键特征比如一个需要嵌合外壳的圆角那必须处理。手段有三个一是在CAD里把Spline转成Polyline时提高段数这样可以减少折线感但仍不是真圆弧二是在CAD里尽量用Arc命令画真正的圆弧对象导出时选择支持Arc的DXF版本Allegro导入后就能保留为Arc三是在Allegro里手工重画关键圆弧段用Add - Arc按照原图近似位置重画然后用Fillet匹配相邻直线。从制造角度看如果折线段的切段长度小于0.1mm板厂铣出来的圆弧在视觉和精度上通常也能接受。但如果折线很明显比如一段圆弧只有四五条线段拼成铣出来的板边就呈多边形这种必须处理。5.4 导入后的一整套板框验证方法导入并清理完板框之后我一般会按下面这个顺序做一次完整验证耗时最多十分钟但能避免后面返工第一步量尺寸。用Display - Measure测量板框的长边和短边对照结构图纸上的关键尺寸确认没有25.4倍、1000倍这类比例错误。第二步查层。确认OUTLINE层上只有板框图形没有导入进来的文字、标注、中心线等杂余对象。如有删掉或移到其他层。第三步测闭合。用Shape - Compose Shape试探性合成成功则表示边界闭合不成功则逐一修复断裂点。第四步看坐标。把鼠标移到板框左下角看右下角坐标读数是否接近0,0如果不接近趁早用Setup - Change Drawing Origin把原点移过去。第五步跑DRC。在没摆放任何器件之前跑一次完整DRC检查板框相关的间距错误。此时如果报错基本都是板框本身的问题修起来干净利落。6. 板框完成后别急着布局原点、标注和配套约束板框画好、验证完了很多人会立刻开始放器件。我的建议是在放第一个器件之前把下面这几件事做完后面会省很多事。6.1 把坐标原点钉在板框左下角Setup - Change Drawing Origin 可以把设计原点移动到板框左下角。操作很简单执行命令后用鼠标点击板框左下角端点或者在命令行输入左下角的绝对坐标原点就过去了。为什么要做这一步Allegro里所有器件的坐标、DXF对位、拼板数据、贴片机的坐标文件都是以当前原点为基准的。如果原点不在板框上输出坐标文件时每个器件都带一个固定的偏移量和结构工程师对位会很痛苦。把原点放到板框左下角后所有坐标值都直接对应板子上的真实位置后面做装配图、拼板、导BOM坐标都顺。6.2 尺寸标注和外形核对接下来打开Dimension标注环境给板框加上关键尺寸标注比如外形长度、宽度、圆角半径或者关键定位孔到板边的距离。这一步既是给自己看也是留给后面审核的人看。标注完对照结构图逐项核对能发现很多肉眼看不出来的细节错误比如某条边比图纸短了0.5mm、某个圆角半径不一致等。Allegro的Dimension环境里线性标注和基准标注最常用。做板框尺寸标注时不建议一次性标太多挑结构图上标注过的关键尺寸来标就行标注太多反而干扰视线。标注本身不会影响制造数据但如果你的光绘输出时把Dimension层也加上板厂就能直接看到你的外形要求方便他们做最后核对。6.3 板框画完后的三件套Keepin、结构孔和锁定板框确认后第一件事是生成 Route Keepin 和 Package Keepin。一般用 Setup - Areas - Route Keepin点击板框内侧边缘画出比板框内缩0.5mm~1mm的范围Package Keepin同理。这两个区域会在布局布线时帮Allegro自动约束器件和走线的边界避免器件压到板边、走线距离板边过近。第二件事是处理结构孔。电源板、控制板上常见的螺丝孔如果是非金属化孔通常直接画在BOARD GEOMETRY/CUTOUT层上用Shape表示或者用一个机械Symbol放在对应坐标。如果螺丝孔位置会影响板框形状比如是半孔或开口槽这就要回到OUTLINE层去修改板框把这部分槽形纳入外形边线。至于金属化安装孔一般用Padstack做成的Mounting Hole Symbol放置和板框层面关系不大。第三件事是锁定。板框确认无误后选中OUTLINE层上的所有线段用Fix工具给它们打上锁定属性。锁定之后这些线段就不会被误删、误移。后面做其他操作时即使框选范围大了些也不会拖拽到板框。我个人的习惯是整板定稿前板框始终保持可编辑状态直到布线和铺铜基本定型再Fix然后出光绘。太早锁定会影响改动太晚锁定又容易误操作。最后再分享一个我自己的小习惯无论规则板还是异形板我都坚持把板框放在BOARD GEOMETRY/OUTLINE层保持线段形式不随意Compose成Shape。理由很简单线段形式的板框在修改、借形、出光绘时都最灵活而且几乎不会踩到工具底层的兼容性问题。见过太多在板框上玩花活最后被反噬的案例了板框这个环节越简单越稳。
返回列表