KiCAD アクションプラグインの作成
KiCAD 5 からアクションプラグインとして Python スクリプトを Pcbnew のツール - 外部スクリプトから実行できます。
そのプラグインの作り方を見てみます。以下の文章を参考にしてください。
- アドオンパッケージ作成
- Pcbnew プラグインの開発
- pcbnew.ActionPlugin クラス
- pcbnew.ActionPlugin クラスのソースコード
- pcbnew.KiCadPlugin クラス(ActionPlugin の親クラス)のソースコード
- API リファレンス
プラグインの配置
プラグインファイルはツール - 外部スクリプト - プラグインの場所を開く、から表示されるディレクトリに配置します。
プラグインは Python スクリプトで、pcbnew.ActionPlugin クラスを継承した独自のクラスを用意しておき、そこから register メソッドを呼び出してプラグインを認識させます。
ActionPlugin クラスのソースコードを読むと分かりますが、多くのクラスメソッドはインスタンス変数の中身をそのまま返しています。つまり、自分でメソッドの中身を実装しなくとも、初期化時にインスタンス変数に与えれば勝手にやってくれます。
name, category, description の3つのインスタンス変数は defaults メソッドの中で初期化され、このメソッドは ActionPlugin の初期化時に自動的に呼ばれます。
必要に応じて icon_file_name, dark_icon_file_name, show_toolbar_button の3つの変数もdefaultsメソッド内で指定しましょう。
# test_script.py import pcbnew class TestPlugin(pcbnew.ActionPlugin): def defaults(self): self.name = "test plugin" self.category = "Undefined" self.description = "This is a test plugin." def Run(self): print("Do something") TestPlugin().register()
ユーザーがプラグインを実行すると Run メソッドが呼ばれます。ここからプラグインの動作を実装します。
プラグインの読み込み時に register メソッドが呼ばれるようにしておきます。このメソッドは ActionPlugin クラスの親クラス KiCadPlugin クラスが実装していますが、内容は気にする必要はありません。
ファイル名が Python のモジュール名と同じになっているような場合、メニューに表示されません。これはモジュールの読み込みの都合ですが、どうしてもメニューに表示されない場合はシンタックスエラーまたはファイル名を疑ってみてください。