CAEを学ぶ
UIDLを用いたAnsys GUIのカスタマイズ
Ansys環境のカスタマイズに関しての概要を紹介いたします。
はじめに
一般にソフトウェアの世界では、機能性と操作性にトレードオフの関係があると言われます。この傾向はAnsysに関しても例外ではなく、往年の度重なるバージョンアップによって多様なニーズに応える機能性は着実に追加されていますが、その一方で操作性が問題視されることになってしまいました。そして、Workbench環境の登場によって、いつしかAnsys環境は解析先任者向け、Workbench環境は設計者向けという位置づけで捉えられるようになりました。
とはいえ、Ansys環境にはWorkbench環境のユーザーから見ても魅力的な機能は沢山あります。その機能利用の足枷となっている要因の一つには、やはり操作性の問題があると考えております。また、操作性には各ユーザーの主観で良し悪しが判断されるという一面もあることから、カスタマイズの必要性が自ずと表れてきます。そこで本稿では、Ansys環境のカスタマイズに関しての概要を紹介いたします。
Ansys 環境とWorkbench環境のカスタマイズ
図1と表1にて、AnsysとWorkbench環境のカスタマイズに関する特徴をまとめました。操作性の問題とは相反して、カスタマイズ性に関しては多くの点でAnsys環境に長所があります。
Workbench環境のカスタマイズには必要とされるスキルが多く、且つ関連するドキュメントもないために、手探りの開発になりがちです。
さらに現在のWorkbench環境は、バージョンアップのたびに内部仕様が修正・変更される傾向にあり、旧バージョンのプログラムをそのまま流用することができず、従来のバージョンで得たカスタマイズに関するノウハウが通用しないこともしばしば起こります。
それに対して、Ansys環境のカスタマイズに要する敷居は極めて低いといえます。カスタマイズに必要な言語はUIDLを除いては、多くがバッチ処理による解析に使用するものであり、関連するドキュメントも充実しております。


カスタマイズ言語UIDL(User Interface Design Language)
UIDLはAnsys環境のGUIをカスタマイズするための言語です。
UIDLを使ってカスタマイズできるGUIコンポーネントは次の3つです。
- Ansys メインメニュー
- ダイアログボックス(ピッキングダイアログを含む)
- オンラインヘルプ
図2にカスタマイズされたダイアログボックスの動作原理を示しました。UIDLでは、ボタンやチェックボックス、値入力ボックス等のコンポーネント構成と、OKボタンをクリックした際に実行されるAnsysマクロの名前を定義します。この時、各コンポーネントに設定された内容はAnsysマクロの引数として渡されます。さらに、少しの工夫でAnsysマクロだけではなく、FORTRANやC言語等で作成したプログラムと関連付けを持たせることも可能です。
各種ダイアログのレイアウトに関しては若干柔軟性に欠ける点もありますが、その分だけコードの書式が簡易で手軽に開発ができるため、簡単なGUIを短期間で作成するという点では大いに役に立つと言えます。

カスタマイズ事例
UIDLを使ってAnsys環境をカスタマイズすることによってどのような利点が得られるのか、ここでは3つの事例を使って紹介いたします。
(1) 独自に作成したAnsysマクロをGUIから実行する
Ansysマクロは、インプットウィンドウから実行するのが一般的な使い方ですが、これをGUIのダイアログ画面から引数を入力して実行する形で運用することができます。類似の使用方法としてAnsysツールバーにマクロ実行用のボタンを追加する方法もありますが、UIDLとは2つの意味で決定的な違いがあります。
まずはマクロをツリー構造で整理することができる点です。ツールバーにマクロを登録する方法では、ボタンを無作為に並べることしかできないため、マクロの数が膨大になると該当するマクロを探す手間がかかってしまいます。それと比べて、UIDLを用いてAnsysメインメニューにマクロとのリンク付けを定義する方法をとれば、操作性やメンテナンス性の良いマクロ実行環境が構築できます(図3参照)。
ちなみに、弊社で販売しているMultiscale.Simもこの利点に着目して、マクロをAnsys GUIに組み込みました。

そして二つ目はマクロに渡す引数に直感的なインターフェスが提供できる点です。Ansysマクロ単独で引数を受け取るためには、*askコマンドを使用しますが、この方法では図4に示すような入力ボックスの形でしかダイアログを表示させることができないため、引数の取り方に柔軟性がありません。UIDLによるチェックボックスや選択ボックス等を使ったダイアログであれば、引数の順序や、引数の意味等についても直感的に理解しやすい操作環境が構築できます。

(2) コマンドでのみアクセス可能な操作をGUIに追加する
AnsysにはGUIからアクセスできず、コマンドからのみ実行が可能な操作がいくつか存在します。代表的なものとしては、システム的な設定を行なう/confi gコマンドや、モデルの初期状態を定義するinistateコマンド等が該当しますが、特に材料構成則等の新機能についてはコマンドのみで対応されるケースが多くなっています。
もちろんコマンドを使用する利便性は沢山ありますが、コマンド名や各引数の意味を調べたりするなどの手間が必ず付きまといます。これらをダイアログから実行できるようにカスタマイズすることも容易です。図5は/confi gコマンドの実行ダイアログを作成した例です。

(3) 既存のメニュー構成を変更する
Ansysには予めメニュー表示フィルター機能が準備されていますが、ここで設定できるのは、解析タイプごとに各要素属性の設定メニューがフィルタリングされる程度のものです。既存のUIDLファイルを編集していただければ、業務上使用することのないメニューについては別途削除するなどして、Ansysの操作性を改善することができます。
最後に
UIDLを用いたAnsys GUIのカスタマイズには「手軽ではあるが柔軟性に欠ける」点があるため、本格的なGUIの構築には不向きであることは否定できません。しかし、単純にダイアログからAnsysマクロを実行するという使用用途に関しては十分過ぎるほどの拡張性があります。また、将来的にWorkbenchのカスタマイズを考えていらっしゃる方に関しても、UIDLはGUIの基本を理解するには適したものであると言えます。本稿がカスタマイズの一歩を踏み出すための動機付けとなれば幸いです。
関連情報
関連する解析事例
MORE関連する資料ダウンロード
MORE-
シリコンウェハ汚染予測ソリューション
-
~解析精度向上につながる~ 適切な材料特性の選定・取得ソリューション
-
【全記事】CAEのあるものづくり vol.41
ユーザー様インタビュー記事4件のほか、解析事例・製品紹介などの記事を1冊に集約した保存版
-
CMP(化学機械研磨)マクロスラリー 挙動解析ソリューション
回転パッド上のマクロスラリー挙動の解析ソリューション
-
バッテリー電極におけるカレンダ加工時の膜温度の最適化 ~Ansys CFDによるソリューション~
~Ansys CFDによるソリューション~
-
コントローラ&センサのデータ駆動型シミュレーション
~データ駆動によるロボットのモデリングと制御設計~
-
デジタルツインによるシステムシミュレーション
~実稼働環境を事前検証したロボットのセンサー・制御設計~
-
EMCのお悩みありませんか? ~EMCソリューション~