プリント基板・KiCad
プリント基板を扱う変換器は 2 つある。基板メーカーに渡す製造データ(Gerber と Excellon)を読む converter/gerber と、設計に使った KiCad のプロジェクトを読む converter/kicad である。どちらも層の抽象図ではなく、基材・銅箔・マスク・シルク・穴といった、基板の実際の見た目で描く。
試す
ビューアにファイルをドロップするか、サンプルを試せる。基板の製造データなら基板(Gerber と Excellon、ZIP)、KiCad のプロジェクトならKiCad プロジェクト(回路図と基板、ZIP)。
Gerber・Excellon(converter/gerber)
converter/gerber はプリント基板の製造データを読む。Gerber は X2 属性つきの拡張 Gerber(RS-274X)で、古いファイルが使う非推奨の命令も読む。アパーチャの定義を別ファイルに持つ RS-274-D は描けない。穴あけデータは Excellon で、KiCad・Altium・Eagle・EasyEDA などの方言を読む。1 枚の基板のファイル一式は基板メーカーに ZIP でまとめて渡すのが普通なので、ZIP に入ったファイルの組を 1 つの基板として変換する。1 つのファイルだけでも変換でき、その層の View になる。
すべての標準アパーチャとマクロのプリミティブ、両方の象限モードの円弧、クリアの極性を持つ領域、ステップ&リピート、ブロックアパーチャとアパーチャの変換を描く。パッドは、グリフと同じように共有したパスの並びで描く。各ファイルがどの層か(表・裏・内層の銅箔、ソルダーマスク、シルク、ペースト、外形、穴)は、ジョブファイル、X2 属性の TF.FileFunction、それも無ければ KiCad・Altium(Protel)・Eagle・EasyEDA などのファイル名の付け方から決める。
ファイルが 2 つ以上あり、銅箔・マスク・シルクのどれかを含むときは、基板の表(top)と裏(bottom。裏から見るので左右反転)を実物の見た目で描く。基材、マスクの下の銅箔、マスクの開口から見えるパッドの仕上げ、シルク、穴を、基板の外形で切り抜いて重ねる。続けてファイルごとの View を、基板 CAD ツールの配色で暗い背景に描く。
| オプション | 値 | 既定 |
|---|---|---|
views |
all、board、layers |
all — 基板の表と裏、続けてファイルごとの View |
mask |
green、red、blue、black、white、yellow、purple、#rrggbb |
ジョブファイルのマスクの色、無ければ green |
silkscreen |
white、black、yellow、#rrggbb |
ジョブファイルの色、無ければ white |
finish |
gold、silver、copper |
ジョブファイルの仕上げ、無ければ gold |
内部の詳細は design.md §3.21 を参照。
KiCad(converter/kicad)
converter/kicad は KiCad 6 以降の回路図(.kicad_sch)と基板(.kicad_pcb)を読む。KiCad 5 のファイル形式は「KiCad 6 以降で開いて保存し直す」よう案内して断る。入力は回路図や基板のファイル 1 つ、プロジェクトファイル(.kicad_pro)、プロジェクトをまとめた ZIP のいずれでもよい。
回路図は、シートのインスタンスをページとする 1 つの View になり、ページの順はページ番号の順である。同じシートを 2 か所で使う階層設計は 2 ページになり、それぞれが自分の部品番号(R101、R201 など)を持つ。シートの箱はそのページへのリンクになる。各ページは、用紙と図枠(KiCad の既定の図枠、またはプロジェクトが指定する .kicad_wks。題名欄とプロジェクトのテキスト変数を埋め込んだもの)の上に、KiCad の既定の色とプロジェクトの描画設定で描く。シンボルはユニットと代替のボディスタイル・ピンの形のまま描く。配線・バス・接合点・あらゆる種類のラベル・テキスト・テキストボックス・表・ハッチで塗った図形・画像・実装しない部品(DNP)の印も、KiCad の描き方をそのまま再現する。文字は KiCad 自身の線の字体 NewStroke で描く(CC0 の版を埋め込み、この版にない CJK の文字は TrueType のフォントで代える)。
基板は表から見た View(front)と裏から見た(鏡映した)View(back)に、KiCad の基板エディタと同じようにすべての層を重ねて描き、加えて層ごとの View も作る。階層の回路図が参照するシートや、プロジェクトが指定する図枠は別ファイルなので、入力自身のディレクトリ、ZIP の中、またはサーバーが入力と一緒に列挙するファイル(converter.Options.Files。bdf generate -with)から読む。
| オプション | 値 | 既定 |
|---|---|---|
views |
all、schematic、board |
all — プロジェクトの回路図と基板 |
layers |
all、board、layers |
all — 基板の表・裏・層ごとの View |
-with は、サーバーやコマンド実行時に入力と一緒に置かれていないファイル(階層回路図のシートや、プロジェクトファイル)を、入力からの相対パスで足すためのオプションである。
内部の詳細は design.md §3.29 を参照。