サンプルマクロ

事例49: グループ名を含めてモデルのボディ情報を取得するマクロ

学べるテクニック

モデルを構成するボディの一覧を取得したあとに、そのボディが属するグループ情報を取得しています。グループ名についてはあらかじめ手入力しておく必要があります。
CGaudiクラスのFindBodyAllByGroupName関数の使用例になります。

例題イメージ

事例48: 加熱のオンオフを繰り返すリスタート解析

学べるテクニック

熱伝導過渡解析において指定した境界条件を温度境界と熱伝達・対流境界で交互に切り替えて指定した時間で加熱と放熱を繰り返しリスタート解析するサンプルマクロです。
加熱時と放熱時の時間設定、加熱時の温度設定はエクセルのワークシートから設定できます。
予め作成したプロジェクトファイルをマクロ制御しますので、マクロ制御のためのプログラムコードは非常にシンプルな構成となっています。

例題イメージ

事例47: 既存メッシュで解析実行

学べるテクニック

テクニック
複数のプロジェクトや複数のモデルに対してそれぞれ指定した既存メッシュ(PDT)を用いた解析を自動実行します。
Femtet2022.1から結果インポート機能で既存メッシュを用いた解析ができるようになりましたが、本マクロでは結果インポート設定に対して優先的な既存メッシュを用いた解析が可能です。

メリット
既存メッシュを用いることで、メッシュ生成に時間のかかる解析において構造以外の条件振りを行う場合、不要なメッシュ生成処理を省略することができます。

例題イメージ

事例46: 熱源が移動する熱伝導解析

学べるテクニック

熱源が移動する熱伝導解析を行うマクロサンプルです。
熱源となるボディを次々に変更しながらリスタート解析を繰り返す処理をマクロで自動化し、熱源の移動を模擬しています。
解析結果はアニメーションで表示することもできます。

zipファイルを解凍すると、サンプルのプロジェクトファイル、マクロ、解析結果例(アニメーション)が取得できます。

例題イメージ

事例45: 周辺電磁界取得マクロ

学べるテクニック

電磁波解析で、開放境界を持つモデルの計算結果から周辺電磁界を取得するマクロです。
レーダ断面積(RCS:Radar Cross Section)も計算できます。

つぎの2種類の方法が実行できます。
(1)指定したプロジェクトファイルを実行した周辺電磁界の値を取得する
(2)指定した結果ファイル(PDTファイル)を開いて周辺電磁界の値を取得する

なお、座標系は極座標系限定となっています。
zipファイルを解凍するとプロジェクトファイルとマクロが取得できます。

例題イメージ

事例44: 解析終了後にOutlookメールを送信

学べるテクニック

テクニック
指定したプロジェクトを開いて解析終了時に
Outlookメールを指定した宛先アドレスに送信します。

更新内容
本文にエラーメッセージの追記およびlogファイルの添付処理を追加しました(2023.4.4)

例題イメージ

事例43: 最適化ソフトHEEDSとFemtetの連携事例

学べるテクニック

テクニック
Excelマクロを介して最適化ソフトHEEDSとFemtetを連携し、最適化を実行した事例をご紹介します。
Excelマクロとしては条件変数を指定セルから解析モデルに反映し、解析実行の後、結果値(たわみ量)を指定セルへ出力する処理を実行します。
HEEDSとExcelマクロの連携設定としてはHEEDSから条件変数(Variables)を変更して、マクロのメイン関数で解析実行し、
その結果の応答値(Response)やモデル図、結果図をHEEDSが結果として参照できるように設定します。
詳細については弊社ユーザーサポートまでお問い合わせください。

備考
Femtetは株式会社村田製作所の登録商標です。
HEEDSソフトウェア(略. HEEDS)はシーメンスデジタルインダストリーズソフトウェア社の商標です。
その他全ての会社名、ブランド名、製品名、商標は、それぞれの所有者に帰属します。
またここに記載されている全ての画像の転載、複製、改変等はいかなる場合も禁止です。

例題イメージ

事例42: 曲線上のロフトによる形状作成マクロ

学べるテクニック

ロフト機能では形状が異なるシートボディをなめらかにつないだソリッド形状を作ることができます。
本マクロではその機能を応用して少しずつ形状や角度を変えた楕円(または円)を曲線上に配置し
ロフト処理することでGUIでは作成が困難な複雑な形状を作成する方法を示しています。

具体的な形状例としてメビウスリング、くびれ形状のあるリング、ツイストペアのリングなどを示しています。

例題イメージ

事例41: 接触面境界の自動設定マクロ

学べるテクニック

