Altium designer 高級規(guī)則 Query語句的編寫及檢測
在編寫設(shè)計(jì)規(guī)則時(shí),我們經(jīng)常會(huì)用Query語句來詳細(xì)地限定設(shè)計(jì)規(guī)則的范圍。如何準(zhǔn)確地編寫Query語句,并在編寫完成之后檢查Query語句的范圍是否正確呢?下面詳細(xì)地說明一下。
1.編寫Query語句在PCB文檔界面,選擇菜單Design-> Rules… 打開PCB Rules and Constraints Editor 對話框,將Where The Object Matches的范圍設(shè)置為Custom Query,右側(cè)的區(qū)域內(nèi)就可以直接輸入Query語句了, 如下圖所示。 創(chuàng)建Query語句 當(dāng)我們不了解Query語句的語法、可用的關(guān)鍵字時(shí),可以使用Query Builder和Query Helper這兩個(gè)功能項(xiàng)協(xié)助創(chuàng)建Query語句。 1.1. 使用Query Builder構(gòu)建查詢語句 Query Builder提供了一種構(gòu)造查詢語句的簡單方法,它允許設(shè)計(jì)者利用條件類型和值構(gòu)建相關(guān)的查詢模塊。點(diǎn)擊Query Builder按鈕來打開Building Query from Board對話框,可以在該對話框中創(chuàng)建由AND和OR 邏輯字符串構(gòu)成的查詢表達(dá)式。 使用Query Builder創(chuàng)建查詢表達(dá)式 該對話框的左側(cè)部分用于選擇指定目標(biāo)對象的條件,右側(cè)部分會(huì)顯示當(dāng)前查詢語句的預(yù)覽,如上圖所示,可以添加多個(gè)條件進(jìn)一步限制目標(biāo)對象。 1.2.使用Query Helper構(gòu)建高級查詢語句點(diǎn)擊Query Helper按鈕打開Query Helper對話框。查詢引擎會(huì)分析pcb設(shè)計(jì),列出所有可用的對象,以及所有查詢關(guān)鍵字。 對話框的Query區(qū)域用來生成查詢表達(dá)式。我們可以直接在該區(qū)域輸入——會(huì)出現(xiàn)輔助的關(guān)鍵字或?qū)ο蟮奶崾玖斜怼?/font> 對話框的Categories區(qū)域用于訪問可用的PCB函數(shù)(PCB Functions)、PCB對象列表(PCB Object Lists)和系統(tǒng)函數(shù)(System Functions),它們用來創(chuàng)建查詢表達(dá)式。在這三個(gè)區(qū)域中點(diǎn)擊一個(gè)子類別,會(huì)在右側(cè)區(qū)域中顯示相應(yīng)的關(guān)鍵字或?qū)ο罅斜。定位要在查詢語句中使用的關(guān)鍵字或?qū)ο,并雙擊其條目,該條目就會(huì)出現(xiàn)在查詢表達(dá)式區(qū)域的當(dāng)前光標(biāo)位置。 使用Query Helper編寫更復(fù)雜的查詢表達(dá)式 該對話框上的Check Syntax按鈕可用來檢查和標(biāo)記查詢表達(dá)式中的語法錯(cuò)誤。 1.3. 使用PCB Filter 面板創(chuàng)建設(shè)計(jì)規(guī)則創(chuàng)建設(shè)計(jì)規(guī)則的另一種方法:利用PCB Filter面板的查詢語句直接創(chuàng)建設(shè)計(jì)規(guī)則。使用Find Similar Objects對話框,可以為PCB Filter 面板創(chuàng)建查詢表達(dá)式。然后在PCB Filter面板中使用Create Rule按鈕,為Filter部分的查詢表達(dá)式直接創(chuàng)建設(shè)計(jì)規(guī)則。步驟如下: 在PCB面板上選擇一個(gè)目標(biāo)對象,對其右鍵單擊,然后在彈出的右鍵菜單中選擇Find Similar Objects命令,打開Find Similar Objects對話框。在該對話框中,將目標(biāo)對象具有的相同元素設(shè)置為Same (例如PCB 封裝相同,則將Footprint設(shè)置為Same),勾選Create Expression 對話框,設(shè)置如下圖所示。
利用Find Similar Objects 創(chuàng)建查詢語句 PCB Filter面板 此時(shí)勾選面板上的Select 復(fù)選框,然后點(diǎn)擊Apply to All按鈕(如上圖所示),將會(huì)選中PCB板上所有要查詢的設(shè)計(jì)對象。 在確保查找對象的范圍沒有問題后,可以將Filter中的查詢語句復(fù)制到設(shè)計(jì)規(guī)則對話框的Query語句區(qū)域。也可以按照下面所示的步驟創(chuàng)建新的設(shè)計(jì)規(guī)則:
選擇要?jiǎng)?chuàng)建的設(shè)計(jì)規(guī)則的類型 生成設(shè)計(jì)規(guī)則 2. 檢測Query語句在設(shè)置設(shè)計(jì)規(guī)則時(shí),了解規(guī)則的范圍是否正確涵蓋了所有預(yù)期的對象,且不包括其他的對象,是個(gè)很重要的步驟。 2.1. 使用Test Queries檢測查詢語句Test Queries功能可以測試查詢語句,驗(yàn)證查詢表達(dá)式是否定位到正確的對象。 在設(shè)計(jì)規(guī)則界面點(diǎn)擊窗口右上角的Test Queries按鈕,打開Test Queries Result窗口,該窗口中會(huì)顯示查詢語句實(shí)際上應(yīng)用到的對象數(shù),如下圖所示。 檢查當(dāng)前查詢語句應(yīng)用到的對象 點(diǎn)擊Test Queries Result對話框上Expression result 后面的數(shù)字,PCB板上會(huì)高亮顯示該條查詢語句適用的設(shè)計(jì)對象,其它的設(shè)計(jì)對象會(huì)被遮蔽或變暗,以檢測查詢語句是否涵蓋了正確的對象并且不包含多余的對象。 2.2. 在PCB Filter中檢測還可以將查詢語句復(fù)制到PCB Filter 面板的Filter區(qū)域內(nèi),在勾選Select復(fù)選框后,使用Apply to All 按鈕測試查詢語句的應(yīng)用范圍。具體的方法如 1.3.中的C步驟所述。 3. 用Query語句創(chuàng)建規(guī)則的實(shí)例例如:我想限定電路板上特定區(qū)域內(nèi)的線寬和間距,可以借助Query語句來創(chuàng)建設(shè)計(jì)規(guī)則,步驟如下: |