找回密码
 注册
关于网站域名变更的通知
查看: 2158|回复: 6
打印 上一主题 下一主题

Altium Designer Query语句的编写及检测教程

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-9-16 17:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

+ F) V9 L- `. H  f在编写设计规则时,我们经常会用Query语句来详细地限定设计规则的范围。如何准确地编写Query语句,并在编写完成之后检查Query语句的范围是否正确呢?下面详细地说明一下。, ^  f8 [0 r6 W$ q! ]
1.编写Query语句
  X/ Z+ i$ L+ z6 w  U在PCB文档界面,选择菜单Design-> Rules… 打开PCB Rules and Constraints Editor 对话框,将Where The Object Matches的范围设置为Custom Query,右侧的区域内就可以直接输入Query语句了, 如下图所示。
3 C- Y  p* A4 n2 {
, D# r! q+ a/ A
3 a/ m) S" Z% R) j( y* v: K$ l8 _1 P7 Z) r创建Query语句
' x, V- _; o" N4 V- [" _当我们不了解Query语句的语法、可用的关键字时,可以使用Query Builder和Query Helper这两个功能项协助创建Query语句。
9 t0 z" a1 x' X' |5 T/ t1.1. 使用Query Builder构建查询语句- M6 [( S: v- [; O6 x
Query Builder提供了一种构造查询语句的简单方法,它允许设计者利用条件类型和值构建相关的查询模块。点击Query Builder按钮来打开Building Query from Board对话框,可以在该对话框中创建由AND和OR 逻辑字符串构成的查询表达式。
5 K! ?  M' x( [" u9 d. d& d6 V0 S" Y$ p

8 u* {3 Z$ b( q - \7 w$ Z& h% ]& J! Q
: F1 ~6 {" F" P# E; |+ v
使用Query Builder创建查询表达式+ R" d5 _) E) q6 Z7 l
该对话框的左侧部分用于选择指定目标对象的条件,右侧部分会显示当前查询语句的预览,如上图所示,可以添加多个条件进一步限制目标对象。
" j- M* }4 |2 I  Q" r( q4 C1.2.使用Query Helper构建高级查询语句7 `- K6 G' ^( d6 H* Y
点击Query Helper按钮打开Query Helper对话框。查询引擎会分析PCB设计,列出所有可用的对象,以及所有查询关键字。
: I' r' x( {; d& B对话框的Query区域用来生成查询表达式。我们可以直接在该区域输入——会出现辅助的关键字或对象的提示列表。
0 L, h3 d1 G1 z9 J# v* N对话框的Categories区域用于访问可用的PCB函数(PCB Functions)、PCB对象列表(PCB Object Lists)和系统函数(System Functions),它们用来创建查询表达式。在这三个区域中点击一个子类别,会在右侧区域中显示相应的关键字或对象列表。定位要在查询语句中使用的关键字或对象,并双击其条目,该条目就会出现在查询表达式区域的当前光标位置。5 g% d0 R/ _$ V/ ^

* a( W; k  ^% F+ W9 a! B6 t: p
. A: k: P2 M! L6 o* D7 e* Z
- t- F9 f+ l4 w8 i9 s使用Query Helper编写更复杂的查询表达式% G2 h# y6 H3 N
该对话框上的Check Syntax按钮可用来检查和标记查询表达式中的语法错误。9 s  b9 K8 `; k* _
1.3. 使用PCB Filter 面板创建设计规则4 y5 M7 D  M( X) u# p- a1 m3 {
创建设计规则的另一种方法:利用PCB Filter面板的查询语句直接创建设计规则。使用Find Similar Objects对话框,可以为PCB Filter 面板创建查询表达式。然后在PCB Filter面板中使用Create Rule按钮,为Filter部分的查询表达式直接创建设计规则。步骤如下:
, v" r/ k; x* \- {' G% w
: W: _$ ^  |4 \! s! m
  • 在PCB面板上选择一个目标对象,对其右键单击,然后在弹出的右键菜单中选择Find Similar Objects命令,打开Find Similar Objects对话框。在该对话框中,将目标对象具有的相同元素设置为Same (例如PCB封装相同,则将Footprint设置为Same),勾选Create Expression 对话框,设置如下图所示。
    % D" f& ^9 r3 F3 k/ ^6 W  K
4 |: y+ ]) X; S" C; d+ H( w
: k1 t! Z$ f, V& J: V/ U* R/ F4 Z
0 I: c6 \; [1 ^6 I7 f3 q6 r
利用Find Similar Objects 创建查询语句
' U$ B: d+ y* N% l2 G
" [7 u* n" b6 F. m" A$ w  o
  • 此时可以点击 Apply按钮, 查看目标对象是否都被选中。如果我们需要的对象都被选中,并且不需要的对象不在选择范围内,则说明设置的选择范围没有问题。点击OK按钮,此时已经打开的PCB Filter面板的Filter区域出现了 Find Similar object 对话框产生的查询表达式。如下图所示:
    $ @  b/ c3 `% m6 r9 j' U" C3 I5 Q

) e* z0 C- ?8 N& J
9 `7 l2 y% S& f& ?, @% q  B) d
* B+ Q1 W, m5 G4 B' I# I. }% O, zPCB Filter面板
% T( `+ L* m# @9 M+ h# W! \0 O) @$ r
  • 此时勾选面板上的Select 复选框,然后点击Apply to All按钮(如上图所示),将会选中PCB板上所有要查询的设计对象。
  • 在确保查找对象的范围没有问题后,可以将Filter中的查询语句复制到设计规则对话框的Query语句区域。也可以按照下面所示的步骤创建新的设计规则:* m5 a" q& S8 Q) w( h# O
" B8 W& m. y2 ?% D
  • 点击Filter对话框上的Create Rule按钮,然后在弹出的Choose Design Rule Type对话框中选择要创建的规则类型;+ A& f$ w2 Y7 I; [: z; `6 n
' ~7 D3 d' q3 g) p9 j# D
# o% R* p; ?8 Q: E, ^
" k3 w3 _% z% C/ A
选择要创建的设计规则的类型" V# E7 R- D3 w" G1 J1 @
  • 这将打开PCB Rules and Constrains Editor窗口,查询语句已经被复制到相应的区域,此时只要对规则进行命名,然后进行后续的设置即可。) ]: h  C) ?" S; {, e' [, h+ J
$ d3 y% B' _& |% S3 \, i" |4 f+ R  o
7 h8 \; x. i  @( `2 [% c- K3 ^

) z) G6 J' y* i2 I$ N; m生成设计规则& M; Y# K/ N* D8 i% l2 X' W
2 m( ^4 y+ K1 ^9 ^. r* [, k3 r
2. 检测Query语句" b$ q/ K" I& j, T- y2 i0 G
在设置设计规则时,了解规则的范围是否正确涵盖了所有预期的对象,且不包括其他的对象,是个很重要的步骤。/ q' k3 ~; i6 i
2.1. 使用Test Queries检测查询语句- @# m% G1 `$ e5 F. Z; l* u
Test Queries功能可以测试查询语句,验证查询表达式是否定位到正确的对象。
) y. `5 U' u5 ^2 J在设计规则界面点击窗口右上角的Test Queries按钮,打开Test Queries Result窗口,该窗口中会显示查询语句实际上应用到的对象数,如下图所示。. X( q. p8 P/ `1 E! L# X- B
( @3 K. m+ D1 k8 c- E3 D$ g" y1 s

' O- ]* _6 ^! b0 H2 }
( Z9 F0 N: c: G: M5 f( D$ P- t6 O8 Q$ `0 X  l) ^$ Z  E
检查当前查询语句应用到的对象, K2 a) u4 ?. h% ~
点击Test Queries Result对话框上Expression result 后面的数字,PCB板上会高亮显示该条查询语句适用的设计对象,其它的设计对象会被遮蔽或变暗,以检测查询语句是否涵盖了正确的对象并且不包含多余的对象。
- k* S- D; r2 ]  B2.2. 在PCB Filter中检测: t- j0 S% y; D! I
还可以将查询语句复制到PCB Filter 面板的Filter区域内,在勾选Select复选框后,使用Apply to All 按钮测试查询语句的应用范围。具体的方法如 1.3.中的C步骤所述。" ^' G$ v. f" R  k5 N/ m/ g
3. 用Query语句创建规则的实例
  `2 T5 p0 z' F# v$ c4 J; g# |例如:我想限定电路板上特定区域内的线宽和间距,可以借助Query语句来创建设计规则,步骤如下:3 g9 M/ r: `$ `, U4 u2 U0 A$ ^
创建Room,并为其命名。
  f- x0 W( }$ I4 |, G' @& E1 u5 J, @& v0 O6 X1 Q$ z7 k
选择菜单: Design>> Rooms >> Place Rectangular Room,创建包含特定区域的Room,并将其命名为RoomT 。
  j3 {) w1 n$ ?9 s
  • 创建一个新的Width设计规则。
  • 在设计规则中编写Query语句来对Room内的对象进行限定。
    0 J: m; k" w/ T8 ^

+ J. A% W0 c" b. [9 K4 V0 C在设计规则中,打开Query Helper 对话框,找到PCB Functions下面的Membership Checks, 找到跟Room相关的关键字 WithinRoom 并双击,使其出现在Query语句预期,然后填入创建的Room的名称RoomT,  点击OK 按钮。如下图所示:# x2 {0 v8 ], J2 d( X3 x" I  X+ T

! F$ p' L8 X7 @) `7 z: p
' q* L$ K2 U# Y. f! n5 S# N! j
" I, b6 Y1 i% f6 M8 R. H; p* Y8 C" A$ |) J" N, j9 \
  • 编写好的Query语句会出现在设计规则的Query语句框内,然后设置线宽范围,并点击OK按钮。规则编写完成,如下图所示:
    ' ?+ m* j3 t1 y7 ]$ M: A

( @' J4 x( H7 h. J! l# ` : a4 Z) F) g2 x1 v- F) K6 Z

2 m% x3 k9 j7 g. t
  • 创建一个新的Clearance设计规则。并参考步骤c、d完成间距设计规则的编写。如下图所示:
    - E+ t% ]" x$ B/ D# B/ o" g

  Q/ S3 G+ R- x/ z2 d % G  \* e  D3 h, d$ ]$ ~. O0 @
/ u/ _( Y1 A4 W$ T
Custom Query选项使设计人员能够自定义编写更复杂的查询语句,以便更具体地限定规则应用的范围。编写Query 语句并检测其准确性,在我们日常编写设计规则的时候应用非常广泛,通过本篇文章,大家是否对Query语句的编写和检测有了更多的了解呢?  
. Y9 Y0 e3 a9 k; I9 i% Q
0 Y! t! o% G% j1 Z" \# {" Z
4 n! e, W, h" \; A

该用户从未签到

2#
发表于 2020-9-16 17:48 | 只看该作者
点击Query Helper按钮打开Query Helper对话框。查询引擎会分析PCB设计,列出所有可用的对象,以及所有查询关键字。1 N0 [6 k1 q" k$ ] 对话框的Query区域用来生成查询表达式。我们可以直接在该区域输入——会出现辅助的关键字或对象的提示列表。 对话框的Categories区域用于访问可用的PCB函数(PCB Functions)、PCB对象列表(PCB Object Lists)和系统函数(System Functions),它们用来创建查询表达式。在这三个区域中点击一个子类别,会在右侧区域中显示相应的关键字或对象列表。定位要在查询语句中使用的关键字或对象,并双击其条目,该条目就会出现在查询表达式区域的当前光标位置。  
  • TA的每日心情
    开心
    2019-11-28 15:18
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2020-9-19 16:43 | 只看该作者
    很有用,谢谢

    该用户从未签到

    4#
    发表于 2021-2-19 10:04 | 只看该作者
    学习学习,非常感谢!

    该用户从未签到

    6#
    发表于 2021-6-10 18:27 | 只看该作者
    Altium Designer Query语句的编写及检测教程

    该用户从未签到

    7#
    发表于 2022-1-2 17:14 | 只看该作者
    感谢分享4 _1 W0 [% w7 A. [1 g# g8 G
    Altium Designer Query语句的编写及检测教程
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-9-5 18:28 , Processed in 0.140625 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表