mcpField
K
kicad-cli

kicad-cli

github.com/o2scale其他14191 次安装38 周前更新
代码仓库

关于 kicad-cli

这是一份面向 KiCad 8.x 的 `kicad-cli` 命令参考,涵盖原理图、PCB、封装和符号操作,适合自动执行检查与文件导出的 KiCad 用户。文档也说明该命令行工具不能编辑设计内容。

主要功能

  1. 01导出原理图网表、BOM、PDF 和 SVG
  2. 02运行 ERC 与 PCB DRC 检查
  3. 03导出 Gerber、钻孔和位置文件
  4. 04导出 PCB 的 PDF、SVG、DXF 与 3D 文件
  5. 05升级封装和符号库
  6. 06自动化示例与退出代码

适用场景

  1. 01为 PCB 导出制造文件
  2. 02在构建脚本中运行 ERC 或 DRC
  3. 03生成原理图 BOM 和网表
  4. 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