算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
kicad【设计与创意】Use when designing electronic circuits and PCBs — schematic capture, PCB layout, 3D viewer, SPICE simulation, Gerber export. KiCad: the leading open-source EDA/PCB design suite.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: kicad description: "Use when designing electronic circuits and PCBs — schematic capture, PCB layout, 3D viewer, SPICE simulation, Gerber export. KiCad: the leading open-source EDA/PCB design suite." tags:
项目地址: https://gitlab.com/kicad/code/kicad
官方文档: https://docs.kicad.org/
API(Python): https://docs.kicad.org/doxygen-python/
许可证: GPL-3.0+
KiCad 主要程序:
| 程序 | 用途 |
|---|---|
| KiCad(项目管理) | 项目入口 |
| Eeschema | 原理图编辑 |
| Symbol Editor | 元件符号库 |
| Pcbnew | PCB 布局布线 |
| Footprint Editor | 封装库 |
| 3D Viewer | 3D 预览 |
| GerbView | Gerber 浏览 |
| BOM 工具 | 物料清单 |
| CLI(KiCad 7+) | 自动化(kicad-cli) |
当前最新稳定版为 10.0.x(截至2026年9月,见 KiCad Downloads)。KiCad 7+ 相对 6.x 的改进:
pcbnew),支持脚本扩展# Linux
sudo add-apt-repository --yes ppa:kicad/kicad-10.0-releases
sudo apt install kicad
# macOS
brew install --cask kicad
# Windows: 安装包
库(Symbols/Footprints/3D Models)随主程序安装;亦可单独 kicad-symbols / kicad-footprints / kicad-packages3D 仓库 git 跟踪。
A 添加;R/L/C 等快捷键W Wire、B BusERC(菜单 Inspect → ERC){NET[0..7]}Polygon 或 Line 画F)X 起线、V 通孔 / 切层File → Board Setup → Net ClassesAdd Filled Zone,绑定 GND/PWRInspect → Design Rules CheckerPreferences → Manage Symbol/Footprint Libraries(按用户/项目级别)lib/ 放 .kicad_sym / .pretty/Symbol Library Editor 导入File → Plot
Layers: F.Cu, B.Cu, F.Mask, B.Mask, F.Silkscreen, B.Silkscreen, Edge.Cuts (+ inner)
Format: Gerber (X2 推荐)
Generate Drill Files → Excellon / Gerber X2
输出:
*-F_Cu.gbr / *-B_Cu.gbr ...
*-PTH.drl / *-NPTH.drl
*-F_Pos.csv / *-B_Pos.csv (Pick & Place)
打包成 ZIP 上传给嘉立创/PCBWay/JLC 等代工厂。
# 原理图导出 PDF
kicad-cli sch export pdf project/main.kicad_sch -o sch.pdf
# 网表
kicad-cli sch export netlist project/main.kicad_sch -o net.net
# Gerber + Drill
kicad-cli pcb export gerbers project/board.kicad_pcb -o gerber/
kicad-cli pcb export drill project/board.kicad_pcb -o gerber/
# Pick & Place
kicad-cli pcb export pos project/board.kicad_pcb --format csv -o pos.csv
# STEP(3D)
kicad-cli pcb export step project/board.kicad_pcb -o board.step
import pcbnew
board = pcbnew.LoadBoard("board.kicad_pcb")
for fp in board.GetFootprints():
print(fp.GetReference(), fp.GetValue(), fp.GetPosition())
# 添加新走线
track = pcbnew.PCB_TRACK(board)
track.SetStart(pcbnew.VECTOR2I_MM(10, 10))
track.SetEnd (pcbnew.VECTOR2I_MM(20, 10))
track.SetLayer(pcbnew.F_Cu)
track.SetWidth(pcbnew.FromMM(0.25))
board.Add(track)
pcbnew.SaveBoard("out.kicad_pcb", board)
KiCad 8 中改用 pcbnew.VECTOR2I + pcbnew.FromMM,旧 5/6 用 wxPoint + pcbnew.FromMM。
B) 检查| 问题 | 解决 |
|---|---|
| 元件找不到 footprint | 在 Symbol 属性中绑定 footprint,或用 CvPcb 重新分配 |
| 中文丝印 | 选支持中文的 TTF(KiCad 6+ 起支持 TTF/OTF);更早版本仅 stroke 字体 |
| Gerber 不全 | 板厂常需要 F.Mask/B.Mask/F.Silk/B.Silk/Edge.Cuts/F.Cu/B.Cu + 钻孔 |
| 覆铜失效 | 重新 Refill;检查热焊盘连接 |
| 嘉立创不识别 | 输出格式选 X2;勾选 Plot pad on silk 关闭 |
新建 Project (.kicad_pro)
│
├── 1. 原理图 (.kicad_sch):放置元件 → 连线 → 注释 → 总线 → 分页
│ │
│ └── ERC(Electrical Rules Check)
│
├── 2. 分配封装:Tools → Assign Footprints(CvPcb)
│
├── 3. 生成网表 / 同步到 PCB(Update PCB from Schematic)
│
├── 4. PCB 布局 (.kicad_pcb):摆件 → 布线 → 覆铜 → DRC
│
├── 5. 3D 预览 / 导出 STEP
│
└── 6. 制造输出:Gerber + Drill + Pick & Place + BOM
.kicad_pro),在 Eeschema 中放置元件符号并联线kicad(含 kicad-cli)kicad-cli sch export netlist project/main.kicad_sch -o net.netkicad-cli pcb export gerbers project/board.kicad_pcb -o gerber/kicad-cli pcb export drill project/board.kicad_pcb -o gerber/kicad-cli pcb export pos project/board.kicad_pcb --format csv -o pos.csvkicad-cli 命令行工具,Python 脚本使用 pcbnew 模块。kicad-cli sch export pdf / kicad-cli pcb export gerbers / kicad-cli pcb export drill。Python:pcbnew.LoadBoard("board.kicad_pcb") → 遍历 footprints/tracks → 修改 → pcbnew.SaveBoard()。