3Dプリンター用のデータ作製注意点

3Dプリントに適さないデータとは
~どうしてこのデータは3Dプリントできないの?~

無料の3DCADや3Dプリンターの出力サービス等の技術が拡大しますますものづくりが身近になりました。自分で作製した3Dデータを3Dプリンターで出力するのはとても楽しい体験ですよね。しかし、データの出力をトライした際、機械側でエラーが起き読み込めなかった、造形に失敗した、もしくは出力サービスの担当者の人にエラーデータと言われ受け付けてもらえなかった等の経験ありませんでしょうか?ここでは3Dプリンターで造形物を出力する際に3起こりがちなデータのエラーの原因とその対応策について説明していきます。

データ変換によるエラー
~何故エラーが起こるの?~

3Dプリンタの共通フォーマットはSTLです。これは3Dデータとは?で説明した2つの表現方法の内の「座標」で表されたデータです。3Dプリンターでモデルを造形するにあたって、モデルデータを任意の方向でスライスし大量の断面を作成する必要があります。

造形するために3Dデータから断面を生成する

方向によっては複雑な形の断面ラインを大量に形成しないといけないため、座標で表現した方が処理速度上都合がいいのです。

形状と方向によっては複雑な断面ができる

そういった事情から、3Dプリンタを使用する際には座標の表現方法で構成されたデータを入力する必要があります。しかしユーザーの皆さんがいつでも座標の表現方法採用しているツールで3Dデータを作製している訳ではありません。特に3Dデータを使用するツールのシェアは8割3DCADです。3DCADのデータの持ち方は「関数」ですので、ここで3Dプリンタに3DCADのデータを入力するためにデータを変換(トランスレート)する必要が出てきます。その際にデータに問題が起こる事が多いです。これは一例ですがこのように、データの表現方法が作製しているツールの中では正しくても、外部のツールや機械に移行する際に問題が起こることが多々あり、それぞれの問題に対して対処しエラーのないプリンタビリティ(3Dプリントに適切な)データを作製する必要があります。

よく起こりがちな変換エラーの事例

~CAD→3Dプリンター編~

●サグ値設定ミス​

●どうして3Dプリンターで出力したモデルはガタガタになっちゃうの?

俗にいうミラーボール現象と呼ばれるものです。関数(NURBES)の滑らかな曲面で作成されたCADデータを座標の集まりである点群(小さな点々の集まり)に変換する際に起こります。イメージで言うと単純に面をクラッシュさせて点に置き換える訳です。その際CADデータに対して、どのくらいの細かさの砕くのかの指定を誤ると下図のミラーボールのようなカクカクとした形状で変換される場合があります。

●なぜガタガタになってしまう問題が起こるの?

前述した通り3Dプリンターに3Dデータを渡すためには3DCADデータ(関数)を3Dプリンタソフトが受け取れるポリゴン形式データ(座標)に変換して出力する必要があります。しかしデータの出力時に3DCADで出力されたポリゴンデータがCAD上に表示されることはありません。そのため設計者が出力されたポリゴンデータを確認しないまま製造者にデータを渡した場合、お互いの形状の認識に齟齬が生まれる場合があります。

●ミラーボール現象の修正方法は?

ほとんどの3DCADの「設定」でSTLを出力する際のサグ値(どれくらい細かい三角で出力するのか)を調整するオプションがあります。こちらを調整することによってミラーボール現象を回避することができます。

ソフトウェアの設定で指定する場合

メッシュ変換時に指定する場合

●ポリゴンへの変換はどのくらいの細かさ(サグ値)で設定したらいいの?

CAD側の設定で変換する際の三角形を細かくすればするほどきれいで滑らかな曲面を表現することが出来ます。しかし、一方でデータは重くなります。逆にポリゴンの数を抑えるとデータは軽くなりますが、形の再現性は低くなります。

その3Dデータに応じて適切な選択が必要となります。出力機器(3Dプリンタ)の積層ピッチより細かくしても意味がないので、機器の最小出力解像度を確認の上適切な設定を行ってください。

●ポリゴンエラー

●3Dデータにエラーがあるってどういう事?

