7.4. 制作高引脚数的原理图元件

quicklib 中标题为 制作原理图元件 的部分中,我们了解了如何使用 quicklib 基于 Web 的工具制作原理图元件。但是,您偶尔会发现需要创建一个具有大量引脚(几百个引脚)的原理图元件。 在 KiCad 中,这不是一项非常复杂的任务。
  • 假设您要为具有 50 个引脚的器件创建原理图元件。 通常的做法是使用多个低引脚数的图纸来绘制它,例如两个图纸,每个图纸有25个引脚。 该元件表示允许简单的引脚连接。
  • 创建元件的最佳方法是使用 quicklib 分别生成两个25引脚元件,使用 Python 脚本重新编号它们的引脚,最后通过使用复制和粘贴将它们合并为一个单独的 DEF 和 ENDDEF 元件。
  • 您将在下面找到一个简单的 Python 脚本示例,它可以与 in.txt 文件和 out.txt 文件一起使用以重新编号该行:X PIN1 1 -750 600 300 R 50 50 1 1 I into X PIN26 26 -750 600 300 R 50 50 1 1 I 这对文件 in.txt 中的所有行都已完成。
简单的脚本.
  1. #!/usr/bin/env python
  2. ''' 操作 KiCad 元件引脚编号的简单脚本 '''
  3. ''' simple script to manipulate KiCad component pins numbering'''
  4. import sys, re
  5. try:
  6. fin=open(sys.argv[1],'r')
  7. fout=open(sys.argv[2],'w')
  8. except:
  9. print "oh, wrong use of this app, try:", sys.argv[0], "in.txt out.txt"
  10. sys.exit()
  11. for ln in fin.readlines():
  12. obj=re.search("(X PIN)(\d*)(\s)(\d*)(\s.*)",ln)
  13. if obj:
  14. num = int(obj.group(2))+25
  15. ln=obj.group(1) + str(num) + obj.group(3) + str(num) + obj.group(5) +'\n'
  16. fout.write(ln)
  17. fin.close(); fout.close()
  18. #
  19. # 有关正则表达式语法和 KiCad 元件生成的详细信息:
  20. # for more info about regular expression syntax and KiCad component generation:
  21. # http://gskinner.com/RegExr/
  22. # http://kicad.rohrbacher.net/quicklib.php
  • 在将两个元件合并为一个元件时,有必要使用 Eeschema 的库编辑器移动第一个元件,以便第二个元件不会在它上面移动。 您将在下面找到最终的 .lib 文件及其在 Eeschema 中的表示形式。
*.lib 文件的内容.
  1. EESchema-LIBRARY Version 2.3
  2. #encoding utf-8
  3. # COMP
  4. DEF COMP U 0 40 Y Y 1 F N
  5. F0 "U" -1800 -100 50 H V C CNN
  6. F1 "COMP" -1800 100 50 H V C CNN
  7. DRAW
  8. S -2250 -800 -1350 800 0 0 0 N
  9. S -450 -800 450 800 0 0 0 N
  10. X PIN1 1 -2550 600 300 R 50 50 1 1 I
  11. ...
  12. X PIN49 49 750 -500 300 L 50 50 1 1 I
  13. ENDDRAW
  14. ENDDEF
  15. #End Library
gsik_high_number_pins_png
  • 这里介绍的 Python 脚本是一个非常强大的工具,用于操作引脚号和引脚标签。 然而,请注意,它的所有功能都来自于神秘而且非常有用的正则表达式语法:http://gskinner.com/RegExr/.