Altium Designer 10中的過濾篩選(Filter)和查找(Query)功能


Altium中的過濾器可以完成篩選、檢查功能,官方有AD19.1的幫助文檔:https://www.altium.com/documentation/altium-designer/query-lang-pcbfunctions-membershipchecks-hasfootprinthasfootprint-ad?version=19.1

(這個鏈接是精確到PCB Filter的HasFootprint篩選項,而且Altium在2020年4月底這個時候支持15.1到20.0版本的在線幫助文檔)

Altium的幫助文檔給出了篩選項的用法和寫法,下面給出常用的一些過濾語句。

 

一、原理圖。

 1、在原理圖中找到編號為C6的元件:

PartDesignator = 'C6'

 注意使用等於運算符(=)的時候需要是全字匹配,而且是區分大小寫。

 在原理圖中找到所有編號為C某某的元件:(模糊匹配)

PartDesignator LIKE 'C*'

 這樣就可以找到所有電容。

 2、在原理圖中找到所有DGND的網絡標號。

(ObjectKind = 'Net Label') And (StringText = 'DGND')

 另外的辦法:

(StringText = 'DGND') and (Not IsLabel)

 相似的,下面這個可以找到所有帶GND名稱的網絡標號:

(StringText Like '*GND*') and (Not IsLabel)

 這個Not IsLabel會排除掉所有的文本(Text)。

 3、在原理圖中找到所有封裝為0402尺寸的器件。

(ObjectKind = 'Part') And (CurrentFootprint Like '*0402*')

 4、在原理圖中找到所有TPD2E009型號的TVS管子。

PartComment like '*TPD2E*'

 

二、原理圖器件庫。

 1、在原理圖器件庫中找出所有使用TSSOP16封裝的器件。

 (1)用查找工具。步驟:「1」打開原理圖器件庫,用Tools -> Find Component(T O)打開Library Query窗口:

  

 中間這個圖是Query的簡便模式,右邊這個圖是表達式模式。

 表達式分三個部分:域(Field),關系運算符(Operator),值(Value)。

 域,可取的值數目有限,相當於關鍵字或者宏定義的一些值。對於原理圖器件庫,常用的有:Footprint,Name,LibReference,Pin Count等。

 關系運算符,常見的有:全字等於(=),包含(LIKE)等。

 值,一般可以是字符串,數字等。

 「2」根據需要輸入表達式,設定查詢值等。

 「3」查詢結果在View -> Workspace Panels -> System -> Libraries中,顯示為Query Results:

  

 下面給一些例子:

 {1}找到只有8個引腳(包含裸露的散熱片Exposed Pad)的器件:

HasParameter('Pin Count', '8')

  注意:Pin Count中間帶空格分開;值為數字也要用單引號包裹。

 {2}找到封裝名字帶有SPO16的器件:

HasParameter('Footprint', '*SOP16*')

  注意:星號表達式(*)可以實現模糊匹配。

 {3}找到器件簡述說明中含有LNA字樣的器件:

(Description LIKE '*LNA*')

  這里LIKE是運算符。

 (2)用報表實現。步驟:「1」打開原理圖器件庫,用Reports -> Library List(R L)生成器件庫的報表:

 

 「2」生成的報表有csv格式和rep格式,將csv格式保存下來,用Excel打開,再進行搜索。

 

三、PCB文件。

 直接給出一些例子:

 1、在PCB文件中找到編號為U6的元件

Component = 'U6'

 或者:

Name = 'U6'

 注意使用等於運算符(=)時,是全字匹配,並且區分大小寫。

 2、在PCB中找到無網絡(NoNet)的過孔

IsVia and (not(InNet('*')))

 3、選中所有Top Layer的鋪銅(Poly)

IsPoly and OnLayer('Top Layer')

  注意OnLayer中的值必須填完整的層名稱,不能寫成OnLayer('*Top*')

 4、選中孔徑為12mil的GND過孔

IsVia and InNet('GND') and HoleSize = 12

 5、在PCB設計規則下,僅僅設定指定的兩個(或多個)器件的擺放間距為任意距離

  在AD10中,這個情況適用於PCB中器件旋轉后出現的器件占用面積過大的情況,比如這樣:

  

  設計規則中,網絡最小間距設定為足夠小(8mil),器件最小間距設定為1mil,但是仍然報錯。這是因為器件最小間距仍然小於了規則設定,實際的器件占位是這樣:

  

  兩個器件器件發生交疊,規則檢查不能通過。這個問題有兩種解決辦法:

  (1)在設計規則(D R)中,找到Placement -> Component Clearence,建立一個新規則。將Vertical Clearance Mode設定為Specified,將Minimum Horizontal Clearance設定為0mil,將Minimum Vertical  Clearance設定為0mil。

  

  這樣交疊的器件就不會報錯。缺點是:DRC時會忽略那些沒有放好的器件。

  (2)加入器件限定。

   報錯的兩個器件是C33和FB3,在保持其他器件的最小間距檢查時,忽略掉這兩個器件,可以規則設定中添加篩選器:

NOT(InComponent('FB3') OR InComponent('C33')) 

  

  這樣就略過了C33和FB3的器件最小間距檢查。

 6、選中在同一原理圖Sheet中的全部器件

InComponentClass('Power_Supply')

  Power_Supply同時是原理圖文件的名稱,也是默認的ComponentClass名字。

 7、選中所有90度旋轉后放置的器件絲印標號。

IsText and InComponent('*') and (Rotation like '90')

  8、找到所有型號AO3400的MOS管(查找Comment域)。

Comment like '*AO3400*'

 

四、封裝庫。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM