How to build Query expressions for design Rule 应用Query构建规则的语法设置.docx
- 文档编号:14470607
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:6
- 大小:18.92KB
How to build Query expressions for design Rule 应用Query构建规则的语法设置.docx
《How to build Query expressions for design Rule 应用Query构建规则的语法设置.docx》由会员分享,可在线阅读,更多相关《How to build Query expressions for design Rule 应用Query构建规则的语法设置.docx(6页珍藏版)》请在冰点文库上搜索。
HowtobuildQueryexpressionsfordesignRule应用Query构建规则的语法设置
HowtobuildQueryexpressionsfordesignRule?
应用Query构建规则的语法设置
在AltiumDesigner中,设计规则通常用来定义用户的设计需求。
这些规则涵盖了设计的方方面面,从布线宽度,对象的安全间距,内电层的连接风格,过孔风格等等。
设计规则不仅能在PCB设计的过程中实时检测,而且也能够在需要的时候进行统一的批量检测并生成错误报告。
AltiumDesigner的设计规则不是PCB对象的属性,而是独立定义的。
每条规则需针对具体的PCB对象。
对于PCB规则系统来说,它必须知道给定的规则应用于哪些对象,即规则的应用范围。
可以在PCBRulesandConstraintsEditor对话框中设定规则及规则的范围。
其中采用撰写查询语句的方式来定义范围是经常需要用到的,并且非常重要的方式方法。
查询语句(Query)是对规则应用对象的描述。
设计规则的约束对象可以直接手动输入查询语句,或是在语言编辑区左侧的控制区选择,抑或是采用查询语句构造器来定义。
查询语句(Query)如何组织?
查询语句实际上是软件的一条指令,定义了一系列的目标设计对象。
查询语句由查询的关键字组成。
下面是一个查询语句的示例:
InNet('GND')AndOnLayer('TopLayer')
如果在宽度规则中用该查询语句定义范围,那么设计者在切换到顶层对GND网络布线时,走线的宽度会自动转换到该规则指定的宽度值。
如果执行设计规则检查(DRC),任何在顶层的GND网络必须满足这个宽度规则,否则就会被标记为违反设计规则。
使用PCB规则约束编辑器(PCBRulesandConstraintsEditor)对话框中的选项可以创建查询语句。
根据规则是一元的还是二元的,用户可能需要相应地定义一个或二个对象范围。
在PCB规则约束编辑器中,简单的查询语句有如下几种类型的范围选项。
所有的的设计对象
指定网络中的所有对象
指定网络类中的所有对象
指定层上的所有对象
指定层上且属于指定网络的所有对象
选择其中的任一选项,如果需要的话,可以使用右边的下拉菜单选定适当的目标,比如某个网络或某个层。
查询语句会自动出现在FullQuery区域的右方。
如下图。
高级查询Advanced(Query)选项允许设计者撰写自己的更复杂但更为精确的查询语句。
设计者可以在FullQuery区域直接输入规则范围的定制查询语句。
有两个工具(QueryBuilder和QueryHelper)可帮助创建高级查询语句。
当不确定查询语句的语法或者需要使用的关键字,这两个工具就会相当有用。
QueryBuilder定义规则范围
QueryBuilder是一种较简单的创建查询语句的方法,它允许设计者使用敏感的条件类型和数值但只能使用相关的‘构件’。
对于高级查询语句的创建,可以使用QueryHelper来查询关键字的说明及操作符的语法。
点击QueryBuilder按钮可以打开BuildingQueryfromBoard对话框,该对话框使得用户通过AND或OR等符号连接构造字符串,从而可以创建指向设计文档中特定对象的查询语句。
如下图所示。
在对话框中的左边部分,用户可以为某组对象指定所需要的条件类型。
当用户在对话框左半部分定义好条件后,在右半部分就可以预览显示当前创建的查询语句。
根据需要用户可以继续添加更多的条件以缩小用户的设计对象目标范围。
QueryHelper获得帮助
要使用QueryHelper,先选择Advanced(Query)选项,然后点击QueryHelper按钮就可以打开QueryHelper对话框。
系统背后的查询引擎会分析PCB设计,然后列出所有可用的对象与查询语句中使用的通用关键字。
如下图所示。
使用对话框的Query区域,构造一个查询表达式语句。
在默认情况下,当前有效规则范围的表达式会显示在这一区域。
用户可以在该区域内直接输入。
当用户输入时,智能感知功能将根据用户的输入提示给用户可能的关键字或对象列表。
对话框中的左下角红色圈出的Categories区域,提供了可以用来创建查询语句的PCB函数、PCB对象列表和系统函数。
当用户点击此三个类别中的某个子类别,右方的区域将会显示对应的关键字或对象列表。
找到查询语句需要用到的关键字或对象,然后双击该条目,该条目就会被插入到上方区域中查询表达式的当前光标处。
当Query语句有错误时
如果你键入的查询语句的语法有错误,在PCBRulesandConstraintsEditor对话框的左边区域,该规则会被用红色高亮出来。
及时修正这样的错误非常重要,否则做在线实时检测会非常慢。
因为一个有语法错误的规则范围会极大地降低在线或者批量DRC分析的速度。
当你试图关闭规则设置框时系统也会弹出一个错误对话框。
所以请确保所有规则范围的语法正确!
PCBFilter面板中使用查询语句(Query)
同样的道理,可以在过滤器面板使用查询语句来查找指定的一系列对象,然后定义每个规则应用到的对象。
PCBFilter面板为用户提供了创建设计规则的途径,创建的设计规则的应用范围将使用当前在面板中央区域中定义的查询语句来定义。
如上图所示。
要添加一条新的设计规则,只要点击CreateRule按钮,就会显示ChooseDesignRuleType对话框。
此对话框列出了PCB文档中所有可用的规则类别与规则种类。
用户只需选择希望创建的规则种类然后点击OK即可(或直接双击该规则种类入口)。
这时就会显示PCBRulesandConstraintsEditor对话框,在此对话框中系统已为用户创建了一个该种类的规则,并将该规则显示在主编辑窗口中,等待用户为此规则定义特定的约束条件。
而来自PCBFilter面板的查询语句也已经显示在对话框中的FullQuery区域中,作为此规则的应用范围。
采用QueryHelper创建Query语句案例
案例前因:
某项目的PCB设计中有诸多规则设置,特别是间距方面,由于12V网络需要更大的间距规则,已为其设置了20mil安全距离。
然后PCB完成之后,对其进行规则检查,出现了2条违规信息。
如上图所示。
两个电容C3和C4违反了规则,已绿色高亮显示。
原因是这些电容的焊盘形状已经固定。
没办法改变,我们只能修改规则的设置来适应这两个电容。
打开12V网络的间距规则设置,我们来修改规则范围,使其排除这2个电容。
操作如下。
设置时,需要在第二个对象处“Wherethesecondobjectmatches”不选中C3和C4。
即将C3和C4两个元件排除20mil间距的规则约束。
点击自定义语句“CustomQuery”,然后选择“QueryHelper”。
找到“Componentmembership”语句,将其添加到规则中。
我们双击“InComponent”条目,即可将其添加到语句对话框。
然后移动到语句“Query”对话框,在括号中键入一个单引号,将会弹出一个列表,选择C3。
然后添加“Or”到语句中,然后继续,我们先键入“In”。
然后选中需要的条目“Incomponent”。
这次选择C4。
现在我们选中了C3或者C4。
接下来要做的是,规则设置的范围不包含这两个电容。
于是我们添加逻辑非“Not”。
点击OK添加该条规则语句。
然后将其应用到规则设置中。
现在的12V间距规则,已经排除了这2个电容。
重新运行间距规则的DRC检查,结果很干净。
而且C3和C4也不再高亮。
采用PCBFilter面板生成Query语句案例
大家都深有体会:
让我们自己去输入一条条Query语句,熟练使用其语法条件,以及各条件之间的运算关系,这玩意对于非代码设计师来说,想想都头晕。
能不碰就不碰,能有变通方法尽量绕开!
那么这里介绍一套生成Query语句的法宝。
通过这个法宝我们可以方便地组织所需的Query语句。
甚至还方便智能到根据所选对象自动生成Query语句的地步!
废话少说,案例过一遍就都清楚了。
要熟练运用该法宝必须要与其左右两大护法搞好关系:
查找相似对象(Findsimilarobjects)和PCB过滤器(PCBFilter)。
案例前因:
一PCB设计中,有几个连接器件,想让它们互相交叠挨在一起而不报错。
那就需要设置这几个连接器件的元件之间间距(Componentclearance)允许它们零距离亲密接触。
首先第一步,用查找相似对象的方式,来创建自定义Query语句。
即选定一个对象,然后右键点击,选择查找相似对象“Findsimilarobject”。
在封装“Footprint”条目后面,选择相同“Same”,并确保创建表达式“Createexpression”选项框被勾选。
现在点击应用“Apply”来看看是否所有符合条件的目标元件被选中。
结果如你所愿。
然后打开PCB过滤器窗口“PCBfilter”,这里看到生成的语句表达式。
在过滤器窗口中,你可以拷贝并粘贴该表达式到规则设置中,或者直接点击创建规则“Createrule”按钮,来打开规则设置页面。
让我们为“Anderson”连接器选择元件间距。
我们想要将它们摆放在一起,而不会报错。
点击OK打开该规则设置页面。
让我们为该规则命名为“Anderson”。
现在我们的新规则中,第一个对象匹配的Quuery语句是来自PCBFilter自动导过来的。
代表的是黑色“Black”Anderson连接器,我们想让第二个对象匹配的语句是红色“Red”Anderson连接器。
这里偷下懒,直接从第一个对象的语句表达式拷贝粘贴到第二个对象的语句表达式,然后编辑,将黑色改为红色。
现在我们有了一个关于黑色连接器和红色连接器之间的元件间距的规则。
将其水平方向的间距设置为-5mil,以允许它们摆放连接在一起。
定义好规则之后,现在我们要看一看,该规则的范围是不是恰好准确包含了想要涵盖的对象。
要检查这个,我们需要用到测试语句“Testqueries”的功能。
它会打开一个测试语句的结果对话框,显示每个语句表达式的结果。
点击每个不同的条目,会跳转并缩放到那些被选中的对象。
点击OK。
现在让我们放置一个红色和黑色的连接器,毗连在一起,看看它们有没有发生间距报错。
并没有!
这就是刚才的规则所起的作用。
所以,采用查找相似对象(FindSimilarObjects)找到你关注的对象,然后勾选CreatExpressions,自动生成Query语句到PCBFilter面板,然后直接CreatRule即可。
Soeasy!
干吗还哼哧哼哧去查去写Query语句呢?
相关链接:
文档库-PCB过滤面板应用Query介绍
规则设置总览
免费试用AltiumDesigner最新版本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- How to build Query expressions for design Rule 应用Query构建规则的语法设置 应用 构建 规则 语法 设置
链接地址:https://www.bingdoc.com/p-14470607.html