Python で回路図作成(Schem Draw導入)
制御工学の演算ライブラリである Python Control を扱っていた時、電気回路も描けるライブラリもないかなと思い、調べてみたら「Schem Draw」という Python で回路図を描けるライブラリがあることを知りました。
まだ使ったことがないのですが、PySpice という電気回路シミュレーションのライブラリもあるようです。
Schem Draw で回路図が描けて、Python Control で制御工学演算ができて、PySpice で電気回路のシミュレーションもできたら、EDA(Electronic Design Automation)のツールを自作できるんじゃないか、なんて考えも浮かんできました。
余談はさておき、本記事では Python で回路図を描けるライブラリである Schem Draw の導入編として、インストールからサンプルソースコードの実行までをやってみた内容を書いていきます。
環境
・windows 10(64bit)
・Visual Studio Code 1.47.2
・Python 3.8.2(32bit版)
・pip 20.1.1
・Schem Draw 0.7.1
Schem Draw インストール
まずは、pip を使って Schem Draw をインストールします。コマンドプロンプトを開いて以下のように入力します。
py -m pip install schemdraw
上記のコマンドを入力し、以下のように表示されればインストール完了です。
Successfully installed schemdraw-0.7.1
私が間違えてやってしまったので、念のため注意事項として書いておきます。以下のように、「schem」と「draw」の間にスペースを入れてしまうとエラーが出てインストールできないので注意してください。
py -m pip install schem draw
ERROR: Could not find a version that satisfies the requirement Schem (from versions: none)
ERROR: No matching distribution found for Schem
サンプルコードで動作確認
早速、サンプルのソースコードを使って動かしてみます。サンプルのソースコードは下記ページから引用しています。
サンプルソースコードは下記です。
import SchemDraw
import SchemDraw.elements as elm
d = SchemDraw.Drawing()
d.add(elm.Resistor(label='100K$\Omega$'))
d.add(elm.Capacitor(d='down', botlabel='0.1$\mu$F'))
d.add(elm.Line(d='left'))
d.add(elm.Ground)
d.add(elm.SourceV(d='up', label='10V'))
d.draw()
d.save('schematic.svg')
上記のコードを実行すると以下の回路図が出力されました。
コードは大した量ではないのに、想像していたよりも整った回路図が出力されたので、ちょっと感動しました。
おわりに
下記のページを見てみたら、オペアンプや論理回路も描けたり、フローチャートも描けるようです。色んな場面で使えそうなライブラリなので、基本機能をソースコードを共に紹介する記事も今後書こうと思います。
以上
何かお役に立てたら、サポートしていただけると嬉しいです!モチベーションを高めて、アウトプットしていきます!