人妻蜜と1~4中文字幕月野定规 ,国产精品成人va在线播放,色优久久久久综合网鬼色,WWW插插插无码视频网站

【Altium】AD-規(guī)則查詢語句設(shè)置

一、文檔背景

在Altium Designer中, 設(shè)計(jì)規(guī)則通常用來定義用戶的設(shè)計(jì)需求。 這些規(guī)則涵蓋了設(shè)計(jì)的方方面面, 從布線寬度, 對象的安全間距,內(nèi)電層的連接風(fēng)格, 過孔風(fēng)格等等。 設(shè)計(jì)規(guī)則不僅能在PCB設(shè)計(jì)的過程中實(shí)時(shí)檢測, 而且也能夠在需要的時(shí)候進(jìn)行統(tǒng)一的批量檢測并生成錯(cuò)誤報(bào)告。

Altium Designer的設(shè)計(jì)規(guī)則不是PCB對象的屬性, 而是獨(dú)立定義的。 每條規(guī)則需針對具體的PCB對象。對于PCB規(guī)則系統(tǒng)來說,它必須知道給定的規(guī)則應(yīng)用于哪些對象,即規(guī)則的應(yīng)用范圍??梢栽赑CB規(guī)則約束管理器對話框中設(shè)定規(guī)則及規(guī)則的范圍。其中采用撰寫查詢語句的方式來定義范圍是經(jīng)常需要用到的,并且非常重要的方式方法。

查詢語句(Query)是對規(guī)則應(yīng)用對象的描述。設(shè)計(jì)規(guī)則的約束對象可以直接手動輸入查詢語句, 或是在語言編輯區(qū)左側(cè)的控制區(qū)選擇,或者是采用查詢語句構(gòu)造器來定義。


二、 查詢語句含義

查詢語句實(shí)際上是軟件的一條指令,定義了一系列的目標(biāo)設(shè)計(jì)對象。查詢語句由查詢的關(guān)鍵字組成。下面是一個(gè)查詢語句的示例: InNet(‘GND‘) And OnLayer(‘TopLayer‘);

如果在寬度規(guī)則中用該查詢語句定義范圍,那么設(shè)計(jì)者在切換到頂層對GND網(wǎng)絡(luò)布線時(shí),走線的寬度會自動轉(zhuǎn)換到該規(guī)則指定的寬度值。如果執(zhí)行設(shè)計(jì)規(guī)則檢查(DRC),任何在頂層的GND網(wǎng)絡(luò)必須滿足這個(gè)寬度規(guī)則,否則就會被標(biāo)記為違反設(shè)計(jì)規(guī)則。

使用PCB規(guī)則約束編輯器( PCB Rules and Constraints Editor)對話框中的選項(xiàng)可以創(chuàng)建查詢語句。根據(jù)規(guī)則是一元的還是二元的,用戶可能需要相應(yīng)地定義一個(gè)或兩個(gè)對象范圍。在PCB規(guī)則約束編輯器中,簡單的查詢語句有如下幾種類型的范圍選項(xiàng)。

● 所有的的設(shè)計(jì)對象

● 指定網(wǎng)絡(luò)中的所有對象

● 指定網(wǎng)絡(luò)類中的所有對象

● 指定層上的所有對象

● 指定層上且屬于指定網(wǎng)絡(luò)的所有對象



高級查詢(Custom Query)選項(xiàng)允許設(shè)計(jì)者撰寫自己的更復(fù)雜但更為精確的查詢語句。設(shè)計(jì)者可以在語句編寫區(qū)域直接輸入規(guī)則范圍的定制查詢語句。有兩個(gè)工具(Query Builder和Query Helper)可幫助創(chuàng)建高級查詢語句。當(dāng)不確定查詢語句的語法或者需要使用的關(guān)鍵字,這兩個(gè)工具就會相當(dāng)有用。




三、 三種規(guī)則語句設(shè)置

1、點(diǎn)擊Query Helper按鈕打開Query Helper對話框。查詢引擎會分析PCB設(shè)計(jì),列出所有可用的對象,以及所有查詢關(guān)鍵字。

