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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

' }& V4 x9 ]7 E$ N8 w在编写设计规则时,我们经常会用Query语句来详细地限定设计规则的范围。如何准确地编写Query语句,并在编写完成之后检查Query语句的范围是否正确呢?下面详细地说明一下。
9 P6 O9 r8 J; Z& m& m1.编写Query语句
4 R0 m3 y. C! Y/ G, |& Y在PCB文档界面,选择菜单Design-> Rules… 打开PCB Rules and Constraints Editor 对话框,将Where The Object Matches的范围设置为Custom Query,右侧的区域内就可以直接输入Query语句了, 如下图所示。6 H- S( L! @( H/ Z( V& S

1 Z7 w8 i6 C3 V3 i# V$ x
% r7 v2 i) h! Q- o+ n创建Query语句
  S* R0 u  Q6 L) z  P" W当我们不了解Query语句的语法、可用的关键字时,可以使用Query Builder和Query Helper这两个功能项协助创建Query语句。
% N7 Y% K0 Q2 r) e& {2 ?1.1. 使用Query Builder构建查询语句
& N/ F/ `+ |; |' qQuery Builder提供了一种构造查询语句的简单方法,它允许设计者利用条件类型和值构建相关的查询模块。点击Query Builder按钮来打开Building Query from Board对话框,可以在该对话框中创建由AND和OR 逻辑字符串构成的查询表达式。% @- G, x" V7 t6 q. N5 s
/ G7 ?% c3 W! `5 T4 x) e

+ R/ D3 q7 l# x& h) L . g8 W+ s+ E7 w( ]% [; E

- R5 N3 h) k3 I+ B9 g1 S- v使用Query Builder创建查询表达式. i7 e3 e* E" m, C( f
该对话框的左侧部分用于选择指定目标对象的条件,右侧部分会显示当前查询语句的预览,如上图所示,可以添加多个条件进一步限制目标对象。
. r6 @+ m5 u- ~1.2.使用Query Helper构建高级查询语句1 V6 F9 L8 O2 W9 r9 E
点击Query Helper按钮打开Query Helper对话框。查询引擎会分析PCB设计,列出所有可用的对象,以及所有查询关键字。' o# C. f( y4 e1 D/ L
对话框的Query区域用来生成查询表达式。我们可以直接在该区域输入——会出现辅助的关键字或对象的提示列表。
4 F' n+ P0 M3 g- R对话框的Categories区域用于访问可用的PCB函数(PCB Functions)、PCB对象列表(PCB Object Lists)和系统函数(System Functions),它们用来创建查询表达式。在这三个区域中点击一个子类别,会在右侧区域中显示相应的关键字或对象列表。定位要在查询语句中使用的关键字或对象,并双击其条目,该条目就会出现在查询表达式区域的当前光标位置。
. u3 d; ?! n) }/ E& N: \  o
  ?9 q9 F0 d0 Z6 S / F$ R$ c1 _9 X2 K

. t% J+ s4 ?6 r( R  T/ O使用Query Helper编写更复杂的查询表达式
6 c: |* Q* M1 W  M! R该对话框上的Check Syntax按钮可用来检查和标记查询表达式中的语法错误。
7 z2 b) ^9 U$ _3 \- u3 [1 X1.3. 使用PCB Filter 面板创建设计规则
" Y/ m6 k& y: o创建设计规则的另一种方法:利用PCB Filter面板的查询语句直接创建设计规则。使用Find Similar Objects对话框,可以为PCB Filter 面板创建查询表达式。然后在PCB Filter面板中使用Create Rule按钮,为Filter部分的查询表达式直接创建设计规则。步骤如下:
% K4 @- G: e. U# M
4 `2 T2 p7 U' S" d& F7 a* b
  • 在PCB面板上选择一个目标对象,对其右键单击,然后在弹出的右键菜单中选择Find Similar Objects命令,打开Find Similar Objects对话框。在该对话框中,将目标对象具有的相同元素设置为Same (例如PCB封装相同,则将Footprint设置为Same),勾选Create Expression 对话框,设置如下图所示。
    6 j. q6 g$ V! k% W" o- S& ]
; X# `( }6 l$ }' G# r. p- O: _1 h
5 w! ^: \3 X2 G/ @) i+ u4 \( m# Z
, }& g6 T, ^! X- j. W2 S
利用Find Similar Objects 创建查询语句
8 Q: r5 N" O, E4 `0 Z: S1 l8 v: @5 m0 x+ m) A# b( q3 _; Y5 k& k
  • 此时可以点击 Apply按钮, 查看目标对象是否都被选中。如果我们需要的对象都被选中,并且不需要的对象不在选择范围内,则说明设置的选择范围没有问题。点击OK按钮,此时已经打开的PCB Filter面板的Filter区域出现了 Find Similar object 对话框产生的查询表达式。如下图所示:3 p4 g. }9 c! _2 l( G4 A

. C6 f* b) ^/ }5 a% a( ~; c7 H + }4 t; B% w, M, z- V

# v3 ?) Y+ n4 [# Q* T! U8 aPCB Filter面板
& S6 `/ z3 i& s- ^. `3 Z9 Y! j3 r7 t
- g+ Z! x, m' G9 ~" y! n1 [
  • 此时勾选面板上的Select 复选框,然后点击Apply to All按钮(如上图所示),将会选中PCB板上所有要查询的设计对象。
  • 在确保查找对象的范围没有问题后,可以将Filter中的查询语句复制到设计规则对话框的Query语句区域。也可以按照下面所示的步骤创建新的设计规则:
    7 M3 M5 W& e. o. G9 w9 U; f  W5 @
