ユーザープロシージャー

プロシージャーは、前処理、後処理、形状読み込み前処理、形状読み込み後処理、バッチメッシュ前処理、バッチメッシュ後処理をカスタマイズすることができます。

これらのスクリプトは、以下のような様々なタスクを実行することが可能です。
  • メッシュをソルバーフォーマットで出力
  • 薄肉ソリッド形状の中立面を作成
  • 中立面位置までシート形状を移動するためサーフェスオフセットを実行
  • ユーザー独自の規則に従ったパートへの名前付けおよびナンバリング
BatchMesherでは、以下に示す各ジョブのステップにおいて、ユーザーが指定したプロシージャを実行できます。
Pre-geometry load
ジョブ開始直後、入力モデルがインポートされる前に実行されます。
Pre-batch mesh
入力モデルインポート後、バッチメッシュが開始される前に実行されます。中立面抽出またはサーフェスのオフセットなどが例として上げられます。
Post-batch mesh
バッチメッシュプロセスが完了した直後に実行されます。例として、ソルバー依存のカードの作成やメッシュのソルバーフォーマットでの出力などがあります。
ユーザー定義プロシージャ内でのモデル特定の変数へのアクセスが可能です。配列::hmbm::gVarArrayには、ユーザーによりアクセス可能な変数が含まれます。
CADImportOpt
CADインポートオプション。
cadtype
モデルファイルのタイプ。
critername
パスを除いた基準値ファイルの名前。
criterpath
パスを含む基準値ファイルの名前。
CurrentEventName
modelname
パスを除いた入力モデルファイルの名前。
modelpath
パスを含む入力モデルファイルの名前。
outmodelname
パスを除いた出力モデルファイルの名前。
outpath
出力ファイルパス。
paramname
パスを除いたパラメータファイルの名前。
parampath
パスを含むパラメータファイルの名前。
POST_BATCHMESH,tclparameters
バッチメッシュの後処理プロシージャーに渡すパラメータ。該当プロシージャーが定義されている場合にのみ有効。
POST_BATCHMESH,tclprocedure
バッチメッシュの後処理プロシージャー名。該当プロシージャーが定義されている場合にのみ有効。
POST_BATCHMESH,tclscriptpath
パスを含むバッチメッシュの後処理スクリプト名。該当プロシージャーが定義されている場合にのみ有効。
PRE_BATCHMESH,tclparameters
バッチメッシュの前処理プロシージャーに渡すパラメータ。該当プロシージャーが定義されている場合にのみ有効。
PRE_BATCHMESH,tclprocedure
バッチメッシュの前処理プロシージャー名。該当プロシージャーが定義されている場合にのみ有効。
PRE_BATCHMESH,tclscriptpath
パスを含むバッチメッシュの前処理スクリプト名。該当プロシージャーが定義されている場合にのみ有効。
PRE_GEOMETRY_LOAD,tclparameters
形状読み込みのための前処理に渡すパラメータ。該当プロシージャーが定義されている場合にのみ有効。
PRE_GEOMETRY_LOAD,tclprocedure
形状読み込みのためのの前処理プロシージャー名。該当プロシージャーが定義されている場合にのみ有効。
PRE_GEOMETRY_LOAD,tclscriptpath
パスを含む形状読み込みの前処理スクリプト名。該当プロシージャーが定義されている場合にのみ有効。
resfilename
パスを除いた出力結果ファイルの名前。
デフォルトでは、BatchMesherはモデルファイルの名前をTclプロシージャの最後の引数として渡すことができます。
注:

BatchMesherによって制御されるため、Tclスクリプトは、いずれのプロシージャも自動的に実行しません。これを行うと、エラーが発生したり、予期しない結果を招きます。

ユーザープロシージャ実行後にモデルを保存してください。これは自動的に行われません。例:
hm_answernext "yes"
*writefile "$::hmbm::gVarArray(outmodelname)" 0
proc nastran_export { modelName args }  {
set outputDir $::hwbm::gVarArray(modelpath)
set template_dir [ hm_info -appinfo SPECIFIEDPATH TEMPLATES_DIR]
set template [file join $template_dir "feoutput" "nastran" "general"]
*feoutput "$template" ${outputDir}/${modelName}.dat 1 1 1
}
図 1. 例:メッシュ後のユーザープロシージャの例:. この例は、作成されたメッシュを、オリジナルの入力モデルと同じディレクトリのしたの<modelname>.datという名前のNASTRANファイルに出力します。
実行レベルでもプロシージャを指定することが可能です。これにより、BatchMesherで作成したすべてのパートの1つのモデルへの読み込み、プロパティや材料特性の作成、パート間の溶接結合作成などの操作が可能になります。実行レベルでのカスタマイゼーションは、バッチメッシュプロセスにおける2つのタイミングで設定できます。
Pre-run
最初のモデルまたはジョブが開始する前に実行されます。
Post-run
最後のモデルまたはジョブが完了した後に実行されます。
前処理および後処理用の実行スクリプトには、モデル特有の変数は指定できません。