Примечание: Этот пост для KiCad 6, пожалуйста, см. Как инициализировать ваш KiCAD 10-проект из командной строки в случае, если вы используете KiCAD 10 (выпущен в 2026).
TL;DR
В директории, где вы хотите создать проект, выполните
wget -qO- https://techoverflow.net/scripts/kicad6-init.sh | bash /dev/stdin MyProjectВы должны заменить MyProject (в конце команды) на имя вашего проекта.
Примечание: Это инициализирует пустой KiCAD-проект без каких-либо библиотек. Это эквивалентно созданию нового проекта в самом KiCAD (с использованием GUI).
Как это работает
Наш скрипт — это простой bash-скрипт, который создаёт файлы, которые KiCAD создаёт при ручном создании нового проекта.
Он создаст эти файлы (MyProject — это имя проекта по умолчанию, но вы можете изменить его с помощью аргумента командной строки):
MyProject.pro: Файл проектаMyProject.kicad_sch: Пустая схемаMyProject.kicad_pcb: Пустая PCBsym-lib-table: Список библиотек схемных символов для проектаlibraries/MyProject.kicad_sym: Библиотека схемных символовfp-lib-table: Список библиотек footprint-ов для проектаlibraries/footprints: Папка, где хранятся специфичные для проекта footprint-ы (файлы.kicad_mod)libraries/3D: Эта папка должна использоваться для хранения 3D-моделей (например, STEP-файлов)
Файлы смоделированы по KiCAD 5.1.4, но мы ожидаем, что они будут работать с любой недавней версией KiCAD.
#!/bin/bash
# TechOverflow KiCAD project initializer (with project FP & SYM libraries)
# Usage: $0 <filename prefix>
if [ $# -ne 1 ]
then
echo "Usage: $0 <filename prefix>"
exit 1
fi
# Compute project name and path
proj=$(basename "$1")
dir=$(dirname "$1")
# Create project file
cat <<EOT > ${1}.pro
update=22/05/2015 07:44:53
version=1
last_client=kicad
[general]
version=1
RootSch=
BoardNm=
[pcbnew]
version=1
LastNetListRead=
UseCmpFile=1
PadDrill=0.600000000000
PadDrillOvalY=0.600000000000
PadSizeH=1.500000000000
PadSizeV=1.500000000000
PcbTextSizeV=1.500000000000
PcbTextSizeH=1.500000000000
PcbTextThickness=0.300000000000
ModuleTextSizeV=1.000000000000
ModuleTextSizeH=1.000000000000
ModuleTextSizeThickness=0.150000000000
SolderMaskClearance=0.000000000000
SolderMaskMinWidth=0.000000000000
DrawSegmentWidth=0.200000000000
BoardOutlineThickness=0.100000000000
ModuleOutlineThickness=0.150000000000
[cvpcb]
version=1
NetIExt=net
[eeschema]
version=1
LibDir=
[eeschema/libraries]
EOT
# Create schematic file
cat <<EOT > ${1}.kicad_sch
(kicad_sch (version 20211123) (generator eeschema)
(uuid df87b081-37a2-452c-8581-7eff2c408a17)
(paper "A4")
(lib_symbols
)
(sheet_instances
(path "/" (page "1"))
)
)
EOT
cat <<EOT > ${1}.kicad_pcb
(kicad_pcb (version 4) (host kicad "dummy file") )
EOT
#
# Create schematic symbol library mapping
#
mkdir -p ${dir}/libraries
cat <<EOT > ${dir}/sym-lib-table
(sym_lib_table
(lib (name "${proj}")(type "KiCad")(uri "\${KIPRJMOD}/libraries/${proj}.kicad_sym")(options "")(descr ""))
)
EOT
cat <<EOT > ${dir}/libraries/${proj}.kicad_sym
(kicad_symbol_lib (version 20211014) (generator kicad_converter))
EOT
#
# Create footprint library mapping (just an empty directory)
#
mkdir -p ${dir}/libraries/footprints
cat <<EOT > ${dir}/fp-lib-table
(fp_lib_table
(lib (name ${proj})(type KiCad)(uri \${KIPRJMOD}/libraries/footprints)(options "")(descr ""))
)
EOT
#
# Create directory for 3D models.
# The search path might need to be configured manually
# since it's not stored in a project
#
mkdir -p ${dir}/libraries/3D
#
# Create .gitignore
#
cat <<EOT > .gitignore
*-bak
*-backups
*-cache*
*-bak*
_autosave*
\#auto_saved_files\#
EOTЗапустите, например, с помощью
bash kicad6-init.sh MyProject