對話框的Query區(qū)域用來生成查詢表達(dá)式。我們可以直接在該區(qū)域輸入——會出現(xiàn)輔助的關(guān)鍵字或?qū)ο蟮奶崾玖斜怼υ捒虻腃ategories區(qū)域用于訪問可用的PCB函數(shù)(PCB Functions)、PCB對象列表(PCB Object Lists)和系統(tǒng)函數(shù)(System Functions),它們用來創(chuàng)建查詢表達(dá)式。在這三個(gè)區(qū)域中點(diǎn)擊一個(gè)子類別,會在右側(cè)區(qū)域中顯示相應(yīng)的關(guān)鍵字或?qū)ο罅斜?。定位要在查詢語句中使用的關(guān)鍵字或?qū)ο螅㈦p擊其條目,該條目就會出現(xiàn)在查詢表達(dá)式區(qū)域的當(dāng)前光標(biāo)位置。



數(shù)學(xué)運(yùn)算符代表的含義:

(1)、算數(shù)運(yùn)算符

操作符描述例子
+加法運(yùn)算NetPinCount + NetViaCount
-減法運(yùn)算ArcStopAngle - ArcStartAngle
*乘法運(yùn)算PadXSize_BottomLayer * PadYSize_BottomLayer
/除法運(yùn)算HoleDiameter / ViaDiameter
Div整除運(yùn)算Color Div 65536
這將計(jì)算Color除以65536,結(jié)果的小數(shù)部分將被丟棄
Mod模數(shù)運(yùn)算Color Mod 256
這將計(jì)算Color除以256時(shí)的余數(shù),而不確定結(jié)果的小數(shù)部分

(2)、邏輯運(yùn)算符

運(yùn)算符描述例子
AndIsPad And OnMultiLayer
對象必須是一個(gè)PAD而且要位于MultiLayer層上
&&
(低優(yōu)先級)
IsPad && OnMultiLayer
對象必須是一個(gè)PAD而且要位于MultiLayer層上
OrIsPad Or IsVia
對象要么是pad要么是via
||
(低優(yōu)先級)
IsPad || IsVia
對象要么是pad要么是via
Xor異或OnMultiLayer Xor (HoleDiameter <> 0)
對象是位于MultiLayer且孔徑為0或者不在MultiLayer且孔徑不為0
NotNot OnMultiLayer
不在MultiLayer層的對象

(3)、比較運(yùn)算符

運(yùn)算符描述例子
<小于HoleDiameter < 40
孔直徑小于40的對象
<=小于或等于HoleDiameter <= 40
孔直徑小于或等于40的對象
>=大于或等于HoleDiameter >= 40
孔直徑大于或等于 40的對象
>大于HoleDiameter > 40
孔直徑大于40的對象
<>不等于HoleDiameter <> 40
孔直徑不等于40的對象
=等于HoleDiameter = 40
孔直徑等于40的對象
Between...And...包括范圍HoleDiameter Between 30 And 50
孔徑大于等于30,小于等于50的對象
LikeLike 關(guān)聯(lián)Name Like 'ADDR?*'
具有Name屬性的對象其關(guān)聯(lián)的(文本)字符串以ADDR開頭,并且至少包含一個(gè)以上的字符

(4)、通配符

OPERATORDESCRIPTIONEXAMPLE
?這個(gè)可以用任意類型代替的單個(gè)字符Footprint Like 'DIP1?'
具有DIP11、12、14、15等封裝屬性的對象
*這可以用任意數(shù)量的字符替換每個(gè)字符可以是任何類型Footprint Like 'SIP*'
具有SIP1、SIP12或SIP216等Footprint屬性的對象(任何具有SIP Footprint屬性的對象)

2、使用Query Builder構(gòu)建查詢語句

Query Builder提供了一種構(gòu)造查詢語句的簡單方法,它允許設(shè)計(jì)者利用條件類型和值構(gòu)建相關(guān)的查詢模塊。點(diǎn)擊“查詢構(gòu)建器”(Query Builder)按鈕來打開Building Query from Board對話框,可以在該對話框中創(chuàng)建由AND和OR 邏輯字符串構(gòu)成的查詢表達(dá)式。左側(cè)部分用于選擇指定目標(biāo)對象的條件,右側(cè)部分會顯示當(dāng)前查詢語句的預(yù)覽,如下圖所示,可以添加多個(gè)條件進(jìn)一步限制目標(biāo)對象



3、使用PCB Filter 面板創(chuàng)建設(shè)計(jì)規(guī)則

