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*'
四、封裝庫。