2015年3月8日日曜日

形状モデル可視化ソフト「Paraview」の使い方

今回は、前回の話を図をもちいて、詳しく説明する。
分割したメッシュを表示するのにいいソフトとして、paraviewをお勧めする。これは海外では有名であり、某T京大学の計算機センターのPCにもインストールされているくらいである。
日本での普及率は低そうだが、使いやすく高機能で便利である。
ただ、ネット上に情報が少ないので、このサイトでは多少説明をアップする予定。
このソフトはいろいろなモデリング形式に対応しているのだが、一応.vtk形式が基本であるようだ。

まず、データを読み込み、表示させる方法。
データ形式はいろいろ対応しているが、今回使ったのは.stl形式の薄板の形状モデルが元データ。
(順番が多少前後していますが)下の図は、tetgenを使って作った.vtk形式のファイルを読み込ませたときの図。(.stlからこの形式のファイルの作り方は、このページを最後まで読み進めるとわかります)


メッシュファイルの面要素数、節点数などはタブを切り替えることで簡単に確認できる。

 
STL形式の数値モデル(.stl)は、メッシュ分割ソフト「tetgen.exe」で分割できる形式である。
tetgenの簡単な使い方を以下に図で説明します。
 
まず、インストール(コンパイル)の方法。(ソースは各自ゲットしてください。)
コマンドプロンプトを起動します。解凍して出てきたフォルダにあるC++のソースファイルをコンパイルするだけです。
ここではVisualStudio2013 Express付属の開発者コマンドプロンプトの利用下で説明します。コンパイルや最適化のコマンド引数などは各自読み替えてください。
 
 
次に、使い方です。これはコンソールアプリケーションですので、コマンドラインで利用します。オプションをつけて利用します。「-p」をつけないとメッシュ分割されません。

オプションを指定することで、さまざまな要求ができます。
先ほど紹介した、paraviewに対応する形式(.vtk)でも出力できるオプションがあります。
「-k」


ほかのオプションについて一応リストを載せました。詳細はマニュアルを見てください。
 
tetgenで生成されたファイル(.node, .face)をもとに作成したメッシュデータを表示します。(これは自作プログラムで.stlにして再び.vtk形式に直しています。そのうちtetgenで生成されるファイル群とともに説明します。)
表示形式を選ぶことで、ソリッド表示、ワイヤーフレーム表示などを選択できます。色なども自由に変更できます。
 
 
こんな感じでやれば、一応、元形状データのメッシュ分割から視覚化までの流れはつかめたと思います。
今回は以上です。

 

2015年2月24日火曜日

tetgenの使い方(復習)

メッシュ分割の必要性に迫られている大学生、研究者は結構多いと思う。


この記事ではモデリング形式として非常に簡潔であるSTL形式(.stl)の形状モデルを作る三角形メッシュを、さらに細分化する方法について、私が暫定的にやっている方法を説明します。


本当は、楽したいのでNetgenやGmeshなどを使いたいのだが、なにやらwindows7にインストールできない(またはかなり設定を修正しないと無理)なので、あきらめました。


まぁこっちで紹介している方法は最強なので、おぼえておいて損はないはず。
多少プログラミングの知識と経験、勘がいりますが悪しからず。




今回は、使うメッシュ分割ツールの説明です。数年前に一度やったきりで放置したらほとんど忘れたので、記事にしようと思いました。




さて、まずは「tetgen」の入手。これはサイトで登録してすぐゲットできます。無料です。この記事を書いている時点での最新版は1.50です。ソースコードを入手できます。


あと、「tetview-win」も入手しておいてください。


tetgenはC++ で書かれています。(拡張子は.cxx)。これをコンパイルします。簡単です。
ここではvisual studio2013の開発者ツールのコマンドプロンプトを使って説明します。(単に私がこうやったというだけです。まぁ各自普通にコンパイルしてください。)


やり方は、コマンドラインで
「cl tetgen.cxx predicates.cxx /O2」
とするだけです。2つファイルがいります。ダウンロードして回答したフォルダに入っている.cxxファイル2つです。
これでtetgen.exeができました。これは基本的にコマンドラインで使うツールです。


一方、tetview-winは解凍すればよいだけです。tetview-win.exeができます。ダブルクリックで起動できます。こっちはGUIです。


立ち上げると、Open fileというウインドウが開きます。この左上のShowのところをクリックして、.stl形式(Poly hedral files)を選ぶと、この形式のファイルが表示されるようになります。クリックしたままにしておかないと画面がすぐ消えますので注意が要ります。


探す場所などはUNIX/Linux系の操作でのディレクトリ操作と同じです。
../ (ダブルクリック)でひとつ上の階層に移動します。右のFavoritesで「My Computer」(windowsのいわゆるマイコンピュータ)に移動することもできます。まぁむずかしくないので適当にやってください。


なおはじめから.poly形式のファイルが見えますが、今回は説明しません。公式チュートリアルに詳しく書いてありますので、そちらをどうぞ。英語ですがね。


ファイルを選ぶと、新しい画面が現れます。これが基本画面です。選択したファイルのメッシュが表示されています。(マウスで見やすいように操作)


正直、親切なソフトではありませんので、気に入らない方は、paraviewなどの高機能なソフトで表示させてみてください。たぶんほとんど同じことができます。


まぁですがメッシュ分割させたのを手軽に表示できるのは便利で、シンプルですが無駄がない分、秀逸だと思います。使っていくうちによさが
わかってきます。一応tetgen公式のビューアーです。






はい、それでは具体的にtetgenの使い方に入ります。
引数には.stl形式のファイルが対応します。
あと、オプションをつけて使います。これが重要で、自分の必要に応じて使い分けることになります。くわしくはマニュアルを見てください。英語ですが、それほど難しくありません。


基本オプション;
-p :これはメッシュ分割をするかしないかのスイッチです。
-q :これはメッシュ分割でできるメッシュのサイズを指定するものです。
-k :Paraviewの.vtk形式でファイルを出力する場合に使います。