ボディが複雑形状の場合、接触面境界の設定は手作業では煩雑になりがちですが、本マクロでは自動設定が可能です。
本マクロはボディキーの番号で指定した2つのボディ上の全ての面(2次元では辺)同士の距離を計算し、指定距離以下であれば接触面境界条件を自動付与するマクロです。
ボディ表面の面(辺)トポロジーへのアクセス方法、面(辺)トポロジー同士の距離の算出例を本マクロのソースコードから知ることができます。

例題イメージ

事例40: 熱源が移動する輻射解析

学べるテクニック

熱源が移動する輻射解析を行うマクロサンプルです。
変数を介して熱源ボディを移動し、結果インポートで前回の最終温度を初期温度としてインポートした過渡解析を繰り返す処理をマクロで自動化しています。
各変数条件での結果ファイルを保存し、それぞれの結果ファイルの全モードの温度分布の画像を保存する処理もマクロで自動化しています。

例題イメージ

事例39: モニター温度に応じて発熱量を変更するリスタート解析

学べるテクニック

測定端子境界のモニター温度に応じて発熱ボディの発熱量を変化させて熱伝導過渡解析のリスタート解析を繰り返す解析事例です。
測定端子境界の温度条件に応じて発熱ボディの発熱条件を変える処理は発熱密度の温度依存性では模擬できませんのでマクロを使用する必要があります。
サンプル条件では温度上昇に伴って発熱量が減少し、ある温度条件および発熱条件に収束していく様子が分かります。

例題イメージ

事例38: マクロでパラメトリック解析を実施する

学べるテクニック

変数設定したFemtetのプロジェクトファイルを開いて
設定した条件に沿って変数を変えながら解析を繰り返して
モデル図や結果図を自動保存するマクロ(VBA、Python)の事例です。

例題イメージ

事例37: 音波解析の音圧指向性データを取得

学べるテクニック

音波解析の音圧の指向性データを取得するマクロです。

1指定したプロジェクトファイルを実行して指向性を取得できます。
2指定した結果ファイルを開いて指向性を取得できます。

指向性の結果は配列変数にθとφを振った結果がシリアルに格納されており、
その内部配列を理解したうえで取り出す必要があります。
本マクロのSamplingResult関数ではその処理の一例を示しています。

例題イメージ

事例36: VBAマクロからPythonマクロを作成するコツ

学べるテクニック

FemtetにはVBAマクロを出力する機能がありますが、このマクロサンプルでは
VBAマクロをベースにPythonマクロを作成するコツを解説しています。
圧縮ファイルにはPythonマクロのサンプルが4種類同梱されていますので
コード記述を確認したり、動作確認することが可能です。

例題イメージ

事例35: ボディ毎のポテンシャルの積分値と平均値を取得

学べるテクニック

ボディ毎のポテンシャルの積分値と平均値を取得するマクロです。
※3Dモデルのみ対応しています。

全ボディ(単一モード指定)または全モード(単一ボディ指定)での結果取得に対応しています。
熱伝導解析の温度、電磁波解析の損失密度、応力解析の弾性相当ひずみの3つのポテンシャルの積分値と平均値の取得に対応しています。
他のポテンシャルの積分値、平均値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数を編集してください。

例題イメージ

事例34: MATLAB/Simulinkの1D熱モデル自動生成マクロ

学べるテクニック

Femtetの熱伝導解析では熱等価回路の情報を出力できますが、それをもとに手作業で1Dシミュレーションのモデルを作成するのは手間がかかります。

Femtetの熱伝導解析の結果をもとに、MATLAB/Simulinkの1D-熱モデルを自動生成するマクロをご紹介します。

例題イメージ

事例33: ボディ毎の最大値と最小値を取得

学べるテクニック

全ボディ(単一モード指定)または全モード(単一ボディ指定)での結果取得に対応しています。
熱伝導解析の温度、電場解析の電界ベクトルの大きさ、応力解析の最大主応力、圧電解析の最大主応力の4つの結果取得に対応しています。
他の節点結果の最大値、最小値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数、GetResult関数を編集することで機能変更追加が可能です。

応力や電界など要素境界で不連続となるフィールドの場合は描画設定の平均化オンオフによって最大値最小値が変化しますがその平均化オンオフの設定にも対応しています。

(2021/07/15)圧電解析の最大主応力にも対応しました。

例題イメージ

事例32: 指定トポロジ(辺、面)の最大値最小値を取得

学べるテクニック

あらかじめ指定したトポロジー(辺または面)における節点結果の最大値と最小値を取得するマクロです。

複数のトポロジー(単一モード指定)または全モード(単一トポロジー指定)での結果取得に対応しています。
熱伝導解析の温度、電場解析の電界ベクトルの大きさ、応力解析の最大主応力の3つの結果取得に対応しています。
他の節点結果の最大値、最小値を取得する場合は標準モジュールのSetResultField関数、SetResultMode関数、GetResultNode関数を編集することで機能変更追加が可能です。

