免费试用

看看哪些下载,最适合您的需求

如何购买

请联系当地销售网点,提升您的设计环境

下载

下载最新版本的PCB设计及EDA软件

  • PCB设计软件
  • Altium Designer

    轻松进行原生的3D PCB设计

  • CircuitStudio

    Entry Level, Professional PCB Design Tool

  • CircuitMaker

    Community Based PCB Design Tool

  • NEXUS

    敏捷的团队PCB设计

  • Altium年度客户服务计划

    Altium产品不断更新,为您提供最新技术

  • 云平台
  • Altium 365

    连接PCB设计与生产车间

  • 元器件管理
  • Altium Concord Pro

    元件库管理的完整解决方案

  • 数据管理
  • Altium数据保险库

    ECAD设计数据、库、工作流程和团队管理的一体化平台

  • Ciiva

    Intelligent Parts Database for Achieving Realizable Design

  • Octopart

    快速、精准和简单地使用元器件搜索,连接您与元器件数据和供应链的纽带。

  • 产品扩展插件
  • PDN分析器

    轻松自如的电源分布网络分析

  • 查看全部产品扩展插件
  • 嵌入式
  • TASKING

    世界知名的 卓越编译技术,TASKING工具已有超过25年的历史。

  • 培训
  • 上门培训

    最好的实践教学培训。

  • 按需课程

    足不出户即可进行系统全面的学习

  • Altium Designer 20

    轻松的原生3D PCB设计

    • 论坛

      Altium用户与发烧友的互动平台

    • 博客

      我们的博客展示我们关注的领域,希望同样也能激起您的兴趣

    • 创意

      为Altium工具新功能开发提交您的创意并参与投票

    • Bug 提交

      通过提交Bug,对重要事项进行投票,帮助提升软件性能

    • Altium认证

      帮助电子工程师步入职业发展的快车道

    • 测试项目

      参与我们的测试项目,更早获取Altium最新版

    • 领航者授权计划

      Altium助力科技创新类小微企业腾飞!

    客户成功案例

    我们的用户正在改变着各行各业,了解详情

    下载

    看看哪些下载,最适合您的需求

    如何购买

    请联系当地销售网点,提高您的设计环境

    • 文档

      您在TechDocs上,可以找到大量在线的免费文档

    • 培训与活动

      查看时间表,注册遍布全球的线上及线下的培训和活动

    • 设计内容

      浏览我们免费的大容量设计内容库,其中包括元器件,模板和参考设计

    • 网络研讨会

      在线参加网络研讨会或观看我们以往的研讨会视频。

    • 技术支持

      使用多元化的技术支持模式及自助服务选项来解决您的问题。

    • 技术文档

      通过Altium全面的技术白皮书,了解最新技术,紧跟行业趋势。

    • 视频库

      简洁明了的指导视频教程,帮助您启程Altium Designer

    Query语句的编写及检测

    January 24, 2019

    在编写设计规则时,我们经常会用Query语句来详细地限定设计规则的范围。如何准确地编写Query语句,并在编写完成之后检查Query语句的范围是否正确呢?下面详细地说明一下。

    您也可以点击这里观看视频教程。

    1.编写Query语句

    在PCB文档界面,选择菜单Design-> Rules… 打开PCB Rules and Constraints Editor 对话框,将Where The Object Matches的范围设置为Custom Query,右侧的区域内就可以直接输入Query语句了, 如下图所示。

    创建Query语句

    当我们不了解Query语句的语法、可用的关键字时,可以使用Query Builder和Query Helper这两个功能项协助创建Query语句。

    1.1. 使用Query Builder构建查询语句

    Query Builder提供了一种构造查询语句的简单方法,它允许设计者利用条件类型和值构建相关的查询模块。点击Query Builder按钮来打开Building Query from Board对话框,可以在该对话框中创建由AND和OR 逻辑字符串构成的查询表达式。

    使用Query Builder创建查询表达式

    该对话框的左侧部分用于选择指定目标对象的条件,右侧部分会显示当前查询语句的预览,如上图所示,可以添加多个条件进一步限制目标对象。

    1.2.使用Query Helper构建高级查询语句

    点击Query Helper按钮打开Query Helper对话框。查询引擎会分析PCB设计,列出所有可用的对象,以及所有查询关键字。

    对话框的Query区域用来生成查询表达式。我们可以直接在该区域输入——会出现辅助的关键字或对象的提示列表。

    对话框的Categories区域用于访问可用的PCB函数(PCB Functions)、PCB对象列表(PCB Object Lists)和系统函数(System Functions),它们用来创建查询表达式。在这三个区域中点击一个子类别,会在右侧区域中显示相应的关键字或对象列表。定位要在查询语句中使用的关键字或对象,并双击其条目,该条目就会出现在查询表达式区域的当前光标位置。

    C:\Users\CAIXIA~1.SON\AppData\Local\Temp\1545098896(1).png

    使用Query Helper编写更复杂的查询表达式

    该对话框上的Check Syntax按钮可用来检查和标记查询表达式中的语法错误。

    1.3. 使用PCB Filter 面板创建设计规则

    创建设计规则的另一种方法:利用PCB Filter面板的查询语句直接创建设计规则。使用Find Similar Objects对话框,可以为PCB Filter 面板创建查询表达式。然后在PCB Filter面板中使用Create Rule按钮,为Filter部分的查询表达式直接创建设计规则。步骤如下:

    1. 在PCB面板上选择一个目标对象,对其右键单击,然后在弹出的右键菜单中选择Find Similar Objects命令,打开Find Similar Objects对话框。在该对话框中,将目标对象具有的相同元素设置为Same (例如PCB封装相同,则将Footprint设置为Same),勾选Create Expression 对话框,设置如下图所示。

    利用Find Similar Objects 创建查询语句

    1. 此时可以点击 Apply按钮, 查看目标对象是否都被选中。如果我们需要的对象都被选中,并且不需要的对象不在选择范围内,则说明设置的选择范围没有问题。点击OK按钮,此时已经打开的PCB Filter面板的Filter区域出现了 Find Similar object 对话框产生的查询表达式。如下图所示:

    PCB Filter面板

    1. 此时勾选面板上的Select 复选框,然后点击Apply to All按钮(如上图所示),将会选中PCB板上所有要查询的设计对象。

    2. 在确保查找对象的范围没有问题后,可以将Filter中的查询语句复制到设计规则对话框的Query语句区域。也可以按照下面所示的步骤创建新的设计规则:

    • 点击Filter对话框上的Create Rule按钮,然后在弹出的Choose Design Rule Type对话框中选择要创建的规则类型;

    C:\Users\CAIXIA~1.SON\AppData\Local\Temp\1545100764(1).png

    选择要创建的设计规则的类型

    • 这将打开PCB Rules and Constrains Editor窗口,查询语句已经被复制到相应的区域,此时只要对规则进行命名,然后进行后续的设置即可。

    C:\Users\CAIXIA~1.SON\AppData\Local\Temp\1546056896(1).png

    生成设计规则

    2. 检测Query语句

    在设置设计规则时,了解规则的范围是否正确涵盖了所有预期的对象,且不包括其他的对象,是个很重要的步骤。

    2.1. 使用Test Queries检测查询语句

    Test Queries功能可以测试查询语句,验证查询表达式是否定位到正确的对象。

    在设计规则界面点击窗口右上角的Test Queries按钮,打开Test Queries Result窗口,该窗口中会显示查询语句实际上应用到的对象数,如下图所示。

    检查当前查询语句应用到的对象

    点击Test Queries Result对话框上Expression result 后面的数字,PCB板上会高亮显示该条查询语句适用的设计对象,其它的设计对象会被遮蔽或变暗,以检测查询语句是否涵盖了正确的对象并且不包含多余的对象。

    2.2. 在PCB Filter中检测

    还可以将查询语句复制到PCB Filter 面板的Filter区域内,在勾选Select复选框后,使用Apply to All 按钮测试查询语句的应用范围。具体的方法如 1.3.中的C步骤所述。

    3. 用Query语句创建规则的实例

    例如:我想限定电路板上特定区域内的线宽和间距,可以借助Query语句来创建设计规则,步骤如下:

    1. 创建Room,并为其命名。

    选择菜单: Design>> Rooms >> Place Rectangular Room,创建包含特定区域的Room,并将其命名为RoomT 。

    1. 创建一个新的Width设计规则。

    2. 在设计规则中编写Query语句来对Room内的对象进行限定。

    在设计规则中,打开Query Helper 对话框,找到PCB Functions下面的Membership Checks, 找到跟Room相关的关键字 WithinRoom 并双击,使其出现在Query语句预期,然后填入创建的Room的名称RoomT,  点击OK 按钮。如下图所示:

    C:\Users\CAIXIA~1.SON\AppData\Local\Temp\1546930175(1).png

    1. 编写好的Query语句会出现在设计规则的Query语句框内,然后设置线宽范围,并点击OK按钮。规则编写完成,如下图所示:

    C:\Users\CAIXIA~1.SON\AppData\Local\Temp\1546930104(1).png

    1. 创建一个新的Clearance设计规则。并参考步骤c、d完成间距设计规则的编写。如下图所示:

    Custom Query选项使设计人员能够自定义编写更复杂的查询语句,以便更具体地限定规则应用的范围。编写Query 语句并检测其准确性,在我们日常编写设计规则的时候应用非常广泛,通过本篇文章,大家是否对Query语句的编写和检测有了更多的了解呢?  

    most recent articles

    Back to Home