そのSTL、ちゃんと3Dプリントできる? ――「netfabb」による簡単なSTL修正:3次元って、面白っ! 〜操さんの3次元CAD考〜(33)(1/2 ページ)
見た目は問題なくても、3DプリントできないSTLができてしまうことがある。でも3次元CADには修正する手段がない……。それではどうしたらよいの? 今回は「netfabb」を使ったデータ修正について紹介する。
ようやく暖かくなってきましたね。そして相変わらず3次元データ関係のビジネスは幸いなことに熱が冷めないでいてくれているようです。2014年3月23日の3D-GAN事務局は大忙しでした。私を含めて2人は印刷博物館で親子セミナー、もう2人はイベントのパネリスト、そしてもう1人は事務局で3次元モデリング講座と目いっぱい動いていました。
さらに、これを機会に新たに業務の中で3次元データを生かせないかというご相談を継続的にいただいています。まだゆっくりですが、何か変わりつつあるんでしょうか。
最近、3Dプリンタが一層身近になってきたからこそ、相談を受ける話題があります。それが「STLファイルのエラー」です。これは、データを作る側もそうですが、データを受ける側にとっても悩みの種でしょう。当たり前ですが、STLの状態によっては3Dプリンタで出力できません。出力サービスを提供する側としても、そのような場合は「出力不可」ということで、発注者に戻すしか術がありません。
今回、MONOist主催「第1回 3Dモデリングコンテスト」の審査員をさせていただきましたが、投稿作品の中にもエラーが存在するモデルが思っていたよりもたくさんありました(関連記事:「グランプリの栄冠は誰の手に?――「第1回 3Dモデリングコンテスト」結果発表!」)。3Dプリンタでの出力まで考えた場合、STLのエラーをつぶして、初めてモデリングが完了したといえます。実はSTLの修正というのは、重要な意味を持っているといえるでしょう。
発注者としては、エラーがあれば修正する必要があるのですが、3次元CADでは基本的にSTLを操作できません。別途、STLデータの修正ツールが必要になります。よく知られているSTLチェックツールとしては「MiniMagics」があります。ただ、このツールの場合、チェックはできても修正ができないのでどうしようもありません。修正することを考えると、今のところ現実的なソリューションはそれほど多くはありません。「MoNoGon」を使用するか、あるいは「netfabb」(いろいろなバージョンがあります)を使用するかというところです。
このうち、本当に無料で対応可能なのは「netfabb Basic」くらいでしょうか。MoNoGonは有料ですが、「エラーがあったという時だけ」という場合に“1日ライセンス”が利用できるので、あまり頻繁にモデルを作らないのであれば、MoNoGonを使用するのもよいでしょう。何せ日本語ですし、STLの修正に特化しているだけに扱いは楽です。
ただし、「全てタダでやりたい」とか、「数万円なら払えるので、単なる修正以外にいろいろやりたい」ということであれば、無償のnetfabb Basic、もしくは必要に応じて有償のnetfabb Privateを使用するのが現実的な選択肢だと私は考えています。
netfabb Basicであれば無償なのに、「ボーダーエッジを閉じる」とか、「反転したパッチを戻す」などの基本的な作業ができます。特にソリッドモデラーでモデリングを進める場合には、あまり極端なエラーは起きない傾向にありますから、これだけでも十分かもしれません。
しかし、フィギュアなどを3次元CGでモデリングをする場合には、より複雑なエラーを修正する必要が出てくる傾向があるようです。MONOistのコンテストの投稿データの傾向でもそうでした。また、非常に細かい形状などがあると要素の数が多くなり、従ってデータの容量が大きくなることになります。つまり、ポリゴンのリダクションなどのオペレーションが求められたりします。そんな時に使用できるのが「netfabb Private」です。
netfabb Privateはオンラインで購入すると日本円にして3万円強ですが、かなり複雑なオペレーションも可能な優れモノです。netfabb Professionalと比較すると、「商用利用ができない」とか、「機能の数が少ない」とか制限はありますが、それでも個人がホビーユース中心で使用するには十分すぎるほどでしょう。
実際使ってみるとどんな感じでしょうか。ここでは筆者の環境の都合上、netfabb Privateを使用していますが、特に注記がなければ、その機能はnetfabb Basicでも使用可と考えてください。
この連載でも紹介した親子セミナーで使用するモデルの1つは3次元CADの「MoI 3D」で作りましたが、実はこれをそのままSTLにするとエラーがでてきます。
STLにエラーがある場合、読み込む際にこのようにびっくりマーク(!)が出てきて、データにエラーがあることが分かります。
実際、ボリュームが表示されていないので、モデル全体が閉じていないことが分かります。データ修正が必要なことが分かったので、「Repair」(修正)のメニューに進みます。
Repairメニューにはさまざまなものが用意されていますが、大掛かりなエラーでなければ、「Automatic Repair」(自動修正)を使用するのが簡単です。その中でも、「Default Repair」(デフォルト修正)でほとんどの場合に問題ありません。
青いモデルに黄色やオレンジ色の線が表示されていますが、これがエラーの出ている箇所です。また画面右側のダイアログにも「Border Edge」(境界のエッジ)で1048と示されていますので、問題のあるエッジがその数だけあるということになります。
Automatic Repairが適用された後にあらためて、モデルを確認すると先ほどまで表示されていたエラーの部分はなくなっていることが分かります。Border Edgeの数もゼロになっています。これで良さそうなので、「Apply Repair」(修正適用)し、最初のモデルは削除します。
びっくりマークもなくなって、ボリュームも表示されたので、モデル全体が閉じていることも分かります。
ちょっとしたエラーであれば、これだけで済んでしまうので作業は楽です。今回は、netfabb Privateを使用していますが、この機能はnetfabb Basicにも含まれているので無償でこれらの修正が可能です。
Copyright © ITmedia, Inc. All Rights Reserved.