CAD(関数)→ポリゴン(座標)の変換の際に、3D造形するにあたり不適切なポリゴンが生成されることがあります。これはソフトウェアのアルゴリズムが原因で起こってしまう場合があります。昔のCADは随分多発しておりましたが近年では随分軽減されました。しかし、バージョンの古いソフトウェアを使用していたり、最新のであっても3Dデータの形状によっては発生してしまう場合があります。

●3Dプリンターでの造形に不適切なポリゴンデータって?

代表的な不適切なポリゴンデータについて以下説明します。

【オープンエッジ】ポリゴンが一部欠落してデータが開いてしまっている状態

【隣接バットエッジ 】二つ以上の三角がエッジを共有してしまっている状態の三角形

【ノイズ】 空中に浮いてる面

【反転三角】  穴を埋めて一つのピースにした時に、 一つのソリッドとして考えてその中で三角の法線方向が反転している箇所

【重複三角】 同じポリゴンが重なっている

●どうやったらエラーポリゴンを修正できるの?

このようなポリゴン自体のエラーに関しては修正ソフトウェアが必要になります。

代表的なソフトウェアは以下となります。

1・日本ユニシス 「POLYGONNALmeister」https://www.excel.co.jp/polygon/

2・マテリアライズ 「Magics」
https://www.materialise.com/ja/software/magics

3・3Dsystems 「3Dsprint」
https://softwaresupport.3dsystems.com/knowledgebase/article/KA-03395/en-us

4・ Autodesk 「netfabb」
https://www.autodesk.com/products/netfabb/overview

※敬称略

~CG→3Dプリンター編~

●テクスチャ(バンプマップ)認識違い

●CGで作製した3Dデータを3Dプリンターで造形すると何故ディティールがなくなるの?

CGで作製した3Dデータでよくある問題点として、CGソフトウェアの画面上では綺麗に成立しているデータなのに、実際に3Dプリンターで造形するとガタガタしたり、表面に作製したディティールが失われデータとは似ても似つかないのっぺりとした造形物が出来てしまう・・等という問題が起こります。

デザイナーがCG上で見ている画像

実際に出力されたモデル

●どうしてCGで作製した3Dデータはうまく3Dプリンターで造形できないの?

CGソフトウェアの一番大きな目的は、画像やアニメーションを作成することにあります。アニメーションを作成するためにはデータ容量が軽くて、美しいモデルが適切です。その為、軽くて動きやすいガタガタ(ローポリゴン)なオブジェクトに美しい絵(テクスチャ)を貼り付けることによってそれを実現しています。

製造物を作成するための用途であるCADとデータの持ち方の「適切さ」が異なる為に、CG上では綺麗に表示されていますが、実際のオブジェクトとしてのデータはガタガタしている、もしくは細かいディティールがない(表面に絵で描いているだけで3Dデータとしては保持していない)可能性があり、それに気づかない認識の不一致にによるミスが起こりがちとなります。

●CGで作製した3Dデータをディテール細かく造形するには?

テクスチャで作製した表面のディティールは実際の3Dモデル(オブジェクト)には反映されていません。CGで作製した3Dデータの立体出力を望むならば、オブジェクトをOBJで出力しハイポリゴンのカービングモデラーソフトウェアに読み込みなおして実際にオブジェクトデータのポリゴンに対して凹凸を付けて下さい。表面のディティールを作製するハイポリゴンモデリングソフト一覧はこちら

●ブーリアン問題

●CG上では見た限りは題ないのに何故かエラーになって3Dプリンターに読み込めない・・

画面上問題なく立体になっているはずなのに、3Dプリンターのクライアントソフト(制御ソフト)に読み込むとエラーになる、造形サービスがエラーデータで申し込みできない、もしくは造形してもボロボロになってしまう。こういった場合、確認してもらいたいのが果たしてそれが一つのソリッド(立体の塊)になっているかどうかです。

デザイナーがCG上で見ている画像

実際にモデルが別のパーツなっている

●どうしたら多数パーツの問題を修正できるの?

3Dプリントするためには物理的に存在するために問題がないひとつのパーツ(シェル)になっている必要があります。3Dデータを上から見た時の形状(表面)を認識する切削加工と違い、3Dプリンタは3Dデータの断面(スライス)を認識します。そのため質量をもったモデル同士が重なり合っているという物理的にあり得ないものを断面をエラーとしてみなします。そのため2つ以上の部品が交差しているような場合は必ず部品同士を合成(ブーリアン演算)し、ひとつのパーツにする必要があります。また、形状の表面が複雑すぎて交差してしまっているような状態のデータも造形することができませんので修正が必要です。

