FF022

 

(サンプルスクリプト)解析領域の全データを Export する FVX  その2

 ◆ 概要 ◆

FF021では、Export 機能によって 2D のデータを出力する方法を紹介しましたが、 Linux 系 OS であれば、断面毎にファイル出力をしたあとに、shell script となどを利用して、ファイル結合をした方が、その後のデータ集計が楽になります。ここでは、FVX の修正部分と shell script の解説をします。

 ◆ 詳細 ◆

まず、FF021で行った作業環境の用意をしてください。その後、同じ作業ディレクトリ内にこちらのサンプルスクリプトファイル一式をダウンロードしてください。解凍したファイルの中にある "Export3D_split.fvx"が修正 FVX スクリプトで、"JoinExportData.sh" は、断面毎の export データを結合する shell script です。

FVX ファイルの "Export3D_split.fvx" を実行すると、以下の図のように、断面座標に沿ったファイル命名で、連番ファイルが生成されます。

 

 

 

*Export の sweep (loop) 処理イメージ

FF021からの、FVX の修正箇所は以下のとおりです。

-----------------------------------------------------------------------
---- sweep 方向に順次、各断面の export 処理
-----------------------------------------------------------------------
nDiv=20
deltaZ=(ZmaxVal-ZminVal)/nDiv
Zcur=ZminVal -- Z 座標の初期値設定

while Zcur <= ZmaxVal do -- Z 終端値まで繰り返し処理
    print(Zcur) -- 確認のため prompt 表示
    Zcur=Zcur+deltaZ -- Z 座標の移動
    modify(export_handle,{Z_axis = {current = Zcur}})
    strExportFile=format("EXPORT COORD ./output%5.5f.export", Zcur)
    fv_script(strExportFile)
end -- Z sliding loop

連番ファイルが生成されていることを確認したら、 "JoinExportData.sh" を実行します。

source ./JoinExportData.sh [Enter]

今回利用している個々の断面 export ファイルは、coordinate surface 由来のものなので、以下のようなフォーマットになっています(Export 後のフォーマットは Reference Manual の Appendix J: Export Format をご参照ください)。

 

連番ファイルと、上記のようなデータフォーマットから、今回利用の shellscript は以下のようになります。

#!/bin/bash
outputfile="./ALLexport.dat"
rm -f ${outputfile}
touch ${outputfile}

for expfile in *.export ; do
   nRow=`awk '(NR == 2){printf("%d \n", $1)}' ${expfile}`
   echo ${nRow}" "${expfile}
   nRow=$((nRow+4))
   awk '(NR > 3 && NR < '${nRow}'){printf("%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f\n", $1, $2, $3, $4, $5, $6, $7, $8)}' ${expfile} >> ${outputfile}
done

shell script の文法等については、市販の参考書、各 web page などをご参照ください。

 

生成された "ALLexport.dat" に たいして、 sort コマンドをかけると、さらに扱いやすいデータになります。

 

 

※FVXの詳細については、英文のReference Manual もしくは、日本語デべロッパーズマニュアルをご覧下さい。

   
・この資料の内容は予告なしに変更されることがあります。
・いかなる場合でも、この資料の内容およびその運用の結果に関しては一切の責任を負いません。
・この資料の一部または全部を無断で使用、作成することはできません。
All rights reserved by Vinas Co., Ltd.
sales@vinas.com