電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 31869|回復(fù): 85
收起左側(cè)

[PCB技術(shù)] Altium Designer 高級規(guī)則 Query語句的編寫及檢測

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-10-15 12:13:10 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
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)建查詢語句
  • 此時(shí)可以點(diǎn)擊 Apply按鈕, 查看目標(biāo)對象是否都被選中。如果我們需要的對象都被選中,并且不需要的對象不在選擇范圍內(nèi),則說明設(shè)置的選擇范圍沒有問題。點(diǎn)擊OK按鈕,此時(shí)已經(jīng)打開的PCB Filter面板的Filter區(qū)域出現(xiàn)了 Find Similar object 對話框產(chǎn)生的查詢表達(dá)式。如下圖所示:

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ī)則:

  • 點(diǎn)擊Filter對話框上的Create Rule按鈕,然后在彈出的Choose Design Rule Type對話框中選擇要?jiǎng)?chuàng)建的規(guī)則類型;

選擇要?jiǎng)?chuàng)建的設(shè)計(jì)規(guī)則的類型
  • 這將打開PCB Rules and Constrains Editor窗口,查詢語句已經(jīng)被復(fù)制到相應(yīng)的區(qū)域,此時(shí)只要對規(guī)則進(jìn)行命名,然后進(jìn)行后續(xù)的設(shè)置即可。

生成設(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ī)則,步驟如下:
  • 創(chuàng)建Room,并為其命名。
    游客,如果您要查看本帖隱藏內(nèi)容請回復(fù)

該會(huì)員沒有填寫今日想說內(nèi)容.

13

主題

183

帖子

979

積分

二級會(huì)員

Rank: 2

積分
979
沙發(fā)
發(fā)表于 2020-10-15 22:47:49 | 只看該作者
支持一下,厲害了老師

3

主題

1653

帖子

5694

積分

四級會(huì)員

Rank: 4

積分
5694
板凳
發(fā)表于 2020-10-16 19:30:37 | 只看該作者
學(xué)到了,。。。。。

0

主題

11

帖子

69

積分

一級會(huì)員

Rank: 1

積分
69
地板
發(fā)表于 2020-11-4 16:54:42 | 只看該作者
學(xué)習(xí)一下學(xué)習(xí)一下

15

主題

358

帖子

1866

積分

三級會(huì)員

Rank: 3Rank: 3

積分
1866
5#
發(fā)表于 2020-11-11 17:04:02 | 只看該作者
支持一下,厲害了老師
靜坐常思已過,閑談莫論人非。

0

主題

75

帖子

343

積分

一級會(huì)員

Rank: 1

積分
343
6#
發(fā)表于 2020-12-13 18:17:06 | 只看該作者
規(guī)則設(shè)置來學(xué)習(xí)了,多謝。整理學(xué)習(xí)了。

2

主題

168

帖子

839

積分

二級會(huì)員

Rank: 2

積分
839
7#
發(fā)表于 2020-12-22 18:09:10 | 只看該作者
了解一下!。。。。。。。。。。!

7

主題

127

帖子

704

積分

二級會(huì)員

Rank: 2

積分
704
8#
發(fā)表于 2020-12-24 15:19:48 | 只看該作者
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

0

主題

89

帖子

446

積分

一級會(huì)員

Rank: 1

積分
446
9#
發(fā)表于 2020-12-24 21:54:20 | 只看該作者
我來看卡啊

0

主題

66

帖子

214

積分

一級會(huì)員

Rank: 1

積分
214
10#
發(fā)表于 2021-1-5 21:20:06 | 只看該作者
學(xué)習(xí)相關(guān)內(nèi)容

發(fā)表回復(fù)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表