この問題はCGユーザの方だけではなくCADユーザの方で普段機械加工にて部品を作製されいる方にも多く起こります。工作機械は上から削っていくため制御ソフトは機械の表面しか見ません。その為部品同士が交差していても問題なく加工できるのです。その為CADユーザーの方でも加工を依頼する際のデータと同じように部品が交差したまま出力して3Dプリンターへ入力し、エラーデータとして造形できない事例も多くみられますので注意が必要です。

1つのパーツ

バラバラのパーツ

交差

●沢山のパーツで作製された3Dデータで見過ごされがちな問題について

部品Aと部品Bは交差していません。めり込んでいない状態です。お互いの側面にピッタリ合っています。問題ないようにみえますよね。

隣接した部品の面同士がピッタリ0㎜で合っている状態は、交差せずにくっついている状態なので、合成をしなくていいと考えがちです。しかし下図左側を見てください。部品Aも部品Bもお互い面を持っているので、それらが0㎜の距離で設置している場合、お互いの面が交差している状態になります。これは物理的ありません。下図右側のように0距離で接地している部品の場合も合成の処理を行い、お互い設定している面が消失している状態が、エラーのない造形に適した状態です。

●ソリッド(立体)問題

●厚みのない3Dデータって?

CGは物理的に存在できるかどうかの観点でモデルを作成しませんので、まつげ、髪の毛、服などを1枚のテクスチャで表現することが多いです。また建築モデルで多いのは既に作製した立体データの上に色付けや素材の定義の為に厚み0のサーフェス(面)を重ねるなどもよくあります(多重サーフフェス)。そのためそのままデータを出力しようとすると、厚みが0である以上物理的に存在できないために、3Dプリンターで出力できないエラーデータとして認識され造形できない、もしくは造形されたとしてもボロボロの造形物になってしまいます。

厚み

●どういうモデリングが必要なの?

3Dプリンターで造形しようと思ったら必ずソリッド(立体)データにする必要があります。こういった3Dプリンターで出力することを前提としてモデリングすることをプリンタビリティなモデリングといいます。ここで一番大事なことはCGの「正しさ」はあくまで「早く、美しく、軽いデータを作製する事」です。画面から出力する必要がないオブジェクトに対して全てに物理的に成立できるように意識して厚みと素材限界を考慮し、交差する部品やサーフェスを排除しながらモデルを造る・・等時間がかかりすぎでナンセンスです。大事なことは、サーフェスのデータが悪いわけではなく、あくまで立体的に造形する必要がある場合にのみそうしなければならないという事です。一番重要なことはオブジェクトが最終的に何に使用されるのかを意識したデータ作製を行うことで効率的に最大限に3Dデータを活用できるという事です。

● カラー造形について~OBJとPLYの色情報の持ち方~

●3Dデータの色情報が消える、もしくは造形物が全然違う色になってしまうのは何故?

カラーの3Dプリンターで色つきのカラーの3Dデータを造形しようとした時に、色の情報が消えてしまった状態や指定した色とは全然色が異なったものが造形されてしまうなどという事がしばしば起こります。

●カラーの3Dデータの色の持ち方は2種類ある

3Dデータの色の持ち方は

①オブジェクト(3Dデータ)+テクスチャ(色)

②オブジェクト頂点色(3Dデータのポリゴン一つ一つに色情報をもっている)

の2種類あります。

①オブジェクト(3Dデータ)+テクスチャ(色)

②オブジェクト頂点色(3Dデータのポリゴン一つ一つに色情報をもっている)

