説明資料などを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)
シンボル一つずつ選択してコピー、ExcelやWordにペースト
LEDやトランジスターは複数のパーツで構成されているので、必要なものを全て選択してExcelやWordにコピーすれば一つのグラフィックになります。
matplotlibの有無による違い
matplotlibの有無によってschemdrawの生成するsvgファイルに違いがあるようです。
今回確認したバージョンは下記のとおりです。
Python 3.11.5
matplotlib 3.8.2
schemdraw 0.18
matplotlib無し
上記の例はmatplotlib無しの場合です。パーツはグループ化されていません。
matplotlib有り
matplotlibがインストールされている場合、figure->axes->パーツ群 のようにグループ化されています。上記例のようにパーツを取り出すには、Inkscapeでグループ解除を2回すればOKです。
参考文献