KiCad自带的元器件库中的元器件型号是有限的,只是一些基本的通用器件或最新热门的器件,在每个用户的设计中肯定会遇到很多KiCad库中没有的器件,这就需要自己来解决,解决的方式有两种:
在这里,我们将了解如何使用KiCad快速创建新的原理图符号。
在KiCad中,原理图的符号是一段以DEF开头并以ENDDEF结尾的文本。 一个或多个符号通常放在扩展名为.lib的库文件中。 如果要将符号添加到库文件,只需使用文本编辑器的剪切和粘贴命令即可。
很多时候不需要从头开始创建元器件符号,可以基于现有的元器件符号(功能、引脚数比较接近,或者别人做好的器件符号需要进行调整)进行修改。在这里我们看一下如何将KiCad标准库Device(器件)的符号导出到自己的库myOwnLib.lib中进行修改使用。
是不是感觉到这种方式对于创建很多引脚数的器件会效率很高?
在quicklib的标题为Make Schematic Components的部分中,我们了解了如何使用基于web的quicklib工具制作原理图元件。但是,您偶尔会发现需要创建一个具有大量引脚(几百个引脚)的原理图元件。在KiCad中,这不是一项非常复杂的任务。
简单的脚本
#!/usr/bin/env python ''' simple script to manipulate KiCad component pins numbering''' import sys, re try: fin=open(sys.argv[1],'r') fout=open(sys.argv[2],'w') except: print "oh, wrong use of this app, try:", sys.argv[0], "in.txt out.txt" sys.exit() for ln in fin.readlines(): obj=re.search("(X PIN)(\d*)(\s)(\d*)(\s.*)",ln) if obj: num = int(obj.group(2))+25 ln=obj.group(1) + str(num) + obj.group(3) + str(num) + obj.group(5) +'\n' fout.write(ln) fin.close(); fout.close() # # for more info about regular expression syntax and KiCad component generation: # http://gskinner.com/RegExr/ # http://kicad.rohrbacher.net/quicklib.php
注:在将两个组件合并为一个组件时,有必要使用Eeschema的库编辑器移动第一个组件,以便第二个组件不会在它上面移动。 您将在下面找到最终的.lib文件及其在Eeschema中的表示。
* .lib文件的内容
EESchema-LIBRARY Version 2.3 #encoding utf-8 # COMP DEF COMP U 0 40 Y Y 1 F N F0 "U" -1800 -100 50 H V C CNN F1 "COMP" -1800 100 50 H V C CNN DRAW S -2250 -800 -1350 800 0 0 0 N S -450 -800 450 800 0 0 0 N X PIN1 1 -2550 600 300 R 50 50 1 1 I ... X PIN49 49 750 -500 300 L 50 50 1 1 I ENDDRAW ENDDEF #End Library
注:这里介绍的Python脚本是一种非常强大的用于处理引脚号码和引脚标签的工具,它的所有功能都来自于神秘但却非常有用的正则表达式语法:http//gskinner.com/RegExr/。