EXCEL VBAを用いてFemapのBCセット(境界条件セット)を作成する方法

はじめに

本記事では、 Excel を用いてFemapのBCセットを作成する方法を紹介します。

以前、私は多数の解析条件を検討するプロジェクトを抱えていました。そこでは多数の異なるBCセットを作成する必要がありましたが、これを手動で行うのは非常に時間がかかります。条件が間違っていないか、ひとつひとつ確認する作業も大変です。ミスも多発していました。周りにも同様の悩みを持つ同僚もいました。

この問題を解決するために、何か効率的な方法がないかと考えました。
そこで思いついたのが、Excelを使用してFemapのBCセット作成を自動化する方法です。Excelで入力し、VBAで連続自動作成すればミスを減らし、作業時間も大幅に削減できるのではと考えました。

BC set を作成するVBAコード

基本的なVBAコードの例

以下のコードは、Excel VBAを使用してFemapのBCセットを作成する方法の例です。

VB
Sub CreateBCSet()
  'Femap model オブジェクトの生成
  Dim f As Object
  Set f = GetObject(,"femap.model")
  
  'BCセットオブジェクトの作成
  Dim bcSet As Object
  Set bcSet = f.feBCSet
  
  'BCセットのプロパティ設定
  bcSet.title = "New BC Set"  'BCセットの名前を設定
  bcSet.Put(1)  '作成したBCセットをID=1に設定
  
  'オブジェクトの解放
  Set bcSet = Nothing
  Set f = Nothing
End Sub

詳細な説明

  • Femapオブジェクトの作成: GetObject関数を使用して、Femapのモデルオブジェクトを取得します。
  • BCセットオブジェクトの作成: feBCSetプロパティを使用して、BCセットオブジェクトを作成します。
  • BCセットのプロパティ設定: titleプロパティでBCsetの名前を設定します。
  • BCセットの作成: Putメソッドを使用して、BCセットをFemapに登録します。
  • オブジェクトの解放: 使用したオブジェクトを開放します。

Excelと連携させる例

エクセルで次のようなシートを準備します。
A2,B2が入力セルです。

対応するVBコードは次のようになります。

VB
Sub CreateBCSet()
  'Femap model オブジェクトの生成
  Dim f As Object
  Set f = GetObject(,"femap.model")
  
  'BCセットオブジェクトの作成
  Dim bcSet As Object
  Set bcSet = f.feBCSet
  
  'BCセットのプロパティ設定
  bcSet.title =  Cells(2, 2)  'BCセットの名前を設定
  bcSet.Put(Cells(2, 1))  '作成したBCセットをID=1に設定
  
  'オブジェクトの解放
  Set bcSet = Nothing
  Set f = Nothing
End Sub

もし、セルから値を取得する際にエラーが出る場合は、セルで値を取得する部分をLong型ならCLng(Cells(2,1))などのように型を指定すると良いです。
こちらを応用し、For文など繰り返し操作を加えれば、大量のBCセットも楽々です。
ちなみに、作成したBCセットをアクティブ化する場合は、bcSet.Active = “アクティブにしたいBCセットID” を加えればよいです。

おわりに

このVBAコードを利用したことで、以下のような効果が得られました。

  • 効率化: コードを実行するだけでBCセットを自動的に作成し、時間を大幅に節約できました。
  • エラーの削減: 自動化することで、ニューマンエラーのリスクを減らし、正確な設定が可能になりました。
  • 一貫性の向上: コードを使用することで、一貫した設定を維持することができ、ばらつきを防ぐことができました。

この方法を使用することで、上記のような様々なストレスを減らすことができます。簡単な操作ではありますが、小さなことの積み重ねで設計プロセスの効率は向上し、誰が行っても同じ品質が得られ様々なメリットが得られることと思います。ぜひ試してみてください。

BCセットを忘れると、結果が自由になりすぎて逆に困る!

コメント

タイトルとURLをコピーしました