KiCad 4.0でのBOMファイル作成方法


KiCad 4.0でBOMファイルを作成するには、XMLファイルを変換するプログラムのインストールと設定が必要です。設定が済んでしまえばBOMアイコンをクリックしてダイアログを開き、変換プログラムを選択して生成ボタンを押すだけです。

先日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)から呼び出せるように設定します。

設定の手順は、次のようになります。

  1. 回路設計プログラムのBOMアイコンをクリックしてBOMファイル作成ダイアログを表示させる。BOM_dialog
  2. 「プラグインの追加」をクリックして、XMLファイルを変換するプログラム(bom2csv.xsl)を選択する。このプログラムは、Windowsでは C:\Program Files\KiCad\lib\kicad\plugins に、Ubuntuでは /usr/lib/kicad/plugins にあります。Select_plugin
  3. プラグインを選択すると、プラグイン欄に表示す名前を聞かれるので、入力して「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. プロジェクトのパスと名前を変更する12
  2. xsltprocと異なる変換エンジンを使用する3
  3. xsltprocを置き換える4

プロジェクトのパスと名前を変更する

Windows版に付属のxsltprocがエラーになるのは、プロジェクトのパスと名前に空白が含まれる場合です。空白が含まれても良いようにダブルクオーテーションで%Oと%Iを囲っているのですが、上手く機能しないようです。

そこでプロジェクトのパスに空白が含まれる場合は、プロジェクトフォルダーをパスに空白が含まれない場所に移動させます。プロジェクト名に空白が有る場合は、名前から空白を取り除きます。

xsltprocと異なる変換エンジンを使用する

ダブルクオーテーションで囲まれた空白入りのパスと名前を上手く扱えないのは、Windowsの問題ではなくアプリケーションに問題が有るようです。そこで上手く扱える別のXSL変換エンジンをxsltprocに変えて使用します。

変換エンジンにはいくつかありますが、インストールが簡単なSaxonHEを使用します。

  1. ネイティブ版SaxonHEをダウンロードする。ダウンロードページに紛らわしい広告が表示されるので注意。
  2. ダウンロードした自己解凍ファイルを実行してをSaxonHEをインストールする。
  3. コマンドライン欄の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の時と同じです。

参照


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です