RSS Twitter Facebook

2020/09/11 (2020年09月 のアーカイブ)

KiCadのプラグイン環境について

このところ基板CAD、KiCad のプラグインを書いてみたりしていた訳ですが、タイミング的にあまり良くなかったというのもありますが、これはなかなか厳しい環境のようです。

KiCad の対応プラットフォームはWindows、Mac、Linuxの三種類あります。現在の状況としては安定版最新リリースがバージョン5.1.6、Nightlyビルドは 現在 5.99、そして6.0リリースの準備が進められています。

プラグインはPythonで書けるのですがプラットフォームの OS の違いやバージョンの違いによって挙動がかなり異なります。

安定版の KiCad 5.1.6 に搭載されているPython、およびグラフィックスライブラリは

  • Windows Python 2.7.16 wxPython 3.0.2.0 msw (classic)
  • Mac だと Python 2.7.16 wxPython 3.0.2.0 osx-cocoa (classic)
  • Linux だと Python 3.6.7 wxPython 4.0.1 gtk3 (phoenix)

同じ安定版 5.1.6 ですが Python の 2.X 系と 3.X 系が混ざっているのが辛い所です。気を付けて両方で動くように書くしかないですね。また Win と Mac はバージョン番号こそ同じですが、グラフィックスライブラリのウィジェットの大きさや細かな挙動が違うのでどちらでも画面が崩れないようなレイアウトが必要です。

また現在の安定版 5.1.6 と Linux 版の Nightly build (5.99) では Python のプラグイン API に割合積極的な変更があり、今まで使えていた API が無くなっていたりします。同じメジャーバージョン内ですが後方互換はありません。

更にその後のメジャーアップデートである 6.0 については現在 RC 版がありますが、9月中に機能をフリーズして年内をかけてバグフィックスという予定のようですので、まだプラグインを突っ込んでどうこうできる状態ではなさそうです。

という事で、今現在、大体どこでも使えるプラグインを作ろうとすると少なくともバージョン 5.1.6 の Win、Mac、Linux、そして Linux Nightly 版での動作確認が必要になります。まあそれ以前に API が流動的なのもあってちゃんとしたドキュメントが無いというのが致命的に効率が悪いのですが。

APIのドキュメントとしては下のdoxygenで吐かれたクラス名やメソッド名の一覧からあたりを付けて実際に試すかソースを読むしか方法がなさそうです。(とは言え、KiCad のプラグインには期待しているんですよ。とにかくもう少し安定してくれれば)

https://docs.kicad-pcb.org/doxygen-python/annotated.html

Posted by g200kg : 2020/09/11 03:54:24