关于 kicad-cli
这是一份面向 KiCad 8.x 的 `kicad-cli` 命令参考,涵盖原理图、PCB、封装和符号操作,适合自动执行检查与文件导出的 KiCad 用户。文档也说明该命令行工具不能编辑设计内容。
主要功能
- 01导出原理图网表、BOM、PDF 和 SVG
- 02运行 ERC 与 PCB DRC 检查
- 03导出 Gerber、钻孔和位置文件
- 04导出 PCB 的 PDF、SVG、DXF 与 3D 文件
- 05升级封装和符号库
- 06自动化示例与退出代码
适用场景
- 01为 PCB 导出制造文件
- 02在构建脚本中运行 ERC 或 DRC
- 03生成原理图 BOM 和网表
- 04升级旧版 KiCad 库
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ o2scale/ electronics-agent-kit --skill kicad-cli安装后在 Claude Code 中输入/kicad-cli确认已加载。
详细介绍
KiCad CLI 参考
kicad-cli(KiCad 8.x)的完整命令参考
1. 命令结构
kicad-cli <application> <command> [options] <input-file>
应用:
sch- 原理图操作pcb- PCB 操作fp- 封装操作sym- 符号操作
2. 原理图命令
导出网表
kicad-cli sch export netlist \
--output project.net \
project.kicad_sch
导出 BOM
# Basic BOM
kicad-cli sch export bom \
--output bom.csv \
project.kicad_sch
# With specific fields
kicad-cli sch export bom \
--output bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
--group-by "Value,Footprint" \
--sort-asc \
project.kicad_sch
导出 PDF
kicad-cli sch export pdf \
--output schematic.pdf \
--black-and-white \
project.kicad_sch
导出 SVG
kicad-cli sch export svg \
--output ./svg/ \
--black-and-white \
project.kicad_sch
运行 ERC(电气规则检查)
kicad-cli sch erc \
--output erc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_sch
选项:
--severity-all- 报告所有严重级别--severity-error- 仅报告错误--exit-code-violations- 发现违规时返回非零退出码
3. PCB 命令
运行 DRC(设计规则检查)
kicad-cli pcb drc \
--output drc-report.rpt \
--severity-all \
--exit-code-violations \
project.kicad_pcb
导出 Gerber
kicad-cli pcb export gerbers \
--output ./gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
--subtract-soldermask \
project.kicad_pcb
常见图层:
F.Cu、B.Cu- 铜层In1.Cu、In2.Cu- 内部铜层F.SilkS、B.SilkS- 丝印层F.Mask、B.Mask- 阻焊层F.Paste、B.Paste- 锡膏层Edge.Cuts- 电路板外形F.Fab、B.Fab- 制造层
导出钻孔文件
kicad-cli pcb export drill \
--output ./gerbers/ \
--format excellon \
--excellon-units mm \
--generate-map \
--map-format pdf \
project.kicad_pcb
选项:
--format excellon- 标准钻孔格式--excellon-units mm或in--excellon-zeros-format decimal--generate-map- 创建钻孔图--map-format gerberx2|ps|pdf|svg|dxf
导出位置/贴片文件
kicad-cli pcb export pos \
--output positions.csv \
--format csv \
--units mm \
--side front \
--exclude-dnp \
project.kicad_pcb
选项:
--format csv|ascii--units mm|in--side front|back|both--exclude-dnp- 排除不贴装元件
导出 3D 模型
# STEP format (for mechanical CAD)
kicad-cli pcb export step \
--output project.step \
--subst-models \
project.kicad_pcb
# VRML format
kicad-cli pcb export vrml \
--output project.wrl \
project.kicad_pcb
导出 PDF
kicad-cli pcb export pdf \
--output pcb.pdf \
--layers "F.Cu,B.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcb
导出 SVG
kicad-cli pcb export svg \
--output pcb.svg \
--layers "F.Cu,Edge.Cuts" \
--black-and-white \
project.kicad_pcb
导出 DXF
kicad-cli pcb export dxf \
--output pcb.dxf \
--layers "Edge.Cuts" \
project.kicad_pcb
4. 封装命令
导出 SVG
kicad-cli fp export svg \
--output footprint.svg \
footprint.kicad_mod
升级封装库
kicad-cli fp upgrade \
--output ./upgraded/ \
./library.pretty/
5. 符号命令
导出 SVG
kicad-cli sym export svg \
--output ./symbols/ \
library.kicad_sym
升级符号库
kicad-cli sym upgrade \
--output upgraded.kicad_sym \
legacy.lib
6. 常用选项
| 选项 | 说明 |
|---|---|
--help | 显示命令帮助 |
--output、-o | 输出文件/目录 |
--define-var | 定义文本变量 |
--force、-f | 覆盖现有文件 |
7. 自动化示例
CI/CD 构建脚本
#!/bin/bash
set -euo pipefail
PROJECT="myproject"
# Run ERC
echo "Running ERC..."
kicad-cli sch erc \
--output reports/erc.rpt \
--exit-code-violations \
${PROJECT}.kicad_sch
# Run DRC
echo "Running DRC..."
kicad-cli pcb drc \
--output reports/drc.rpt \
--exit-code-violations \
${PROJECT}.kicad_pcb
# Generate manufacturing files
echo "Generating manufacturing files..."
mkdir -p output/gerbers
kicad-cli pcb export gerbers \
--output output/gerbers/ \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
${PROJECT}.kicad_pcb
kicad-cli pcb export drill \
--output output/gerbers/ \
--format excellon \
${PROJECT}.kicad_pcb
# Generate BOM
kicad-cli sch export bom \
--output output/bom.csv \
--fields "Reference,Value,Footprint,LCSC,MPN" \
${PROJECT}.kicad_sch
# Generate position file
kicad-cli pcb export pos \
--output output/positions.csv \
--format csv \
--units mm \
${PROJECT}.kicad_pcb
echo "Done!"
JLCPCB 准备工作
#!/bin/bash
PROJECT="$1"
OUTPUT="./jlcpcb"
mkdir -p "$OUTPUT"
# Gerbers (zip for upload)
kicad-cli pcb export gerbers \
--output "$OUTPUT/" \
--layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" \
"${PROJECT}.kicad_pcb"
kicad-cli pcb export drill \
--output "$OUTPUT/" \
--format excellon \
--excellon-units mm \
"${PROJECT}.kicad_pcb"
cd "$OUTPUT" && zip -r gerbers.zip *.g* *.drl && cd -
# BOM for assembly
kicad-cli sch export bom \
--output "$OUTPUT/bom.csv" \
--fields "Comment,Designator,Footprint,LCSC" \
"${PROJECT}.kicad_sch"
# CPL (Component Placement List)
kicad-cli pcb export pos \
--output "$OUTPUT/cpl.csv" \
--format csv \
--units mm \
--side front \
"${PROJECT}.kicad_pcb"
8. 退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | 一般错误 |
| 2 | 发现 DRC/ERC 违规(使用 --exit-code-violations 时) |
9. 重要说明
kicad-cli 可以执行的操作
- 导出文件(Gerber、PDF、SVG、网表、BOM、3D)
- 运行验证(DRC、ERC)
- 升级库格式
- 自动化和 CI/CD
kicad-cli 无法执行的操作
- 修改设计(添加元件、布线)
- 编辑原理图/PCB 内容
- 执行交互式操作
如需修改设计,请使用:
- 文件操作(S 表达式格式)
- KiCad Python 脚本控制台
- KiCad IPC API(实验性)
版本: 本参考适用于 KiCad 8.x。旧版本中的命令可能有所不同。
评论
支持 Markdown