①のデータですが、3Dプリンターで出力するためには①Objか、wrlファイル等で出力します。①のデータの持ち方のメリットは美しい絵の情報をそのままオブジェクトに展開できるという事です。オブジェクトのポリゴンの解像度(数)と関係なく色の解像度を上げることができます(もちろん出力する3Dプリンターの色の解像度を超える詳細度で作製しても意味はありませんが)。そしてほぼ全てのCGでこの色情報の持ち方が採用されています。デメリットは、テクスチャの色情報はそれぞれのソフトウェアでそのデータの表現が若干異なる為、オブジェクトとテクスチャがズレてしまう、テクスチャの色解釈がソフトによって異なるなどのデータ互換によるエラーが起こりやすく安定性に欠けるという事が言えます。例えば別のブラウザ(例えばGoogle ChromeとIE等)で同じWEBページを見たときにレイアウトが異なったり崩れたりしてしまう現象と似ています。

また、3Dプリンターのクライアントソフト(制御ソフト)での色情報の読み込みエラーとして多く起こる事として9テクスチャとオブジェクトが別ファイルで保存されている場合、同フォルダ上に同名でobjファイルと画像ファイル(Jpegやbmp)とマテリアルファイル(mtl等)があることを確認ください。ファイル名とフォルダの名前が違うと色情報が読み込めません。色情報が3Dプリンターのクライアントソフトに読み込まれない際はまずはこちらを確認ください。

②のデータを3Dプリンターで出力するためにはPLYファイルで出力します。①のメリットとしては3Dプリンターで出力するにあたって一番色情報が安定しており、ソフトウェア間や機械間で色が変わったり消えたりすることがありません。デメリットとしてはポリゴンの一つ一つに色を持たせる性質上、ポリゴンの大きさにカラーの解像度が左右されます。つまり色を綺麗に出したいならポリゴンを細かくするしかない為データ容量が重くなる傾向にあります。その為3Dスキャナのデータ処理ソフトウェアに採用される色情報の持ち方になります。

使用しているソフトウェアにPlyのファイルの出力がなく色データを安定させるため②のデータの持ち方を①に変換させたい場合、もしくは詳細な色情報を保ちつつデータ容量を軽くしたいために①を②に変換したい場合、3Dスキャナのデータ処理ソフトウェアやSTL編集ツールなどでテクスチャ⇔頂点色の相互変換を行い、その後出力する等の工夫が必要となります。

①⇔②の変換が行えるソフトウェアはこちら

~CTデータ→3Dプリンター編~

●中空ノイズエラーについて

●3Dデータの色情報が消える、もしくは造形物が全然違う色になってしまうのは何故?

●カラーの3Dデータの色の持ち方は2種類ある

CTから3Dプリンターへデータ出力する際に良く起こるエラーとして、中空にとても小さなパーツが生成されてしまうという事があります。

このような小さなパーツが中空にあるとそれを支えるためにサポート材を沢山使用しないといけず材料費用が非常に高くなったり、また材料がパウダー系の3Dプリンターの場合は小さなパーツをパウダーの中から取り切れずに次の造形の際にそれにヘッドがぶつかって故障したりしてしまう等のトラブルが起こります。CTやMRIのような断面画像から3Dデータを作製する場合画像の閾値の断面を繋ぐ手法にて立体化します。その特性上どうしても中空に浮いた細かいパーツ生成します。また、神経や血管、海綿体などの部分は細すぎて造型できても折れてしまう等の事がおこりますので、空中に浮かんでしまっている箇所の削除、もしくは折れそうな部分の厚み付けなどの工夫を行う必要があります。

STLを直接編集するソフトウェアはこちら

~3Dスキャナ→3Dプリンター編~

●穴開きデータ問題

●3Dスキャンデータが立体データとして認識されない

3Dスキャナから3Dプリンターへデータ出力する際に良く起こるエラーとして、穴が開いていてソリッド(立体)状態ではないと認識されて3Dプリンターのクライアントソフト(制御ソフト)に読んだ際にエラーとしてみなされる、もしくは造形されないということがあげられます。3Dスキャナはカメラで見えている部位しかデータを取得することができません。よって深い穴やアンダーカットになってしまっている部分は穴を埋めて、完全なソリッド(立体)にする必要があります。

また、3Dスキャナーは対象物を全てスキャンできるとは限りません。3Dスキャナー本体に付属しているクライアントソフト(制御ソフト)の穴埋め機能はデータを取得できなかったところを無理やり埋めてとりあえずソリッド(立体)にする機能だけしかついておらず、対象物の形状を完璧に補完するには不十分である可能性が高いです。3Dスキャンデータを直接編集できるソフトウェアはこちら

