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*'
四、封装库。