如何在特定区域设置线宽、线距规则

描述

 今天偷个懒,分享一个 Hayden 大佬提供的自定义规则,非常实用。可以在特定区域(如BGA器件范围内)定义特殊的线宽、线距规则。 

就是下面这段自定义规则,表示 U10 Courtyard 区域范围内所有对象需要满足的宽度和间隙规则:最小 0.1 mm

 

(version 1)(rule "渐变线宽"(constraint track_width (min 0.1mm) (opt 0.15mm))(constraint clearance (min 0.1mm) (opt 0.15mm))(condition "A.intersectsCourtyard('U10')"))

 

这里说明一下用到的函数:intersectsCourtyard('x')。

其中 ‘x’ 有以下几种合法的取值:

1. 器件位号,可以包含通配符 * 和 ?。例如:

intersectsCourtyard('R?') 会匹配所有以 R 开头且后接单个字符的封装符号(如 R1,R2)。

intersectsCourtyard('R*')匹配所有以 R 开头的封装符号(如 R1, R10, RES)。

2. 封装标识符。格式为<封装库名称>:<封装名称>,支持通配符。例如: intersectsCourtyard('Resistor_SMD:*') 会检查 Resistor_SMD 库中的所有封装符号。

3. 元件类(Component Class)

格式为 ${Class:类名}。注意:Class 关键字不区分大小写,但类名区分大小写。例如:${Class:Power} 会匹配所有属于 Power 类的封装符号。 intersectsCourtyard('x')同时检查封装顶层和底层的 Courtyard。如果只需要检查顶层或底层的 Courtyard,则可以使用 intersectsFrontCourtyard('x') 或 intersectsBackCourtyard('x') 函数 还有个函数叫 insideCourtyard('x'),用法与 intersectsCourtyard('x') 完全相同,不过已经过时,将由 intersectsCourtyard('x') 取代。 最后看一下自定义规则在哪里设置,如下图所示: 封装 您也可以点击“语法帮助”,或者自定义规则的详细用法以及示例。 更多关于自定义规则的用法可以参考文档: https://docs.kicad.org/9.0/en/pcbnew/pcbnew.html#custom-design-rules 当然,您也可以看一下以前的推文,深入地进行学习:

KiCad 自定义规则语法与应用

KiCad:自定义规则(Custom Design Rules)在DDR布线时的应用举例

结束语

除了 用 intersectsCourtyard('x') 之外,如果想在一个区域内定义特殊的规则,还可以使用  intersectsArea('x') 函数。留个作业,大家可以自行探索。

注意:如果想第一时间收到 KiCad 内容推送,请点击下方的名片,按关注,再设为星标。

常用合集汇总:

和 Dr Peter 一起学 KiCad

KiCad 8 探秘合集

KiCad 使用经验分享

KiCad 设计项目(Made with KiCad)

常见问题与解决方法

KiCad 开发笔记

插件应用

发布记录

审核编辑 黄宇

封装

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐
  • 热点推荐
  • 封装

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分