例題イメージ

事例31: 指定面上の節点結果を取得する

学べるテクニック

電場解析の結果ファイルを開いて、指定した面上の節点の電界ベクトルを取得するマクロです。
各節点の電界ベクトルを取得する前に節点が面上に存在するかどうかの判定を行っています。
※本マクロを使用するモデルにおいてあらかじめ着目する断面でボディ切断しておくことを推奨します。

例題イメージ

事例30: 指定した温度範囲の面積や体積を算出

学べるテクニック

熱伝導解析の結果ファイルを開いて、指定した温度範囲の面積や体積を計算するマクロです。
面積計算の場合は境界条件、体積計算の場合はボディ属性を指定します。
被積分関数の中で積分点における温度を確認する条件分岐処理を行っています。
(2021/07/15)FaceIDおよびBodyIDを指定して計算する機能を追加しました。

例題イメージ

事例29: 結果図を自動ファイル保存(熱伝導解析)

学べるテクニック

指定した結果ファイルの温度分布図を自動的にファイル保存します。
過渡解析のような複数のモードがある場合にもすべて自動保存します。
視点ベクトル、画像サイズ、温度カラーバーの最小値と最大値の設定が可能です。

例題イメージ

事例28: ボディ属性名自動付与(Pythonマクロ)

学べるテクニック

事例4:ボディ属性名自動付与
のpythonマクロ版です。

・指定したプロジェクトファイルに保存されているボディに、指定したボディ属性を自動付与するマクロです。
・複数のボディに決まった処理を一括でおこなうテクニックを学べます。

例題イメージ

事例27: 解析条件比較マクロ

学べるテクニック

2つのプロジェクトファイルを指定して解析条件の差分を確認するマクロです。2つのプロジェクトで共通するボディ属性、材料定数の差分を確認することも可能です。

例題イメージ

事例26: 指定範囲の最大主応力とミーゼス相当応力抽出マクロ

学べるテクニック

・指定した計算結果ファイルから、指定した3次元格子状に最大主応力とミーゼス相当応力を抽出するマクロです。
・計算結果から所望の結果を自動抽出するテクニックを学べます。

例題イメージ

事例25: アクセスログ集計マクロ

学べるテクニック

・Femtetを利用したユーザー、ログイン時間などを集計するマクロです。

例題イメージ

事例24: 変形形状を考慮したNastranファイルをSTLフォーマットに変換するマクロ

学べるテクニック

・変位を含む解析結果のメッシュデータを出力したNastranファイルをSTLフォーマットに変換するマクロです。
・Femtetで得られた解析結果の形状をNastranファイルに出力し、このマクロを使用してSTLフォーマットに変換して他のCADソフトにインポートすることが可能です。
・変換処理の進捗が分かるように改良しました。(2020/12/25)

例題イメージ

事例23: 自由曲線を生成するマクロ

学べるテクニック

・入力された複数の座標値のデータを読み込み、すべての座標を繋げた自由曲線を作成するマクロです。
・放物線の式から求めた座標値を入力し放物線ボディを作成するといった事が可能です。

例題イメージ

事例22: Femtetマクロを活用したDELPHIモデル(1次元熱解析モデル)の導出

学べるテクニック

マクロを活用することにより、FemtetのモデルからDELPHIモデル(1次元熱解析モデル)を導出する手順を自動化したマクロです。
詳しくは解析事例のページをご覧ください。

例題イメージ

事例21: 被積分関数を使用して指定面の磁束密度を積分

学べるテクニック

・複数の解析結果で指定した面の磁束密度を積分するマクロです。
・被積分関数を使用して任意の面の積分結果を取得する方法を学べます。

例題イメージ

事例20: 音波の減衰の計算(音波解析)

学べるテクニック

・音波解析で呼吸球が損失のある媒質を伝搬するときの減衰を計算するマクロです。
・複素音速を設定する方法、音圧の結果を取得する方法などが学べます。

例題イメージ

事例19: Excelのゴールシークを使った最適化

学べるテクニック

・Excelのゴールシークを使用して、マイクロストリップラインの特性インピーダンスが50Ωになる電極幅を計算するマクロです。
・Excelのゴールシークを使用した最適化計算の方法、特性インピーダンスの結果を取得する方法などが学べます。

例題イメージ

事例18: 自由落下する磁性体の軌道計算(磁場解析)

学べるテクニック

・磁場解析で磁性体が自由落下中に磁石から受ける吸引力を計算し、磁性体の軌道計算を行うマクロです。
・計算結果から電磁力を取得する方法、得られた計算結果からグラフを作成する方法などが学べます。

例題イメージ

事例17: 2ポート間のインピーダンスを計算(電磁波解析)

