KiCadの回路図をSVG形式で出力する

概要

回路図データを拡大しても汚くならないSVG形式で出力したかったので、いろいろ方法を確認してみました。

SVGとは?

ベクター形式で、ドット単位で保存しているラスター形式のBMPやJpegとは違い、輪郭などの情報から画像を生成する形式です。BMPやJpegは画像を拡大すると汚くなってしまいますので印刷物などで利用する場合には非常にいい気な画像が必要になります。

基本的にJpegは劣化が激しいので印刷物に適しておらず、BMPもサイズが大きいのでPNGあたりをよく使うと思います。ただし、回路図のようなものはどうしてもラスター形式は斜めの線が綺麗にでません。そのためSVGで保存しておくことがおすすめです。

対象の回路図

LEDを光らせる回路です。とりあえず抵抗値は1KΩにしてみました。これで十分あかるいですよね?

プロット

プロットボタンを押すとSVG出力があります。図面シートは周りの枠線とかシート名なのでチェックを外します。

カラーテーマはデフォルトとクラシックがあるので、好きな方を選びます。

デフォルトの場合には上記の出力でした。

クラシックにすると上記でした。あれ変わらない?

Inkscapeで確認

https://inkscape.org/ja/

上記からInkscapeをダウンロードしてプロットしたSVGファイルを開いてみます。Inkscapeは無料で使えるソフトで各種画像編集が可能なものです。

開いてみると上記のようになっています。KiCadの回路図エディタのまま出力されていますので、余白がすごいです。

余白をアプリ上で削除する

ドキュメントのプロパティから「ページサイズをコンテンツに合わせて変更」を実行します。

余白が消えました!

ちなみにSVGなのでもとのオブジェクト単位で移動や編集が可能です。

コマンドラインで余白削除

for %%f in ("*.svg") do (
    "C:\Program Files\Inkscape\bin\inkscape.exe" -p %%~nxf --export-overwrite --export-area-drawing
)

Windowsの場合には上記の内容の.batファイルを作成して実行することで、その場所にあるSVGファイルが全部余白削除されます。「–export-area-drawing」が予約を削除する引数であとはファイル名の指定と、元のファイルに上書きするオプションになります。

MAN PAGE | Inkscape

上記がコマンドラインの資料になります。

まとめ

SVGにプロットして、まわりの不要な余白を削除することができましたが実はサイズは小さいままです。そこはSVGはいくらでも拡大できるので、利用するときに必要なサイズに拡大すればよいと思います。MarkdownではSVGを埋め込むことができるので、そこでサイズ指定するのがシンプルかもしれません。

SVGは劣化しない画像形式なので、原稿とかを書くときに活用してもらえればと思います。

コメント