KiCadのフットプリント自動配置プラグイン
klelayoutimporter.pyが本体。__init__.pyはプラグインをKiCadに認識させるための2行のコード。metadata.jsonにはこのプラグインの説明などの情報を書く。自分の環境ではこれらのファイルを /c/Users/XXXX/My Documents/KiCad/9.0/scripting/plugins/KLELayoutImporter に置く。 (最初/c/Users/XXXX/My Documents/KiCad/9.0/plugins/KLELayoutImporterに置いたらダメだった。上のディレクトリの役割の違いはよくわからない。)
動かし方は、PCBエディターでジグソーパズルのアイコンから実行できる(なんでジグソーパズル?)。 ジグソーパズルのアイコン(赤丸)をクリックするとプラグインを実行できる はじめエラーが出てくるが、対処すれば動くようになった。よくわからんところはChatGPTにエラーメッセージを入れると解説してくれる。
少し改造 KLEのキーの印字(legend)とKiCadのValue(値)を一致させる スクリプト変更の反映 フットプリントの位置キーボードのキーピッチは19.05 mm (19 mmで作っている人もいるかも)が一般的である。KLEの位置やキー幅はこれを単位としているので、19.05をかけてmmに直す必要がある。 pythonコード内でフットプリントの位置を設定するときには、
unit = pcbnew.FromMM(self.key_pitch) x_sw = (x_sw_u + 0.5*w_u)* unit y_sw = (y_sw_u + 0.5)* unit matched_fp.SetPosition(pcbnew.VECTOR2I(int(x_sw), int(y_sw))) KLEとKiCadのフットプリントのキーの位置 フットプリントの反転 matched_d.Flip(board.GetDesignSettings().GetAuxOrigin(), True) if not matched_d.IsFlipped(): matched_d.Flip(board.GetDesignSettings().GetAuxOrigin(), True) 完成 あとがきこのおかげで楽しくない作業をスキップできるようになりました。もう一つ強調すべき点は、このように自動化することによってキースイッチのフットプリント位置がずれるというミスを無くすことができます (私はスイッチのフットプリントの位置がズレた基板を作るというミスを2回したことがあります. )。こうした単純作業を自動化しない理由はありませんね。