注全流程:從DXF導(dǎo)入到制造檢查)
1. 項(xiàng)目概述為什么板框尺寸標(biāo)注是PCB設(shè)計(jì)的“定海神針”在Cadence Allegro這個(gè)復(fù)雜的PCB設(shè)計(jì)環(huán)境里新手和老手最容易在哪個(gè)環(huán)節(jié)“翻車”我的經(jīng)驗(yàn)是往往不是高深的等長布線也不是復(fù)雜的封裝制作而是最基礎(chǔ)、最開始的板框定義與尺寸標(biāo)注。你可能覺得畫個(gè)框、標(biāo)幾個(gè)數(shù)很簡單但恰恰是這個(gè)環(huán)節(jié)的疏忽會(huì)導(dǎo)致后續(xù)一系列連鎖問題器件放不進(jìn)去、結(jié)構(gòu)干涉、生產(chǎn)出來的板子裝不進(jìn)外殼……這些問題一旦在后期發(fā)現(xiàn)返工成本極高。所謂“板框尺寸標(biāo)注”遠(yuǎn)不止是在Board Geometry層畫個(gè)閉合圖形那么簡單。它是一套從機(jī)械圖紙DXF導(dǎo)入、到板框Outline精確定義、再到關(guān)鍵尺寸標(biāo)注與檢查的完整流程。這個(gè)過程確保了你的電路板在物理世界中的“身份證”是準(zhǔn)確無誤的。無論是用Allegro 16.6還是更新的版本無論是處理從PADS導(dǎo)入的板框還是處理從結(jié)構(gòu)工程師那里發(fā)來的DXF文件其核心邏輯都是一致的精確、無歧義、可制造。這篇文章我就結(jié)合自己踩過的無數(shù)個(gè)坑把Allegro中關(guān)于板框尺寸標(biāo)注的完整流程、核心技巧和避坑指南掰開揉碎了講清楚。無論你是正在學(xué)習(xí)Allegro的新手還是想優(yōu)化自己工作流的老手相信都能找到實(shí)用的干貨。2. 板框定義全流程從零到一的精確構(gòu)建板框的創(chuàng)建是PCB設(shè)計(jì)的物理基石。在Allegro中我們通常不會(huì)從零開始“畫”板框而是依據(jù)機(jī)械結(jié)構(gòu)圖來精確生成。這里主要有兩種主流方式導(dǎo)入DXF文件和從其他PCB文件復(fù)用。2.1 DXF文件導(dǎo)入與結(jié)構(gòu)工程師的無縫對接絕大多數(shù)情況下板框來源于結(jié)構(gòu)工程師提供的DXF或DWG文件。在Allegro中導(dǎo)入DXF是標(biāo)準(zhǔn)操作但細(xì)節(jié)決定成敗。標(biāo)準(zhǔn)導(dǎo)入步驟打開Allegro PCB Editor執(zhí)行菜單命令File - Import - DXF...。在彈窗中點(diǎn)擊Input DXF file旁的...按鈕選擇你的DXF文件。關(guān)鍵步驟在于層映射。點(diǎn)擊Edit/View layers...按鈕會(huì)打開層映射界面。這里你需要將DXF文件中的圖層如OUTLINE,BOARD_PROFILE映射到Allegro的相應(yīng)子類。通常板框外形線應(yīng)該映射到Board Geometry - OUTLINE層。你也可以根據(jù)需要將定位孔、禁布區(qū)等映射到其他層如BOARD GEOMETRY - DIMENSION或PACKAGE KEEPIN。設(shè)置導(dǎo)入單位Unit和精度Accuracy。務(wù)必與DXF源文件單位保持一致通常是毫米mm精度一般設(shè)為0.01或0.001即可。點(diǎn)擊Map進(jìn)行映射然后返回主窗口點(diǎn)擊Import導(dǎo)入。注意很多朋友遇到的“allegro16.6如何把dxf導(dǎo)入后設(shè)置為板框”問題癥結(jié)就在這里。導(dǎo)入的圖形只是普通的Line或Shape存在于BOARD GEOMETRY/OUTLINE層但Allegro并未自動(dòng)將其識(shí)別為有效的板框Outline。你需要手動(dòng)將其“轉(zhuǎn)換”為板框。將導(dǎo)入圖形轉(zhuǎn)換為板框?qū)牒笫褂貌藛蜸hape - Compose Shape。在右側(cè)Options面板中將Active Class and Subclass設(shè)置為Board Geometry/Outline然后點(diǎn)擊你導(dǎo)入的閉合外形線條。此時(shí)這些線段會(huì)合并成一個(gè)完整的Shape填充的多邊形。接著使用菜單Setup - Outlines - Board Outline...選擇剛才生成的ShapeAllegro才會(huì)真正將其識(shí)別為板板邊界。只有完成這一步后續(xù)的布局、布線禁區(qū)Route Keepin, Package Keepin才能基于此板框正確生成。2.2 復(fù)用與調(diào)整從舊板或PADS中獲取板框有時(shí)我們需要基于一個(gè)現(xiàn)有PCB修改設(shè)計(jì)或者需要將用PADS設(shè)計(jì)的板框遷移到Allegro中。從其他Allegro板中復(fù)用板框這是最高效的方法之一??梢允褂肧ub-drawing功能。在源板文件中框選板框及相關(guān)標(biāo)注File - Export - Sub-drawing保存為一個(gè).clp文件。在目標(biāo)新文件中File - Import - Sub-drawing導(dǎo)入并精確指定放置原點(diǎn)。導(dǎo)入后同樣需要檢查圖形是否在Board Geometry/Outline層并確保它是一個(gè)完整的Shape。處理從PADS導(dǎo)入的板框如果你有一個(gè)PADS格式的PCB想將其板框用于Allegro通常的路徑是先將PADS文件導(dǎo)出為一種中間格式如.dxf或較低版本的.asc然后再導(dǎo)入Allegro。更直接的方法是使用Allegro的CAD Translators。但注意網(wǎng)絡(luò)熱詞中提到的“allegro 的cad translator里沒有altium 環(huán)境變量設(shè)置”這類問題這通常是因?yàn)門ranslator配置路徑不正確或軟件安裝不完整。對于PADS確保在Allegro PCB Designer的安裝目錄下\tools\pcb\bin路徑下的相關(guān)轉(zhuǎn)換程序可用。一個(gè)更穩(wěn)妥的“土辦法”是在PADS中將板框?qū)訂为?dú)高亮顯示然后導(dǎo)出為高精度的DXF再按上述DXF導(dǎo)入流程處理。3. 尺寸標(biāo)注的核心技法清晰傳達(dá)設(shè)計(jì)意圖板框定義好后尺寸標(biāo)注就是為其添加上精確的“數(shù)據(jù)標(biāo)簽”。好的標(biāo)注不僅是為了自己檢查更是為了給后續(xù)的PCB制造、結(jié)構(gòu)裝配提供無可爭議的依據(jù)。Allegro的標(biāo)注功能在Manufacture - Dimension Environment中功能強(qiáng)大但略顯復(fù)雜。3.1 基本標(biāo)注類型與應(yīng)用場景線性標(biāo)注最常用用于標(biāo)注兩點(diǎn)間的水平或垂直距離。在Dimension Environment下選擇Linear Dimension在Options面板中設(shè)置好標(biāo)注所在的層通常為Board Geometry/Dimension然后依次點(diǎn)擊兩個(gè)測量點(diǎn)再放置標(biāo)注文字。對于板框總長、總寬、開槽長度等必須使用此標(biāo)注。對齊標(biāo)注用于標(biāo)注斜邊上的真實(shí)長度。選擇Aligned Dimension點(diǎn)擊斜邊的兩個(gè)端點(diǎn)即可。角度標(biāo)注標(biāo)注兩線之間的夾角。選擇Angular Dimension依次點(diǎn)擊形成夾角的兩條線段。半徑/直徑標(biāo)注用于標(biāo)注圓弧倒角或圓形定位孔。選擇Radial Dimension點(diǎn)擊圓弧或圓即可。這里有個(gè)關(guān)鍵技巧對于板框的倒圓角如熱詞中“嘉立創(chuàng)pcb板框怎么倒角”在標(biāo)注時(shí)務(wù)必清晰標(biāo)明是半徑R還是直徑Φ并標(biāo)注在清晰的位置。標(biāo)注的層級管理強(qiáng)烈建議將所有尺寸標(biāo)注放在獨(dú)立的子類中例如Board Geometry - DIMENSION。不要和板框外形線混在同一個(gè)OUTLINE子類里。這樣在出制造圖Gerber時(shí)可以靈活控制是否包含標(biāo)注圖紙看起來也更清爽。3.2 標(biāo)注樣式與參數(shù)的精細(xì)調(diào)整直接使用默認(rèn)標(biāo)注樣式往往不滿足工程圖要求。你需要進(jìn)入Manufacture - Dimension Environment - Parameters...進(jìn)行詳細(xì)設(shè)置。單位和精度在Parameters窗口的Standard選項(xiàng)卡設(shè)置Dimension text的單位mil或mm和精度小數(shù)點(diǎn)后幾位。必須與板框設(shè)計(jì)單位一致。例如板框是毫米制標(biāo)注也應(yīng)是毫米制避免出現(xiàn)“allegro ns 換成mil”這種單位混亂的困擾注ns是納秒此處應(yīng)為mil即千分之一英寸。文本和箭頭在Text和Arrow選項(xiàng)卡可以調(diào)整文字高度、字體、箭頭大小和樣式。文字高度建議設(shè)置在0.5mm到1.0mm之間確保在打印的圖紙上清晰可讀。延伸線和尺寸線調(diào)整延伸線超出尺寸線的長度、尺寸線兩端的間隙等使標(biāo)注圖面更美觀。實(shí)操心得在開始大量標(biāo)注前先花幾分鐘設(shè)置好一個(gè)滿意的參數(shù)模板并保存下來Parameters窗口有Save按鈕。以后新建板子可以直接加載這個(gè)模板能保證所有圖紙標(biāo)注風(fēng)格統(tǒng)一極大提升效率。4. 高效操作與數(shù)據(jù)檢查確保萬無一失板框和標(biāo)注完成后并不意味著工作結(jié)束。必須進(jìn)行一系列檢查和數(shù)據(jù)導(dǎo)出才能交付給下一個(gè)環(huán)節(jié)。4.1 利用Find功能快速定位與修改當(dāng)板框復(fù)雜、元素眾多時(shí)Find面板是你的神器。按熱鍵CtrlF調(diào)出Find面板在Find By Name部分你可以快速搜索。但更常用的是下面的Find by Property或直接在圖形界面選擇。例如你想選中所有在Board Geometry/Outline層上的元素可以在Find面板的Graphic類型中勾選Shapes然后在畫布上框選Allegro會(huì)高亮所有Shape你再從中篩選。對于標(biāo)注你可以通過Find面板只選擇Dimensions然后批量修改其屬性或位置。4.2 關(guān)鍵檢查清單在最終定稿前請對照此清單逐一檢查板框閉合性使用Tools - Quick Reports - DRC Report檢查是否有板框不閉合的報(bào)錯(cuò)。一個(gè)未閉合的板框會(huì)導(dǎo)致鋪銅、禁布區(qū)生成失敗。原點(diǎn)位置使用Setup - Change Drawing Origin將繪圖原點(diǎn)設(shè)置到板框的一個(gè)關(guān)鍵點(diǎn)如左下角或某個(gè)定位孔中心。這有助于后續(xù)器件布局坐標(biāo)對齊和裝配圖輸出。禁布區(qū)生成基于板框使用Setup - Areas - Package Keepin和Route Keepin分別生成器件布局區(qū)和布線區(qū)。通常Package Keepin比板框內(nèi)縮一定距離如0.5mmRoute Keepin再內(nèi)縮更多如1mm。檢查這些區(qū)域是否成功生成且無錯(cuò)誤。尺寸標(biāo)注完整性檢查所有關(guān)鍵定位尺寸是否都已標(biāo)注特別是定位孔中心距、板框總長總寬、接口位置等。確保沒有歧義任何一個(gè)加工師傅都能僅憑你的標(biāo)注圖做出板子。單位一致性反復(fù)確認(rèn)設(shè)計(jì)單位、標(biāo)注單位、以及你心中認(rèn)知的單位是否三者統(tǒng)一。這是最低級也最容易出錯(cuò)的環(huán)節(jié)。4.3 數(shù)據(jù)導(dǎo)出與協(xié)作板框和標(biāo)注信息需要傳遞給結(jié)構(gòu)工程師或制造商進(jìn)行核對。導(dǎo)出DXFFile - Export - DXF...。導(dǎo)出時(shí)在層映射中務(wù)必包含Board Geometry/Outline和Board Geometry/Dimension層。你可以勾選Export filled shapes來將板框Shape導(dǎo)出為閉合多段線。對于“allegro導(dǎo)出dxf一般留哪些層”這個(gè)問題除了板框和標(biāo)注層根據(jù)需求還可以導(dǎo)出鉆孔層Drill Drawing、絲印層Silkscreen等用于結(jié)構(gòu)檢查。生成制造圖紙?jiān)贏llegro中可以通過File - Plot Setup配置打印或?qū)С鯬DF將帶有精確尺寸標(biāo)注的板框圖輸出為圖紙附在制板說明中。5. 常見問題與實(shí)戰(zhàn)排坑實(shí)錄即使流程清晰在實(shí)際操作中仍會(huì)碰到各種“詭異”問題。下面是我總結(jié)的幾個(gè)高頻問題及解決方法。5.1 板框相關(guān)典型問題問題1器件放不進(jìn)板框邊緣提示不在Package Keepin內(nèi)?,F(xiàn)象從原理圖導(dǎo)入網(wǎng)表后器件無法放置在靠近板邊的位置。排查首先檢查Package Keepin區(qū)域是否設(shè)置正確。使用Display - Color/Visibility確保Board Geometry - Package Keepin層可見并已開啟。很可能這個(gè)區(qū)域比你實(shí)際的板框小。解決重新生成Package Keepin。使用Setup - Areas - Package Keepin在Options面板中Offset值不要設(shè)得過大例如設(shè)為0然后沿著板框內(nèi)緣畫線。或者更簡單的方法是使用Z-copy命令將Active Class and Subclass設(shè)為Board Geometry/Package Keepin選擇板框Shape在Options面板設(shè)置一個(gè)負(fù)的Offset值如-0.5mm表示內(nèi)縮0.5mm然后點(diǎn)擊板框即可快速生成內(nèi)縮的禁布區(qū)。問題2導(dǎo)入的DXF圖形無法轉(zhuǎn)換為ShapeCompose Shape失敗。現(xiàn)象執(zhí)行Compose Shape時(shí)點(diǎn)擊線段無反應(yīng)或提示線段不閉合。排查DXF中的線條可能由大量極短的線段組成或者端點(diǎn)處有微小的縫隙小于導(dǎo)入精度。解決在導(dǎo)入DXF時(shí)適當(dāng)提高Accuracy精度值比如從0.01改為0.001讓Allegro能捕捉更小的間隙。導(dǎo)入后使用Vertex模式Edit - Vertex仔細(xì)檢查線條交點(diǎn)手動(dòng)拖動(dòng)端點(diǎn)使其完全重合。一個(gè)備用方案在CAD軟件如AutoCAD中將板框圖形用PEDIT命令合并為一條完整的多段線Polyline并確保閉合再重新導(dǎo)出DXF導(dǎo)入Allegro。問題3使用Z-copy復(fù)制板框到其他層時(shí)失敗?,F(xiàn)象想用Z-copy將板框復(fù)制到Route Keepin層但命令不生效。排查Z-copy命令要求源圖形必須是一個(gè)完整的Shape填充多邊形而不是線段Line。你的板框可能只是一組Line。解決確保你已經(jīng)通過Compose Shape將板框線段轉(zhuǎn)換成了Shape。只有Shape才能被Z-copy。5.2 尺寸標(biāo)注與顯示問題問題1標(biāo)注尺寸數(shù)值不對單位混亂?,F(xiàn)象標(biāo)注顯示的值與實(shí)際測量值不符例如板子明明是100mm標(biāo)注卻顯示3937mil約100mm。排查與解決這純粹是顯示單位問題。在Dimension Environment的Parameters中檢查并修改Dimension text的單位。如果你想固定以毫米顯示就設(shè)為mm。同時(shí)在Allegro主界面底部的狀態(tài)欄確認(rèn)當(dāng)前設(shè)計(jì)單位Setup - Design Parameters - Design - Size是否與你期望的一致。確保設(shè)計(jì)、標(biāo)注、測量三者的單位統(tǒng)一。問題2標(biāo)注文字太小或太大箭頭不清晰。解決不要一個(gè)一個(gè)去拉拽標(biāo)注修改。批量修改最有效率進(jìn)入Dimension Environment打開Parameters在Text選項(xiàng)卡調(diào)整Text height在Arrow選項(xiàng)卡調(diào)整Arrow size和Arrow style。調(diào)整后所有已存在和新建的標(biāo)注都會(huì)應(yīng)用新樣式。問題3如何標(biāo)注一個(gè)點(diǎn)到一條邊的垂直距離技巧Allegro沒有直接的“點(diǎn)到線”標(biāo)注命令。變通方法是使用Linear Dimension第一個(gè)點(diǎn)選你的目標(biāo)點(diǎn)第二個(gè)點(diǎn)需要選那條邊上的“垂足”。你可以先從那一點(diǎn)向那條邊做一條臨時(shí)輔助線畫在Board Geometry/Dimension層找到垂足點(diǎn)標(biāo)注點(diǎn)到垂足的距離然后再刪除輔助線?;蛘吒こ袒淖龇ㄊ菢?biāo)注該點(diǎn)的X/Y坐標(biāo)結(jié)合邊的位置尺寸讓讀圖者自行計(jì)算。5.3 環(huán)境與性能相關(guān)雜癥問題執(zhí)行操作時(shí)提示“script/source files nested too deeply”等腳本錯(cuò)誤。分析這類錯(cuò)誤通常與Allegro的Skill腳本環(huán)境或環(huán)境變量設(shè)置有關(guān)可能由于非正常操作導(dǎo)致腳本遞歸調(diào)用。解決思路檢查你的allegro.ilinit文件或任何自定義加載的Skill腳本是否有循環(huán)加載或錯(cuò)誤語法。嘗試重啟Allegro。如果問題依舊可以嘗試臨時(shí)將自定義Skill腳本移出加載目錄。在命令行或Allegro中使用skill getShellEnvVar(“ENV_VAR_NAME”)檢查相關(guān)環(huán)境變量是否設(shè)置正確。但更多時(shí)候這類深層嵌套錯(cuò)誤需要聯(lián)系Cadence支持或查找特定腳本的社區(qū)解決方案。板框和尺寸標(biāo)注是連接電子邏輯與物理世界的橋梁。它要求設(shè)計(jì)者兼具嚴(yán)謹(jǐn)?shù)墓こ趟季S和細(xì)致的操作習(xí)慣。在Allegro中把這些基礎(chǔ)打牢后續(xù)無論是處理“allegro高速等長走線”還是“allegro鋪銅”等復(fù)雜任務(wù)你都會(huì)有一個(gè)穩(wěn)固可靠的“作戰(zhàn)地圖”。記住多花十分鐘檢查板框和標(biāo)注可能省下的是后期數(shù)天的改板時(shí)間。