3Dプリンタコラム

3Dプリンタ活用のためのヒント 第3回

3DデータとSTL ~3Dプリンタ使用の大前提~

2015年3月20日  執筆者:水野 操

3Dプリンタブーム当初のような「魔法の箱」論議はさすがになくなり、3Dプリンタの活用には「3Dデータ」が必要という事実の理解が、一般にせよ製造業関係者にせよ進んできました。とはいえ、3Dデータとはいったい何者か、ということをちゃんと理解している人は案外多くはないようです。そもそも、「3Dデータって何ですか?」という人はもちろんのこと、すでに3D CADで設計をしているよ、という方であっても、その中身までを詳しく知っている人は必ずしも多くはないのではないでしょうか?
 
3D CADでデータを作成したら、ファイルの保存でSTLを指定すればOKとだけ理解している人も意外にいらっしゃるようです。STLファイルを作成した後のデータの確認は特にしていません、という方もいらっしゃいます。
 
確かに、手順だけ覚えてしまえば概ねうまくいくことも多いのですが、3Dデータとは何者かということを、きちんと理解したほうが、より自信を持って3Dプリンタを活用していくことができるでしょう。

3Dデータの種類

主な3D CADの種類 最初に3Dデータそのものについての振り返りをしておきましょう。一口に3Dデータと言っても、その形式にはいくつかの種類があります。
 
・ワイヤーフレーム
最もデータ量の少ないものは、ワイヤフレームで、頂点と辺のみで3次元的な形状を表現するものです。もっとも、現在では表示上ワイヤフレームの形式を取る場合はあっても、データの持ち方そのものがワイヤフレームというソフトはないでしょう。
 
・ポリゴン
実際に使用されている形式としては、まずポリゴンがあります。小さな多角形のメッシュを使って立体形状を表すものです。主として、3D CGなどでよく使用される形式です。一般的には、四角形か三角形のメッシュがよく使用されます。3Dプリンタでの出力で必須とされるSTLもこの形式です。ポリゴンの場合には、どのように細かくて複雑な形状や、不規則で数学的に表現が難しい形でも、細かなメッシュを編集することで実現できるため、人や動物といった有機的な形状も表現することが得意です。その一方で、形状はあくまでも近似なものであり、例えば球もいわゆる数学的な球ではなくて多面体なので、厳密な数値でモデリングをしていく工業的な製品のモデリングには向いていません。
 
・ボクセル
近似の形で表現をする方法には、ボクセルもあります。画像などではピクセルという単位でその画像の詳細度を表現しますが、ボクセルはその立体だと思ってよいでしょう。非常に小さな有限の体積を持つ立体を多数積み重ねて形状を表現することができると考えてよいでしょう。この方法で表現される形状も数学的にはあくまでも近似と言えますが、ボクセルが充分に細かければ微細な形状も表現することができます。また、ポリゴンと違って中身がつまったオブジェクトなので、形状同士の足し算や引き算、つまりブール演算もポリゴンと比較すると得意です。
 
・サーフェイス
主に工業製品のモデリングで使用される形式の一つがサーフェイスです。形状を数学的に定義された線や面で作成することができるので、正確な形状表現をすることができます。この形式でのモデリングを中心に行うサーフェイスモデラーでは、柔軟な自由曲面などの定義もできるため、工業デザイナーを中心に使用することも多いのです。ただし、サーフェイスのみでは完全に立体をバーチャルに表現することができませんし、またサーフェイスのみで構成されるモデルを3Dプリンタでは出力することができません。それは、サーフェイスが厚みを持っていないからです。サーフェイスのみで構成された一見立方体があっても、実際にはまったく別々のサーフェイスが立方体を構成する位置にたまたまあったというだけで、立方体という単位では構成されていないのです。
 
・ソリッド
ソリッドは、面は数学的に定義されており正確な寸法で形状を表現することができますから、作成される形状も正確です。また、ソリッドの場合には、面は単独では存在していません。形状は必ず閉じています。面の裏と表があり、面と面同士の位相(トポロジー)の情報を持っているので、例えばサーフェイスのところで例示した立方体もソリッドの場合にはきちんと立方体を構成する面として認識されます。このためソリッドでは中身がつまった塊として体積を表現することができ、パーツ同士のアセンブリなどを組んだ時に干渉チェックなどができるのもそのためです。このソリッドをSTLファイルに変換すれば、途中で何かエラーが起きない限りは、必ず「閉じた」STLになるので、3Dプリンタで出力することができるのです。

