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形式でファイルを出力する場合に使います。









0 件のコメント:

コメントを投稿