ユーザープロシージャー
プロシージャーは、前処理、後処理、形状読み込み前処理、形状読み込み後処理、バッチメッシュ前処理、バッチメッシュ後処理をカスタマイズすることができます。
- メッシュをソルバーフォーマットで出力
- 薄肉ソリッド形状の中立面を作成
- 中立面位置までシート形状を移動するためサーフェスオフセットを実行
- ユーザー独自の規則に従ったパートへの名前付けおよびナンバリング
- Pre-geometry load
- ジョブ開始直後、入力モデルがインポートされる前に実行されます。
- Pre-batch mesh
- 入力モデルインポート後、バッチメッシュが開始される前に実行されます。中立面抽出またはサーフェスのオフセットなどが例として上げられます。
- Post-batch mesh
- バッチメッシュプロセスが完了した直後に実行されます。例として、ソルバー依存のカードの作成やメッシュのソルバーフォーマットでの出力などがあります。
::hmbm::gVarArrayには、ユーザーによりアクセス可能な変数が含まれます。CADImportOpt- CADインポートオプション。
cadtype- モデルファイルのタイプ。
critername- パスを除いた基準値ファイルの名前。
criterpath- パスを含む基準値ファイルの名前。
CurrentEventNamemodelname- パスを除いた入力モデルファイルの名前。
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スクリプトは、いずれのプロシージャも自動的に実行しません。これを行うと、エラーが発生したり、予期しない結果を招きます。
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ファイルに出力します。- Pre-run
- 最初のモデルまたはジョブが開始する前に実行されます。
- Post-run
- 最後のモデルまたはジョブが完了した後に実行されます。