LoginSignup
2
1
記事投稿キャンペーン 「2024年!初アウトプットをしよう」

Excelで使える回路図シンボルを簡単に Python + schemdraw で用意する

Last updated at Posted at 2024-01-28

説明資料などをExcelやWordで作るときに、ちょっとした回路図を描く場合がありますが、回路図シンボルを図形で作るのは面倒です。
また、最近のExcelやWordではグループ化した図形でも構成要素を選択できてしまうので、移動するときにうっかり形を崩してしまうことがあって、余計な注意を払う必要があります。

schemdrawは回路図を描くためのPythonパッケージですが、多くの回路図シンボルが用意されているので、生成されたsvgファイルから各シンボルをExcelやWordにペーストすれば、ばらばらに分解されない回路図シンボルを簡単に用意することができます。

import schemdraw
import schemdraw.elements as elm

with schemdraw.Drawing(unit=1.5, inches_per_unit=0.5, file='schem_sym.svg') as d:
    elm.Dot()
    elm.Resistor()
    elm.Ground()
    elm.Capacitor(unit=1.0)
    elm.GroundSignal()
    elm.Inductor2(loops=2)
    elm.Diode(unit=1.0)
    elm.LED(unit=1.0)
    elm.BjtNpn(unit=1.0)
    elm.BjtPnp(unit=1.0)

Inkscapeで開く
image.png

シンボル一つずつ選択してコピー、ExcelやWordにペースト
image.png

LEDやトランジスターは複数のパーツで構成されているので、必要なものを全て選択してExcelやWordにコピーすれば一つのグラフィックになります。

matplotlibの有無による違い

matplotlibの有無によってschemdrawの生成するsvgファイルに違いがあるようです。
今回確認したバージョンは下記のとおりです。

Python 3.11.5
matplotlib 3.8.2
schemdraw 0.18

matplotlib無し

上記の例はmatplotlib無しの場合です。パーツはグループ化されていません。
image.png

matplotlib有り

matplotlibがインストールされている場合、figure->axes->パーツ群 のようにグループ化されています。上記例のようにパーツを取り出すには、Inkscapeでグループ解除を2回すればOKです。
image.png

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1