ファイル形式

メッシュを操作するためのファイル形式はたくさんある.これらはCADプログラム間で交換形式として使うことができるため便利である.この中にはTetGenでサポートされるものもあればWolfram言語でサポートされるものもある.このセクションではサポートされる形式を見て,その使い方を説明する.

TetGenファイル形式

TetGenはそれ自身の形式の他,いくつかの標準形式もサポートする.その形式の詳細情報およびサンプルはTetGenのWebサイト(http://tetgen.org)に掲載されている.

次の表はTetGen自身の形式である.

拡張子モード説明
.node入力/出力ノードのリスト
.poly入力区分的線形複合体
.smesh入力/出力簡単な区分的線形複合体
.ele入力/出力四面体のリスト
.face入力/出力三角面のリスト
.edge出力境界面のリスト
.vol入力最大体積のリスト
.var入力ファセットや線分に対する変数制約条件のリスト
.neigh出力近傍のリスト

TetGen特有のファイル形式

データファイルをロードするためには,まず以下のようにアプリケーションをロードしなければならない.

次で TetGenLink の中のサンプルのデータファイルを見付ける.

データファイルをロードするためには,まずその結果を入れるためのTetGen式のインスタンスを作成する必要がある.

これでデータファイルをインスタンスにロードする.

以下でインスタンスから点を抽出する.

以下でインスタンスから頂点を抽出する.

これで形状がプロットされる.

最後にTetGenインスタンスが削除される.

TetGen特有の形式の他,TetGenは他のファイル形式も多数サポートする.STLもまたWolfram言語のImportコマンドでサポートされる.

拡張子モード説明
.off入力/出力Geomviewの多面体ファイル形式
.ply入力多面体ファイル形式
.stl入力光造形形式
.mesh入力/出力Meditの表面メッシュファイル形式

TetGenで使うことのできる一般的なファイル形式

Wolfram言語ファイル形式

Wolfram言語はメッシュの操作に便利な多数の形式をサポートする.

名称拡張子モード説明
STL.stl入力/出力コンピュータベースの設計および生産の形式
3DS.3ds入力/出力シーン記述および3DモデリングのためのAutodesk形式
DXF.dxf入力/出力3D幾何学のためのAutoCAD形式

Wolfram言語でサポートされているメッシュ操作のための形式

これらの形式はCADや他の工学アプリケーションでサポートされることが多く,互換形式として使われることもある.また,これらのファイルはWebサイトに多くのサンプルが掲載されている.そのうちの一つに,多数のファイルを集めたhttp://www-roc.inria.fr/gamma/download/がある.例えば,以下に示したgear10の例は「MECHANICAL」セクションのものである.

TetGenにデータファイルをロードして操作するためには,まず次のように TetGenLink をロードしなければならない.

次はサンプルの3DSデータファイルである.これは上記のhttp://www-roc.inria.frで入手できる.

次のようにしてファイルから頂点および多角形のデータをロードする.

結果のデータは複数のオブジェクトに対して設定される.

したがって,それぞれの集合の最初を抽出しなければならない.

これで以下のようにメッシュをプロットすることができる.

このメッシュを四面体分割したい場合は,まず以下のように座標とファセットがTetGenインスタンスにロードされるようにする.

メッセージを有効化するためにTetGenSetMessagesが使われる.これで四面体分割が終了する.これで,データ中に重複した点があるというメッセージ等,多くの情報が生成される.

これで,表面の新しい座標と面を抽出することができる.

最後に新しいデータがプロットされる.オブジェクトに含まれる点が増えたことが分かる.

この最後のステップで,TetGenインスタンスからリソースが解放される.