創(chuàng)建設(shè)計(jì)規(guī)則的另一種方法:利用PCB Filter面板的查詢語句直接創(chuàng)建設(shè)計(jì)規(guī)則。使用查找相似對象對話框,可以為PCB Filter 面板創(chuàng)建查詢表達(dá)式。然后在PCB Filter面板中使用創(chuàng)建按鈕,為Filter部分的查詢表達(dá)式直接創(chuàng)建設(shè)計(jì)規(guī)則。步驟如下:

在PCB面板上選擇一個(gè)目標(biāo)對象,對其右鍵單擊,然后在彈出的右鍵菜單中選擇”查找相似對象“命令,打開查找相似對象對話框。在該對話框中,將目標(biāo)對象具有的相同元素設(shè)置為”Same “(例如PCB封裝相同,則將Footprint設(shè)置為Same),勾選”創(chuàng)建表達(dá)式“對話框,設(shè)置如下圖所示。


此時(shí)可以點(diǎn)擊” 應(yīng)用“按鈕, 查看目標(biāo)對象是否都被選中。如果我們需要的對象都被選中,并且不需要的對象不在選擇范圍內(nèi),則說明設(shè)置的選擇范圍沒有問題。點(diǎn)擊”確定“按鈕,此時(shí)已經(jīng)打開的PCB Filter面板的”過濾器“區(qū)域出現(xiàn)了查找相似對象 對話框產(chǎn)生的查詢表達(dá)式。如下圖所示:



此時(shí)勾選面板上的”選擇“復(fù)選框,然后點(diǎn)擊”全部應(yīng)用“按鈕,將會選中PCB板上所有要查詢的設(shè)計(jì)對象。在確保查找對象的范圍沒有問題后,可以將”過濾器“中的查詢語句復(fù)制到設(shè)計(jì)規(guī)則對話框的Query語句區(qū)域。也可以按照下面所示的步驟創(chuàng)建新的設(shè)計(jì)規(guī)則:點(diǎn)擊”過濾器“對話框上的”創(chuàng)建規(guī)則“按鈕,然后在彈出的選擇設(shè)計(jì)規(guī)則類型對話框中選擇要?jiǎng)?chuàng)建的規(guī)則類型;



這將打開PCB 規(guī)則及約束編輯器窗口,查詢語句已經(jīng)被復(fù)制到相應(yīng)的區(qū)域,此時(shí)只要對規(guī)則進(jìn)行命名,然后進(jìn)行后續(xù)的設(shè)置即可。


4、檢測Query語句

在設(shè)置設(shè)計(jì)規(guī)則時(shí),了解規(guī)則的范圍是否正確涵蓋了所有預(yù)期的對象,且不包括其他的對象,是個(gè)很重要的步驟。測試語句功能可以測試查詢語句,驗(yàn)證查詢表達(dá)式是否定位到正確的對象。在設(shè)計(jì)規(guī)則界面點(diǎn)擊窗口右上角的”測試語句“按鈕,打開測試查詢結(jié)果窗口,該窗口中會顯示查詢語句實(shí)際上應(yīng)用到的對象數(shù),如下圖所示。



四、討論分析

Query Helper和Query Builder是Altium Designer中用于構(gòu)建查詢語句的兩個(gè)工具,它們各有優(yōu)缺點(diǎn):

Query Helper

優(yōu)點(diǎn):

1. 高級查詢支持:Query Helper提供了一個(gè)對話框,允許用戶使用PCB Functions、PCB Object Lists和System Functions來構(gòu)建復(fù)雜的查詢表達(dá)式。

2. 語法檢查:提供了Check Syntax按鈕,用于驗(yàn)證查詢表達(dá)式的語法是否正確。

3. 詳細(xì)文檔支持:對于每個(gè)關(guān)鍵字,提供了簡短的描述,并且可以通過按F1鍵訪問在線幫助文檔,獲取更多關(guān)于如何使用該關(guān)鍵字的信息。

4. 關(guān)鍵字搜索:通過Mask字段,可以快速搜索相關(guān)的關(guān)鍵字,這在不確定確切關(guān)鍵字時(shí)非常有用。


缺點(diǎn):

