ショートカットキー用に関数が用意されていない機能を、スクリプト経由でショートカットキー対応にする方法

altair_fukuoka
altair_fukuoka
Altair Employee

始めに

HyperMesh はショートカットキーをサポートしています。

次の図のように、もともと多くの機能がショートカットキーの対象となりますが、ここに出てこない機能も、スクリプトを自作することができれば、スクリプトを起動するショートカットキーを設定することができます。

image

 

この記事は、

 

  1.  スクリプトに必要な HyperMesh コマンドの見つけ方
  2.  スクリプトにする方法
  3.  スクリプトにショートカットキーを割り当てる方法

 

をなるべくわかりやすく説明します。なお、記事では細かい作業は省略しているため、細かい作業は、最後の動画で確認してください。

 

スクリプトに必要な HyperMesh コマンドの見つけ方

HyperMesh はコマンドで動いています。HyperMesh といってもアプリケーションのワークフレームとして HyperWorks というものがあり、その中で HyperMesh が動いています。したがって、コマンドには HyperWorks ワークフレームを動かすものと、HyperMesh を動かすものの 2個があります。

 

HyperWorks ワークフレームを動かしているものは、HWC ウインドウにログとして表示されます。ちなみに下記は、

image

 

これを実施したときに出てきたものです。このように、簡単に実際に実施したコマンドを確認できます。

image

 

HyperMesh の操作コマンドは <ドキュメント>/command1.tcl というファイルにログとして書き込まれます。1 ではなく 2, 3 と複数ある場合もあります。本作業をする場合、一度 HyperMesh を全て落とし、すべての command1.tcl ファイルを削除してから、HyperMesh を立ち上げ直すのが無難です。

基本的には HyperWorks フレームワークのログよりもかなり長いので、まず、コマンドを知りたい作業を行う前に、現在 command1.tcl ファイルが何行目まで記述されているかを確認しておきます。

image

(クリックで拡大)

 

試しに四角形を作ってみます。

image

(クリックで拡大)

 

すると command1.tcl が次のように更新されます。どのように更新されるかは、寸法を何回更新したか、などで変わります。このコマンドを実行すれば、同じ結果がえられるはずです。

image

(クリックで拡大)

 

スクリプトにする方法

まず HyperWorks ワークフレームのコマンドからやっていきましょう。HWC ウインドウで Tcl フォーマットでコピーします。

image

 

これを、テキストファイルとして保存すれば、スクリプトファイルの完成です。ただ、そのまえに動作確認をしておきましょう。Tcl フォーマットでコピーした文字列を Tcl command ウインドウに貼り付ければ実行できます。次のように実行した後、

image

 

このようにパワーポイントへの貼り付けに成功しました。

image

 

動作が確認できたら、テキストファイルに保存しておきます。HyperMesh のファイルセレクタの関係で拡張子は .tcl にしておくと都合がよいです。私が保存した中身です。

hwc save image window clipboard

 

見つけた HyperMesh コマンドも Tcl Command ウインドウに貼り付ければ動作確認ができます。新規モデルとしてやりなおしたので画面の縮尺は違いますが、出来上がったサーフェスは同じです。

image

 

動作確認ができたので、私は surf.tcl ファイルに保存しました。

*startnotehistorystate {Create Rectangle} *linecreatestraight -1.04359674 0.57493186 0 -1.04359674 -0.910081744 0 *linecreatestraight -1.04359674 -0.910081744 0 0.811989101 -0.910081744 0 *linecreatestraight 0.811989101 -0.910081744 0 0.811989101 0.57493186 0 *linecreatestraight 0.811989101 0.57493186 0 -1.04359674 0.57493186 0 *endnotehistorystate {Create Rectangle} *startnotehistorystate {Modify Rectangle Fill} *createmark lines 1 1-4 *deletemark lines 1 *linecreatestraight -1.04359674 0.57493186 0 -1.04359674 -0.910081744 0 *linecreatestraight -1.04359674 -0.910081744 0 0.811989101 -0.910081744 0 *linecreatestraight 0.811989101 -0.910081744 0 0.811989101 0.57493186 0 *linecreatestraight 0.811989101 0.57493186 0 -1.04359674 0.57493186 0 *createmark lines 1 1-4 *surface_patch line_mark=1 dest_component=original tangency=non_tangent stitch=1 *surfacemode 4 *createmark lines 1 1-4 *deletemark lines 1 *endnotehistorystate {Modify Rectangle Fill}

 

ショートカットキー割り当て

Ctrl と Shift キーの組み合わせも可能で、このように割り当てることができます。

image

 

スクリプトをもっと知りたい方のための情報

基本を知りたい方向け

HyperMesh  2023 カスタマイゼーション資料一式: https://connect.altair.com/CP/download-file.html?file_id=107800

 

見つけた HyperMesh コマンドの使い方を詳しく知りたい方向け

https://help.altair.com/hwdesktop/hwd/topics/chapter_heads/commands_and_functions_scripts_r.htm

 

動画による説明


動画ファイル .mp4 のダウンロード

KB0124651_ショートカットキー用に関数が用意されていない機能を、スクリプト経由でショートカットキー対応にする方法.mp4