このような小さなパーツが中空にあるとそれを支えるためにサポート材を沢山使用しないといけず材料費用が非常に高くなったり、また材料がパウダー系の3Dプリンターの場合は小さなパーツをパウダーの中から取り切れずに次の造形の際にそれにヘッドがぶつかって故障したりしてしまう等のトラブルが起こります。CTやMRIのような断面画像から3Dデータを作製する場合画像の閾値の断面を繋ぐ手法にて立体化します。その特性上どうしても中空に浮いた細かいパーツ生成します。また、神経や血管、海綿体などの部分は細すぎて造型できても折れてしまう等の事がおこりますので、空中に浮かんでしまっている箇所の削除、もしくは折れそうな部分の厚み付けなどの工夫を行う必要があります。

STLを直接編集するソフトウェアはこちら

物理的な制限による造形不良について

3Dプリンターには様々な材料と造形方法があります。3Dプリンターの特性によってはデータ通りに造型出来ない場合が在ります。それぞれの機器の特性を理解し、以下のことを考慮してプリンタビリティなモデリングを行いましょう。

  1. 造型機の出力精度以上微小形状は避ける
  2. 薄板、細長い形状に配慮する
  3. 重力や圧に配慮する
  4. 造形エリアを意識する
  5. 勘合部分のトレランスを考量する

1.造型機の出力精度以上微小形状は避ける

3Dプリンターの仕様や素材によって、造形できる細かさには限界があります。積層ピッチ以下の微細なモデリングをしても3Dプリンターには反映されません。3Dプリンターの精度に合わせて、モデリングの精度を最初からコントロールすることで無駄なモデリング時間を短縮でき、開発から製品化までの工数を削減することができます。また、建築物や仏像等の元々大きかった物をスケールダウンして造形をする様な場合は特に注意が必要です。元々がとても大きなものなので3Dプリンタの造形エリアに収まるように縮小をかけると壁などが薄くなりすぎて造形できない事が起こります。単純にスケールダウンするだけでは上手くいかないこともあるので注意が必要です。

2.薄板、細長い形状に配慮する

3Dプリンターの造型材料には様々なものがあります。素材の特性、例えば石膏等の強度が弱い材料は脆いので、薄い壁などはこわれやすいです。また強度やじん性のある樹脂等でも、細くて長いと折れる場合があります。

3. 重力や圧に配慮する

3Dプリンタの積層ピッチ(積み上げていく際の厚み)が造形できる最小の細さや厚みではありません。機器や材料によって、最小造形値(これ以上薄かったり細いと壊れてしまう値)があります。また機器の最小造形値を守っているから全てが造形できるとは限りません。造形物の形状や大きさによっても最適な厚み、細さが変わります。基本的に大きくなるほど重力の影響を受けるので必要な造形最小値が大きくなります。

4. 造形エリアを意識する

3Dプリンターの機種によって、造形できるサイズが違います。出力する3Dプリンターが出力できる最大サイズを把握する必要があります。作成するデータが造形エリアよりも大きい場合は、あらかじめ分割することを考える必要があります。造形後に部品を組み立てることを考えモデリングを行いましょう。

5. 勘合部分のトレランスを考量する

機能試験や勘合の検証の為、パーツごとに出力する場合、組み付け易いパーツ分割になるように考慮しましょう。部品同士の組み付けがある場合は注意が必要です。3Dプリンターは3DCADで作成した値でそのまま出力されます。ぴったりの寸法で作成すると3Dプリンタの精度や素材の膨張/収縮等の影響で部品同士が嵌りません。

必ずクリアランス(隙間)を設定しましょう。特にNC加工、工作機械で試作部品を作製されている設計者の方は基本的にトレランス0(ピッタリ隙間なくデータを作製する)でデータを作製されていると思います。加工の場合図面にクリアランス記載していれば加工の作業者の方が調整してくれますが、3Dプリンターの場合は機械にかけたデータのそのままの形で造形されます。機械のオペレータが調整することは不可能です。普段機械加工にて部品を製作されている方はご注意ください。

また、このクリアランスは3Dプリンターの機種、マテリアルの物性値による収縮率によって変わるので都度微調整が必要となります。ネジ穴も同様にクリアランスが必要となります。

PAGE TOP