STLについて

さて、3Dプリンタで3Dデータを出力する際には、原則として「STL」というファイル形式で保存することが必要です。工業製品を設計するための、3D CADではほとんどの場合、ファイルの保存か、またはファイルのエクスポートなどでSTLファイルを保存することができます。業務向けのものから趣味などでもよく使用される安価な3D CADでも昨今、STLが保存できないというものはほとんどないと言っても過言ではないでしょう。
 
3D CG系のソフトの場合には、元々データがポリゴンで作成されていることがほとんどのため(3D CGでもNURBSなどを扱うことができるものもあります)、モデリングした時のポリゴンがそのままSTLのメッシュになります。昨今は3D CGでもSTLファイルを保存できるものが多くなっていますが、STL形式で保存ができない場合でも、OBJ形式で保存ができれば多くの3Dプリンタのドライバーも受け付けるようになってきています。
 
ポリゴンの項で説明したようにSTLもポリゴンの一種で、形状をたくさんの三角形のメッシュで囲んで表現します。特に3Dプリンタで出力する上で大事なのは、必ずポリゴンで表現されている形は「閉じている」必要があるのです。
 
STLファイルの中身自体は、それほど複雑ではなく基本的には3つの頂点の座標と法線ベクトルで定義されるファセットが記述されています。色については例外がありますが、基本的には色やトポロジーは表現できず、また曲線や曲面も定義することができません。
 
STL形式では、メッシュの粗密が詳細な形状の表現の度合いに影響を与えます。平面などでは大きな三角形数枚で充分ですが、曲面や細かな形状では細かいポリゴンが多数ないとより正確な表現ができません。この例のようにドーム型の形状でも、粗いポリゴンの場合にはポリゴンの三角形が目立ってしまいますので、より曲面らしい形状が必要な場合には、ポリゴンを細かくする必要があります。ただし、細かくなればデータはどんどん重たくなります。複雑な形状の場合には、非力なPCではまともな操作ができなくなることもあるので、やたらに細かくすれば良いものではありません。必要な表現に合わせた適切な粗密の選択が必要です。 粗いSTLメッシュで表現された部品/非常に細かいSTLメッシュで表現された部品 典型的なSTLのエラーとしては、このように一部のメッシュが欠けて閉じた状態でなくなってしまった場合や、STLのメッシュの一部の裏と表がひっくり返ってしまった場合などがあります。
 
穴が開いているSTLメッシュ/一部がひっくり返ってしまったSTLメッシュ 通常3D CAD、特にソリッドモデラーで作成されたデータでは大きなエラーはあまり起きませんが、それでもちょっと無理をして作った形状や、複雑にいくつものフィーチャーを積み重ねてできた形状ではSTL変換時にエラーを起こすことがあります。
 
筆者の個人的な意見としては、大丈夫と思う場合においてもSTLの確認を行ったほうが良いと思っています。
 

profile_mizuno

水野 操
大手PLMベンダー、外資系コンサルティングファームにて自動車、総合家電メーカーの3D-CADやCAE、PLM導入に携わったほか、プロダクトマーケティングや新規事業開拓に従事。 2004年11月に有限会社ニコラデザイン・アンド・テクノロジーを起業し、代表取締役に就任。オリジナルブランドの製品を展開しているほか、マーケティングや3次元CADやデータ管理をはじめとするIT導入のコンサルティングを行っている。著書に『絵ときでわかる3次元CADの本』(日刊工業新聞社刊)他多数。また、専門誌やウェブメディアに連載多数。

3Dプリンタが分かる入門ガイドブックを無料ダウンロード

スゴさが分かる!3Dプリンタ入門

3Dプリンタについてさらに詳しく学べる
ホワイトペーパーをご用意いたしました。

Stratasys Ltd. © 2015. All rights reserved. See stratasys.com/legal for trademark information.