“ 老版本的 KiCad 只有网络类(Net Class),但没有器件类(Component Class),在 KiCad 9 中器件类终于亮相了。结合规则区域,器件类可以在多通道设计及自定义规则中发挥重要的作用。 ”
什么是器件类(Component Class)?器件类本质上是元器件的分组工具。当您在原理图中为符号指定某个器件类后,对应 PCB 中的封装也会自动继承该分类。这种双向绑定特性让它成为:
多通道设计的黄金搭档:快速建立信号通道模板自定义 DRC 规则的好帮手:批量设置间距/布线规则元器件管理工具:可视化分类管理复杂设计
如何分配器件类?有两种方法为器件指定“器件类”:
方法1:在符号内添加“器件类”字段
在原理图符号属性中添加"Component Class"字段,输入类名即可完成绑定。
如上图所示,为选中的符号中添加了一个“resistor”器件类。可以为更多的符号添加“Component Class”字段,只有数值相同,这些符号都被认为属于同一“器件类”。就像给元器件贴上电子标签,后续在PCB布局时,相关封装自动归类。
方法2:规则区域+指令标签KiCad 9 在原理图中增加了规则区域(rule area)以及指令标签(Directives)的支持。可以在放置菜单中找到以下命令:
首先点击“绘制规则区域”,绘制一个封闭的图形,将需要设置规则的对象包含在内。如下图所示,绘制了一个矩形的规则区域,将7805电路的所有对象包含在内。
点击“放置指令标签”,可以在弹出的对话框中设置标签的字段,可以是网络类,也可以是器件类。这里我们设置为“器件类”,并赋值为“Power”:
把指令标签放置于规则区域的边缘:
完成后区域中的所有器件都会成为“Power”器件类的成员。使用这种方式可以更方便高效地管理器件类,且更直观。
当从原理图同步到 PCB 时,所有这些器件的 Component Class 自动同步:
“器件类”在多通道设计中的应用除了可以对子图(Sheet)进行多通道设计,KiCad 9 新增的规则区域和 Component Class 还可以对原理图局部的内容进行多通道设计。这个方式比 AD 更灵活,更好用。我们来看下怎么实现。
我们随意在原理图中复制几个器件,当成 3 个通道:
点击 放置->规则区域:
为三个通道分别绘制三个规则区域:
点击 “放置指令标签”:
在 Component Class 这里给规则区域内的器件加一个类:
分别摆放到规则区域边缘:
现在可以同步到 PCB 了:
点击 工具->多通道->生成布置规则区,这次选择元件类:
确定后可以看到规则区域已经生成(红色细线):
打开规则区域的属性,是这个样子的:
随意的找个通道连几根线,在规则区域内增加一个圆形:
选中参考区域,点击 工具->多通道->复刻布局:
勾选目标规则区域后确认,效果如下图所示:

更多关于多通道设计的应用请参考:KiCad 9 探秘(二):多通道设计工具
“器件类”自定义 DRC 规则
增加了 Component Class 之后,自定义 DRC 规则增加了以下内容:Footprint 封装属性增加了“Component_Class”:
Component_Class 属性只属于封装本体,子对象(如焊盘)不继承该属性若需判断某子对象(如焊盘、走线)是否属于特定组件类的封装,请使用:memberOfFootprint('${Class:x}') 函数(将x替换为目标器件类名,例如memberOfFootprint('Power'))示例表达式:(condition "A.ComponentClass == 'CLASS_1,CLASS_2'")表达式函数增加了“hasComponentClass('x')”:当目标对象(仅限封装)的组件类集合中包含指定类名x时,返回true。仅封装对象拥有组件类属性,其他对象(如焊盘、走线等)调用此函数将始终返回false
若需检测非封装对象(如焊盘、走线、过孔等)是否属于某个特定组件类的封装,请使用memberOfFootprint()表达式函数。
示例表达式:(condition "A.hasComponentClass('CLASS_1')")
Component Class 可以在以下函数中使用('x'为器件类的值):
insideCourtyard('x')insideFrontCourtyard('x')insideBackCourtyard('x')intersectsCourtyard('x')intersectsFrontCourtyard('x')intersectsBackCourtyard('x')
memberOfFootprint('x')
结束语
结合规则区域,器件类可以在多通道设计及自定义规则中发挥重要的作用。最后一个tip,在 KiCad 中,同一个器件可以属于不同的器件类,可以在规则区域中摆放多个指令标签的方式实现。
注意:如果想第一时间收到 KiCad 内容推送,请点击下方的名片,按关注,再设为星标。
常用合集汇总:
和 Dr Peter 一起学 KiCad
KiCad 8 探秘合集
KiCad 使用经验分享KiCad 设计项目(Made with KiCad)常见问题与解决方法KiCad 开发笔记插件应用
发布记录 |