7 Z$ v: w+ [8 _& E. K/ @
  • 点击Filter对话框上的Create Rule按钮,然后在弹出的Choose Design Rule Type对话框中选择要创建的规则类型;# `  M8 R+ Y9 ^- ]8 p9 Y9 `

# n  h" o/ b3 o 3 i1 Z. j9 e  ~
' B; [( D6 n1 m9 |6 c1 h
选择要创建的设计规则的类型
. r/ Z% |, P) ^0 k' ~
  • 这将打开PCB Rules and Constrains Editor窗口,查询语句已经被复制到相应的区域,此时只要对规则进行命名,然后进行后续的设置即可。7 G5 Z& l# r4 v$ }+ V! u
7 W: O+ e& D7 M, ~( M  c7 F- L

. j- A' j6 x+ W8 R! {
8 ~7 d' ^8 Q# h" U2 |: E6 \( i生成设计规则
; [( ~! u0 U; {& H/ K  V3 \( J- ~* i* I: t; ~2 z4 i% a8 A
2. 检测Query语句
8 n. V* |, E% O! p0 P$ d在设置设计规则时,了解规则的范围是否正确涵盖了所有预期的对象,且不包括其他的对象,是个很重要的步骤。. O! O( }1 X) m
2.1. 使用Test Queries检测查询语句
$ I! E9 D2 M& d+ P( v/ a" d' YTest Queries功能可以测试查询语句,验证查询表达式是否定位到正确的对象。
/ @& `( `6 x8 j* k$ \" [: h在设计规则界面点击窗口右上角的Test Queries按钮,打开Test Queries Result窗口,该窗口中会显示查询语句实际上应用到的对象数,如下图所示。
# v# b, f* V* o+ m7 t1 }/ u' D9 `, a+ j, o+ N7 h1 _  k+ R

5 ~3 w) T  ^2 v ( i# Y- T, _  s0 M1 y& R+ t

! k9 @6 X, u8 h% z检查当前查询语句应用到的对象
) P. F2 N$ K3 G. r3 ~点击Test Queries Result对话框上Expression result 后面的数字,PCB板上会高亮显示该条查询语句适用的设计对象,其它的设计对象会被遮蔽或变暗,以检测查询语句是否涵盖了正确的对象并且不包含多余的对象。
5 r7 l* s# L4 H5 K2.2. 在PCB Filter中检测
# {/ f/ S- H% C0 _9 R" L; x还可以将查询语句复制到PCB Filter 面板的Filter区域内,在勾选Select复选框后,使用Apply to All 按钮测试查询语句的应用范围。具体的方法如 1.3.中的C步骤所述。7 E9 K: g3 Z0 P! \0 X
3. 用Query语句创建规则的实例
1 w( y/ L$ s) n例如:我想限定电路板上特定区域内的线宽和间距,可以借助Query语句来创建设计规则,步骤如下:
8 N  o0 ?1 f& H2 G$ X9 B创建Room,并为其命名。2 l  ]$ X- o: M
) M+ r6 [- Q' I* e. G2 R
选择菜单: Design>> Rooms >> Place Rectangular Room,创建包含特定区域的Room,并将其命名为RoomT 。- W, O1 L$ p  m/ w
  • 创建一个新的Width设计规则。
  • 在设计规则中编写Query语句来对Room内的对象进行限定。
    . B& `/ J( f1 J; j1 ?
! T) `( q  G7 L+ D4 z" S
在设计规则中,打开Query Helper 对话框,找到PCB Functions下面的Membership Checks, 找到跟Room相关的关键字 WithinRoom 并双击,使其出现在Query语句预期,然后填入创建的Room的名称RoomT,  点击OK 按钮。如下图所示:) f4 j1 C) V$ n! L2 H$ w

0 Q$ W2 m. H2 @% l! w! J: \9 ~6 U0 I4 Q5 R% h) X

/ R0 |; j3 q! H7 J6 U6 G; s: {9 E' z' b' h* ^: @
  • 编写好的Query语句会出现在设计规则的Query语句框内,然后设置线宽范围,并点击OK按钮。规则编写完成,如下图所示:  h  j2 N' {7 c+ K$ ?7 d: d
& s6 @/ ?) P& N6 F& K5 Y+ n; ~

2 b, a3 u$ v3 H; D0 c' T3 f5 v3 x5 h' \: U/ P1 P4 E5 [
  • 创建一个新的Clearance设计规则。并参考步骤c、d完成间距设计规则的编写。如下图所示:
    - c/ \7 I. ^: ?" Z, e
8 X$ `; m! I. C7 @

$ q/ i) g1 b8 l3 M9 W
- m3 I& _4 T* N. vCustom Query选项使设计人员能够自定义编写更复杂的查询语句,以便更具体地限定规则应用的范围。编写Query 语句并检测其准确性,在我们日常编写设计规则的时候应用非常广泛,通过本篇文章,大家是否对Query语句的编写和检测有了更多的了解呢?  
: m# z" y  v) ]0 P
  A# m9 E( F0 f$ J! _) k) a$ R; b2 B8 Y5 [$ J, k% x, q

该用户从未签到

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 | 只看该作者
    感谢分享" \3 J& Y: W; T* N6 Z# E% ^
    Altium Designer Query语句的编写及检测教程
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-27 15:35 , Processed in 0.171875 second(s), 26 queries , Gzip On.

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

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

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