Microsoft Excel との統合

このサンプルは、既存のExcelマクロの処理をPythonに移植することなく、PyFemtetで利用するためのデモを行います。

サンプルファイル

注釈

UI ファイルコアスクリプト を同じフォルダに配置してください。

注釈

ここ に UI ファイルのマクロのベース作成に用いたプロジェクトファイルがあります。

このサンプルの使い方

警告

インターネットからダウンロードしたxlsmファイルのマクロを実行するには、セキュリティ設定を変更する必要があります。

Excelファイルを開き、「最適化の設定」シートに記載された設定を確認してください。同じシートの下部にある「call pyfemtet」ボタンを押してください。

注釈

このxlsmファイルに含まれるマクロは、元となるFemtetプロジェクトからのマクロ自動生成機能をベースに作成されています。そのため、Excelマクロを実行するとFemtetが起動し、元となる解析モデルを自動的に作成します。また、このマクロはxlsmファイル内のセルの変数を読み込んで、作成する解析モデルに反映するように改変されています。詳細な仕様については、Excelの「備考」シートおよびソースコードのコメントを参照してください。

設計変数

../../_images/tapered_inductor.png

モデルの外観

変数名

説明

section_radius

ワイヤ線の半径

coil_radius

コイル底面の半径

coil_pitch

コイルの巻きピッチ

n

巻き数

coil_radius_grad

コイルのピッチごとの半径の増分

目的関数

  • 自己インダクタンス(目標 100 nH)

  • 概算体積(最小化)

サンプルコードの実行結果

../../_images/running_excel_migration.png

実行中のスクリーンショット

pyfemtet-core.pyは、Femtetを直接実行する代わりに、xlsmファイルの各種セルの値を制御し、マクロを実行することで最適化を実施します。これにより、すでにExcelマクロを用いてFemtetによる自動設計フローを運用している場合、そのコードをすべてPythonに書き直すことなくPyFemtetとの統合が可能です。