KiCad 4.0でのBOMファイル作成方法
KiCad 4.0 で BOM ファイルを作成するには、XML ファイルを変換するプログラムのインストールと設定が必要です。設定が済んでしまえば BOM アイコンをクリックしてダイアログを開き、変換プログラムを選択して生成ボタンを押すだけです。
- CSV 形式の BOM ファイル作成
- 変換プログラム(プラグイン)のインストール
- KiCad(Eeschema)の設定
- BOM ファイルの作成
- Windows 版 RC1 に付属の xsltproc が使えない問題の workaround
- 回避策
先日 RC が公開された KiCad 4.0 は、これまでの安定版から色々な点で変更されています。ここで紹介する BOM(Bill of Materials、部品表)の作成方法もこれまでとは変わっています。
これまでの安定では KiCad 自身が BOM ファイルを作成していましたが、4.0 以降は KiCad が作成する XML ファイルを他のプログラムで変換して BOM を作成します。そのため柔軟性が増し、CSV 形式の単純なファイルを作成するだけでなくDigi-Keyなどの通販サイトを参照して自動的にコストを計算する変換プログラムkicostなどが作成されています。
ここでは単純に部品をリストアップした CSV 形式の BOM ファイルの作成方法について説明します。
CSV 形式の BOM ファイル作成
CSV 形式の BOM ファイルは、KiCad が作成する XML ファイルをユーザが指定したプログラムで変換して作成します。そのため BOM ファイルを作成するには XML ファイルを変換するプログラムを事前にインストールしておき、それを KiCad から呼び出せるようにする設定が必要です。
変換プログラム(プラグイン)のインストール
Windows の場合は、XML ファイルを CSV 形式の BOM ファイルに変換するプログラム(bom2csv.xsl)と、この XSL プログラムを実行するエンジン(xsltproc)の両方共配布パッケージに含まれています。そのためインストール作業は特に必要ありません。
Windows 版に含まれる xsltproc は、BOM ファイルを作成しようとするとエラーになって作成できないことがあります。これに対する workaround を最後に書いておきます。現在は RC1 の段階ですので、公開までには修正されると思います。
ただし Ubuntu の場合は XSL プログラムのみが配布され、それを実行するエンジンはパッケージに含まれていません。そこでエンジン(xsltproc)を、次のコマンドでインストールします。
sudo apt-get install xsltproc
KiCad(Eeschema)の設定
必要なプログラムをインストールしたら、KiCad の回路設計プログラム(Eeschema)から呼び出せるように設定します。
設定の手順は、次のようになります。
- 回路設計プログラムの BOM アイコンをクリックして BOM ファイル作成ダイアログを表示させる。
- 「プラグインの追加」をクリックして、XML ファイルを変換するプログラム(bom2csv.xsl)を選択する。このプログラムは、Windows では C:\Program Files\KiCad\lib\kicad\plugins に、Ubuntu では /usr/lib/kicad/plugins にあります。
- プラグインを選択すると、プラグイン欄に表示す名前を聞かれるので、入力して「OK」をクリックする。プラグイン名は、後で修正することも可能です。
これで設定は終了です。
変換するコマンドは、コマンドライン欄に表示されています。必要であればこれを修正します。
xsltproc -o "%O.csv" "C:\Program Files\KiCad\lib\kicad\plugins\bom2csv.xsl" "%I"
ここで%I は、BOM ファイルの元となる KiCad が作成する XML ファイル名に置換されます。作成される BOM は、-o
で指定されたファイルに書き込まれます。%O は、%I から拡張子を除いた部分ですので、CSV 形式のファイルだと分かるように拡張子を加えています。
”“(ダブルクォーテーション)はなくてもたいてい問題ありませんが、パスやファイル名に空白があった時でも正しく一つの引数と認識させるためにダブルクォーテーションで囲ってあります。
BOM ファイルの作成
一度設定してしまえば、BOM ファイルの作成は簡単です。
BOM ファイルの作成に使う変換プログラムをプラグイン欄から選択して、「生成」ボタンをクリックすると BOM ファイルが作成されます。%O は、それぞれのプロジェクトフォルダのパスを含んでいるので、基本的にプロジェクトフォルダに BOM ファイルが作成されます。
Windows 版 RC1 に付属の xsltproc が使えない問題の workaround
現在配布されている KiCad 4.0 の RC1 に含まれる xsltproc は、BOM ファイルを作成しようとすると次のエラーがプラグイン情報欄に表示され BOM ファイルを作成できないことがあります。
コマンドラインで実行:
xsltproc -o "C:/Program Files/KiCad/share/kicad/demos/pic_programmer/pic_programmer" "C:/Program Files/KiCad/lib/kicad/plugins/bom2csv.xsl" "C:/Program Files/KiCad/share/kicad/demos/pic_programmer/pic_programmer.xml"
コマンドエラー. リターンコード 11
エラーメッセージ:
I/O error : Invalid argument
I/O error : Invalid argument
回避策
この問題の回避策には、次の 3 つの方法があります。
- プロジェクトのパスと名前を変更する(注1)(注2)
- xsltproc と異なる変換エンジンを使用する(注3)
- xsltproc を置き換える(注4)
プロジェクトのパスと名前を変更する
Windows 版に付属の xsltproc がエラーになるのは、プロジェクトのパスと名前に空白が含まれる場合です。空白が含まれても良いようにダブルクオーテーションで%O と%I を囲っているのですが、上手く機能しないようです。
そこでプロジェクトのパスに空白が含まれる場合は、プロジェクトフォルダーをパスに空白が含まれない場所に移動させます。プロジェクト名に空白が有る場合は、名前から空白を取り除きます。
xsltproc と異なる変換エンジンを使用する
ダブルクオーテーションで囲まれた空白入りのパスと名前を上手く扱えないのは、Windows の問題ではなくアプリケーションに問題が有るようです。そこで上手く扱える別の XSL 変換エンジンを xsltproc に変えて使用します。</>
変換エンジンにはいくつかありますが、インストールが簡単なSaxonHEを使用します。
-
ネイティブ版 SaxonHEをダウンロードする。ダウンロードページに紛らわしい広告が表示されるので注意。
-
ダウンロードした自己解凍ファイルを実行してを SaxonHE をインストールする。
-
コマンドライン欄の xsltproc を次のように修正する。
“C:\Program Files\Saxonica\SaxonHE9.6N\bin\Transform.exe” -t “%I” -xsl:”C:\Program Files\KiCad\lib\kicad\plugins\bom2csv.xsl” -o:”%O.csv”
BOM ファイルの作成方法は、xsltproc の時と同じです。