3DモデリングWebアプリの作り方(3)「3Dデータのフォーマットについて」

3DモデリングWebアプリの作り方(3)「3Dデータのフォーマットについて」

平田孝広
平田孝広 (ID263) 公認maker 2014/08/14
0

3Dモデリングしたデータは、3Dプリンターでプリントアウトすることも可能です。そのためには対応したデータフォーマット(今回はstlフォーマットを使用)にする必要があります。そこで今回は、stlフォーマットについて説明したいと思います。

これまでの連載:

3DモデリングWebアプリの作り方(1)
https://media.dmm-make.com/item/907

3DモデリングWebアプリの作り方(2)「3DモデリングWebアプリを開発」
https://media.dmm-make.com/item/1615/

3Dプリンターで出力できる3Dデータのフォーマット

stlフォーマットの特徴としては、以下のようなことが挙げられます。

・拡張子:〜.stl
・ファイルの形式:ASCII(テキストデータ)とバイナリデータ
・構造がシンプル
・頂点情報と法線情報のみ、色情報はなし
・データ内容:
 メッシュ(面)の情報
 メッシュを構成する各頂点の情報(x座標、y座標、z座標)
 メッシュの表(法線の向き)の情報

具体的には以下の通りです。

solid cube-ascii		//ファイルの始まり(内容はテキスト)
 facet normal 0 0 1		//1つ目のメッシュ normal:法線ベクトル(x,y,z)
  outer loop
   vertex  0 0 0		//1つ目のメッシュの1つ目の頂点座標(x,y,z)
   vertex  10 0 0		//1つ目のメッシュの2つ目の頂点座標(x,y,z)
   vertex  0 10 0		//1つ目のメッシュの3つ目の頂点座標(x,y,z)
  endloop			
 endfacet			//1つ目のメッシュの終わり
 facet …			//2つ目のメッシュ始まり
  …				//2つ目のメッシュの頂点情報
 endfacet			//2つ目のメッシュの終わり
 (メッシュの数の分だけ繰り返し)
endsolid			//ファイルの終わり

上記1つめのメッシュを図で表すと、このような感じになります。

では、このデータを実際にstlファイルにして形状を確認してみます。
下記データ内容をテキストエディタにコピペして、mesh.stl というファイルで保存し、前回の記事で紹介した「MeshLab」で表示してみてください。

次のリンク先からもダウンロードできます
http://fabable.net/doc/dmmmake/mesh.html

solid cube-ascii
 facet normal 0 0 1
  outer loop
   vertex  0 0 0
   vertex  10 0 0
   vertex  0 10 0
  endloop
 endfacet
endsolid

MeshLabが用意できない人のために、Web上で3Dデータを確認できるビューワーを用意しました。
http://fabable.net/viewer/3dmodel/

このサイトの左上の「Select 3D Data」ボタンからstlファイルを選択するか、ウィンドウ内にstlファイルをドラッグ&ドロップすれば3次元で表示されます。この3DモデルビューワーはWebGLに対応していないブラウザでも表示できますので、MacのSafariでも大丈夫です。

余裕があったら、mesh.stlの内容を編集して形状を確認してみましょう!
(もしも法線の向きが変わる場合は、法線情報も更新する必要があります)

その他の3Dデータフォーマットや注意点

色や画像テクスチャーの情報を持ったフォーマットに、objというものがあります。その他のフォーマットや3Dプリントするデータの注意点としては、「DMM.make( http://make.dmm.com/datarules/ )」に詳しく掲載されているので、参考にしてみてください。

次回は、「three.js( http://threejs.org/ )」に用意されている色々なGeometry(前回はBoxGeometryを使用)について紹介します。

参考にしてくれた記事

記事が登録されていません。
この記事を参考にして、新しく記事を投稿しよう!

違反について