KiCad: Kikitで面付けする

Kikitにはいつも助けられてる。
でも、あのGUIっぽくないダイアログやjsonが苦手なので、昔ながらのワンライナーでやる。
ちなみに、この方法ならKiCadのプラグインを入れる必要はないし、Pythonの依存地獄でKikitが落ちたことは一度もない。
インストール
1. KiCadのコマンドプロンプトを開く
Winキーを1回押してスタートメニューを開き、kicadとタイプする。

KiCad Command Promptを選んで実行する。
2. pip でふつうに入れる
pip install kikit
使いかた
Kikitのページでは、面付け用にわざわざKiCadプロジェクトを作ってそこでやれと書いてある。
そんなめんどいこと言わんといてくれ。
というわけで、簡単な方法で行く。
1. バックアップ
まず、面付けしたいKiCadプロジェクトをフォルダごとバックアップしておく。
これさえやっとけば、どんなに行儀が悪かろうと元に戻せる。
2. プロジェクトフォルダに入る
面付けしたい基板のKiCadプロジェクトフォルダにcdする。
3. お試し実行
コマンドプロンプトに下記のワンライナーをコピペして実行してみる。
INPUTには基板の名前[1]を入れること。
kikit panelize --layout 'grid; rows: 2; cols: 2' INPUT.kicad_pcb panel.kicad_pcb
すると、panel.kicad_pcbが同じフォルダにできるはず。
これをKiCad(pcbnew)で開き、2x2に面付けされた基板が表示されたらひとまずOK。
4. ワンライナーを組み立てる
あとは、下記のページにある例のなかから自分が目指す面付けに近いコマンド行をコピペして実行してみる。
最終的には、パラメータを細かく設定しながら面付けを繰り返して入稿先の製造仕様に合わせていく。
注意
KiCadのコマンドプロンプトを使うこと
Kikitは内部でKiCadを呼ぶので、デフォのコマンドプロンプトでkikitをつかうと
Pythonがエラーを吐く。
DRCの設定ファイルが生成される
たとえば、出力ファイル名をpanel.kicad_pcbにしたときは、panel.kicad_druも生成される[2]。
で、ファイルがすでにある場合でも強制的に上書きされる。
.kicad_druはDRCの設定ファイル[3]なので、こいつが知らん間にデフォ値で上書きされると、DRCをかけたつもりが意味がなくなってしまう。
なので作業順としては、
- 面付けを何度も試す
- 面付け結果に納得する
- 入稿先向けの.kicad_druのファイル名をpanel.kicad_druに変更して上書き
- DRCを実施
- もしDRC後にまた面付けしなおしたいときは1へ戻る
とする。(てか、DRC設定上書きとかマジカヨレベルで驚愕)
ちなみに
- 
JLCPCBやPCBWay向けの .druファイルは下記を使わせてもらっている
 https://github.com/Cimos/KiCad-CustomDesignRules
- 
我々がよく使うJLCPCBの「エコノミーPCBA」ではV-CUT( --cuts: vcuts)が使えない[4]
 なので、エコノミーPCBAを頼むならマウスバイト(--cuts: 'mousebites; ...')を指定すること
- 
JLCPCBにPCBAを注文するとき、面付け前(単体の1枚分) or 面付け後(全枚数分)のどちらのbom/positionデータにするかを選べる。 
 しかし実際は、面付け前のbom/positionデータをアップロードしてもプレビューでは1枚分しか実装されてないので、面付け後(全枚数分)のbom/positionデータをアップロードしている
- 
もうひとつJLCPCBにPCBAを注文するときの注意点として、面付け後(全枚数分)のbomとpositionファイルをアップロード時に「bomとpositionとの不整合がある」とか指摘されることがある。この場合、DNPな部品とKikitが勝手に追加する「KIKIT_MB_XXXX」というデジグネータをbomから削除するとうまくいくと思う[5] 
env
- windows 11
- KiCad 8.0.8
- kikit, version 1.6.0

Discussion