1. 復(fù)雜性:對于初學(xué)者來說,可能需要一定的學(xué)習(xí)曲線來熟悉如何使用Query Helper構(gòu)建復(fù)雜的查詢語句。

2. 手動輸入:需要用戶手動輸入查詢語句,這可能會增加出錯(cuò)的機(jī)會,尤其是在不熟悉查詢語法的情況下。

Query Builder


優(yōu)點(diǎn):

1. 用戶友好:Query Builder提供了一個(gè)圖形界面,通過下拉列表選擇測試條件,適合不太熟悉查詢語法的用戶。

2. 自動生成查詢:QueryBuilder對話框可以幫助用戶自動生成與指定條件相對應(yīng)的查詢,簡化了查詢構(gòu)建過程。

3. 直觀操作:用戶可以通過直觀的界面添加和組合條件,構(gòu)建由AND和OR邏輯字符串構(gòu)成的查詢表達(dá)式。


缺點(diǎn):

1. 限制性:QueryBuilder主要使用相關(guān)的“構(gòu)建塊”來構(gòu)建查詢,可能不如Query Helper那樣靈活,無法構(gòu)建非常復(fù)雜的查詢語句。

2. 缺少高級功能:對于需要精確控制查詢語法和關(guān)鍵字的高級用戶來說,QueryBuilder可能不夠用。

總的來說,Query Helper適合那些需要構(gòu)建復(fù)雜查詢并且熟悉查詢語法的用戶,而Query Builder則更適合初學(xué)者或者需要快速構(gòu)建簡單查詢的用戶。兩者可以根據(jù)不同的需求和場景選擇使用。

使用PCB Filter 面板創(chuàng)建設(shè)計(jì)規(guī)則


優(yōu)點(diǎn):

1. 精確選擇和編輯:PCB Filter面板通過邏輯查詢提供精確選擇和編輯多個(gè)對象的能力,這對于復(fù)雜的PCB設(shè)計(jì)尤其有用。

2. 用戶友好的界面:面板提供了直觀的界面,使得用戶可以快速構(gòu)建簡單的過濾表達(dá)式,針對任何組合的對象。

3. 動態(tài)查詢構(gòu)建:隨著用戶在面板中進(jìn)行過濾選擇,查詢表達(dá)式會動態(tài)構(gòu)建并顯示在面板中,使得用戶可以實(shí)時(shí)看到過濾結(jié)果。

4. 視覺過濾效果:面板提供了不同的視覺過濾效果,如Normal、Mask和Dim,幫助用戶在工作區(qū)中區(qū)分過濾和未過濾的對象。

5. 輔助工具:PCB Filter面板提供了Query Helper和Query Builder工具,幫助用戶構(gòu)建查詢語句,尤其是對于不熟悉查詢語法的用戶。

6. 設(shè)計(jì)規(guī)則創(chuàng)建:面板還提供了創(chuàng)建設(shè)計(jì)規(guī)則的功能,其范圍將使用面板中定義的查詢表達(dá)式。

7. 靈活性:用戶可以有效地應(yīng)用新的過濾查詢來構(gòu)建在之前過濾結(jié)果的基礎(chǔ)上,增加了設(shè)計(jì)的靈活性。


缺點(diǎn):

1. 學(xué)習(xí)曲線:對于初學(xué)者來說,PCB Filter面板可能需要一定的學(xué)習(xí)曲線,尤其是當(dāng)涉及到復(fù)雜的查詢語句構(gòu)建時(shí)。

2. 性能影響:在處理大型或復(fù)雜的PCB設(shè)計(jì)時(shí),應(yīng)用復(fù)雜的過濾規(guī)則可能會對軟件性能產(chǎn)生一定影響,尤其是在計(jì)算機(jī)配置較低的情況下。

3. 忽略錯(cuò)誤:在某些情況下,如DRC(設(shè)計(jì)規(guī)則檢查)時(shí)可能會忽略那些沒有放好的器件,如果設(shè)計(jì)規(guī)則設(shè)置不當(dāng),可能會導(dǎo)致設(shè)計(jì)中的問題被遺漏。


五、結(jié)論

Custom Query選項(xiàng)使設(shè)計(jì)人員能夠自定義編寫更復(fù)雜的查詢語句,以便更具體地限定規(guī)則應(yīng)用的范圍。編寫Query 語句并檢測其準(zhǔn)確性。