学べるテクニック

・Hertz(電磁波解析)の結果を使い、2ポート間のインピーダンスを計算するマクロです。
・SパラからZパラへの変換手法について学ぶことができます。

例題イメージ

事例16: 解析結果をフィードバックして再計算(応力解析)

学べるテクニック

・解析結果の内容に応じてモデルを変更して再計算するマクロです。
・解析結果からモデル、条件へのフィードバック方法を学べます。

例題イメージ

事例15: 解析結果をフィードバックして再計算(熱伝導解析)

学べるテクニック

・解析結果の内容に応じて条件を変更して再計算するマクロです。
・解析結果からモデル、条件へのフィードバック方法を学べます。

例題イメージ

事例14: モデル全体の重心を計算

学べるテクニック

・ボディの重心と体積、密度を取り出し、モデル全体の重心を計算するマクロです。
・ボディのプロパティ(重心、体積)を取り出す手法を学ぶことができます。

例題イメージ

事例13: 計算結果ファイルを指定して結果画面を保存(圧電解析)

学べるテクニック

・計算結果ファイルを指定し、全モードの計算結果画面を画像として取り出すマクロです。
・結合係数を指定して不要なモードを取りださないようにフィルターをかけることができます。

例題イメージ

事例12: 計算結果ファイルを指定して結果画面を保存(応力解析)

学べるテクニック

・計算結果ファイルを指定し、全モードの計算結果画面を画像として取り出すマクロです。

例題イメージ

事例11: VBでのマクロ実行

学べるテクニック

・VBで記述されたマクロで、指定したパスに電場解析プロジェクトを作成して、特定の面の電界の積分値を自動で求めます。
・VBでのマクロコードの記述方法、積分の実行方法を学べます。

例題イメージ

事例10: 初期応力を考慮した共振解析

学べるテクニック

・指定したcadデータをインポートし静解析を行い、得られた結果を初期応力として共振解析を自動実行するマクロです。
・cadデータのインポート、プロジェクトの複製、解析結果の抽出を自動でおこなうテクニックを学べます。

例題イメージ

事例9: 3次元格子状に磁束密度の結果を出力

学べるテクニック

・指定した計算結果ファイルから、指定した3次元格子状に磁束密度の計算結果を抽出するマクロです。
・計算結果から所望の結果を自動抽出するテクニックを学べます。
・磁束密度以外の計算結果を取り出したい場合は、サンプルマクロ内のモード、フィールドの設定を変更してください。

例題イメージ

事例8: 既存メッシュを参照して解析実行

学べるテクニック

・既存メッシュでの解析実行を自動でおこなうマクロです。
・複数のファイルに対する操作、特定の処理を実行するテクニックを学べます。

例題イメージ

事例7: 複数のプロジェクトのメッシュ生成のみ実行

学べるテクニック

・指定したプロジェクトのメッシュ生成のみをまとめて実行するマクロです。
・複数のファイルに対する操作、特定の処理を実行するテクニックを学べます。

例題イメージ

事例6: 指定時刻に解析を実行

学べるテクニック

・指定した時刻に指定したプロジェクトの解析を実行させるマクロです。
・ExcelVBAのOnTimeメソッドを使用して処理を制御するテクニックが学べます。

例題イメージ

事例5: 材料定数名リストアップ

学べるテクニック

・指定したプロジェクトファイル内に定義されている材料定数名をリストアップするマクロです。
・所望の情報を自動で抽出するテクニックを学べます。

例題イメージ

事例4: ボディ属性名自動付与

学べるテクニック

・指定したプロジェクトファイルに保存されているボディに、指定したボディ属性を自動付与するマクロです。
・複数のボディに決まった処理を一括でおこなうテクニックを学べます。

例題イメージ

事例3: トロイダルコイル作成マクロ

学べるテクニック

・巻き終わりの位置指定、コイルの多角柱化が可能です。
・手動では作成が困難な形状を自動作成するテクニックを学べます。

例題イメージ

事例2: 全モードの計算結果画面保存

学べるテクニック

・モデル作成⇒各条件設定⇒解析実行を行い、全モードの計算結果画面をファイル保存するマクロです。
・モデル作成、条件設定、解析実行、結果の抽出処理をマクロでおこなう方法を学べます。

例題イメージ

事例1: DXFファイルインポート

学べるテクニック

・指定したDXFファイルをインポートしたプロジェクトファイルを自動生成するマクロです。
・複数のDXFファイルを指定した場合、各DXFファイルをインポートしたプロジェクトを複数自動生成します。
・マクロによるファイル操作が学べます。

例題イメージ

サポート一覧にもどる

まずはFemtetを試してみたい

試用版はこちら

もっとFemtetについて詳しく知りたい

イベント・セミナー情報はこちら