本日は ParaView の学習枠です。
ParaView で作成したデータを hololens で確認するため、ParaView の可視化データを x3d 形式のジオメトリデータで出力します。
サンプルデータの取得
今回は以下のSimScaleからサンプルデータを取得しました。
bluebirdofoz.hatenablog.com
また、以下の手順と同様にカラーマップや流線の設定を行いました。
bluebirdofoz.hatenablog.com
3Dデータファイルの出力
出力を行うプロジェクトを ParaView で開きます。
可視化データを3Dデータファイルとして出力するには[Export Scene]の機能を利用します。
メニューから File -> Export Scene.. をクリックします。
ファイル出力ダイアログが表示されます。
出力先ディレクトリとファイル名を指定し、[Files of type:]には[X3D Files (*.x3d)]を選択します。
[OK]ボタンをクリックすると、3Dデータファイル(*.x3d)が出力されます。
[X3D Files (*.x3d)]形式で出力すると、カラーマップの色情報は頂点カラーとして出力されます。
このため、出力した3Dデータにはシミュレーションデータの数値情報は保持されていません。
3Dデータで確認できるのは、可視化データの形状と、出力時に表示していたカラーマップの色情報のみになります。
複数ファイルの自動出力
[Export Scene]の機能で出力される3Dデータは現在表示中の Step 位置の3Dデータです。
時系列に沿ったアニメーションを出力する場合は、各 Step の3Dデータを別々に出力する必要があります。
スクリプトを用いると、Step 毎の複数ファイルの出力を自動で行うこともできます。
メニューから Tools -> PythonShell をクリックします。
ウィンドウが表示されるので、RunScript を選択して実行する Python スクリプトを指定します。
今回は後述の参考ページを元に以下のスクリプトを実行しました。
Start = 0 End = 2 savedir = 'D:\Paraview\Output\WingTest\WingGeo' animationScene1 = GetAnimationScene() renderView1 = GetActiveViewOrCreate('RenderView') animationScene1.PlayMode = 'Snap To TimeSteps' animationScene1.AnimationTime=Start for time in range(Start, End): timeStr = '%04d' % time ExportView(savedir+timeStr+'.x3d', view=renderView1) animationScene1.GoToNext()
結果、以下の通りファイルが出力されました。成功です。
Blenderへの取り込み
出力した3Dデータファイル(*.x3d)を Blender で取り込んでみます。
Blender の場合はメニューから ファイル -> インポート -> X3D Extensible 3D(.x3d / .wrl) で読み込み可能です。
これで ParaView で可視化したデータを3Dデータとして Blender に取り込むことに成功しました。