POLYGONALmeister によるポリゴン修正と3Dプリント体験

3Dプリンターの高性能化、低価格化が進み、活用の幅も大きく広がっています。そこで、今回は、教育やプレゼンテーション、解析結果の認識などでの利用を目的に、AVS/Express上で可視化した結果を3Dプリントしてみました。

AVS/Express上で可視化した結果を 3D プリンタを利用して造形するには、いくつかの手順が必要です。
まず、等値面やメッシュによる可視化結果を STL や PLY 形状フォーマットに出力します。データによっては、隙間や穴埋め、また、面の表裏の反転、微小ポリゴンの削除なども必要です。
今回は、AVS/Express の出力結果に対して、ポリゴン編集ツールにPOLYGONALmeisterを使用し、その編集後、3Dプリントを行ってみました。

使用したソフトウェアと3Dプリントサービス

以下のソフトウェアとサービスを利用しています。

  • AVS/Express 8.4 ベータ版 *1)
  • ポリゴンデータ編集ツール POLYGONALmeister *2)
  • DMM.com 3Dプリントサービス *3)

*1) 次期バージョンでサポート予定の Write PLY モジュールを利用
  AVS/Express 保守ユーザーで、8.4 のリリース前に試してみたい方は、
  サポート窓口までお問い合わせください。
*2) 日本ユニシス・エクセリューションズ株式会社で開発、販売されている
  ポリゴン編集ツール
  http://www.excel.co.jp/polygon/
*3) http://make.dmm.com/

使用したデータ

今回は2つのデータを利用して試してみました。

① 国土地理院 5m 標高メッシュデータ
  ※ 地図の表示には、AVS/Express 地図オプションを利用しています。
    国土地理院長の承認を得て、同院発行の基盤地図情報を使用しています。
    (承認番号 平27情使、第6号)

 ② 衝突解析結果の一部タイヤ部分を抜き出したデータ

まず、富士山周辺の 5m 標高メッシュに対して、高さ方向に凹凸をつけて表現した3次元データを利用しました。 下図に示すように、5m メッシュは全国すべてに対応していないため、一部欠落部分があります。 今回は POLYGONALmeister のポリゴン編集機能を評価するために、あえて、欠落データのまま利用しています。 (10m 標高では欠落はありません)


図 2 富士山標高データ(5m)

2つ目のデータは、衝突解析結果の中からタイヤ部分のみを抽出したデータです。 こちらも、本来は車全体をプリントしたいのですが、このデータは部品が膨大で、また、ほとんどが シェル要素で厚みがないため、もともと3Dプリントには向いていません。 そこで、今回は、評価体験用に、一部分だけを抜き出してみました。


図 3 衝突解析の一部分データ(タイヤ形状)

AVS/Expressからの形状出力

まず、AVS/Express で可視化した結果を形状データとしてファイルに保存します。 面データを形状に保存するには、Write_STL モジュールやWrite_PLY モジュール(次期バージョン 8.4で サポート予定)を利用します。

下図の例では、地図オプションで作成した標高データ(を一時的に HDF5ファイルに保存したもの)に対して、 surf_plotモジュールで凹凸をつけています。また、直接標高データをそのまま接続することで底面を作成して います。その2つをマージし、Write_STLモジュールを使って、STLファイルに出力します。


図 4 形状ファイルへの出力

また、次の図は、タイヤ部分を抽出し、保存した際のネットワークです。 crop_orthobox モジュールで車全体からタイヤ部分を抽出しています。 また、external_faces モジュールで外形面を作成し、先の例と同様に Write_STL モジュールで出力しています。


図 5 タイヤ部分の抽出と保存

※ 頂点の色を出力するには、8.4でサポート予定の Write_PLY モジュールを利用します。 要素の色についても 8.4 の Write_STLモジュールでサポート予定です。

POLYGONALmeisterによるポリゴン編集(富士山)

作成したSTLやPLYファイルをPOLYGONALmeisterを使って、編集します。 POLYGONALmeisterでは、エッジの自動認識や穴の自動認識が行われます。 以下の図に、1つ目の富士山データを表示した例を示します。
残念ながら、図中のコメントに記すように、このデータでは、欠落部が面でつながっているため、その部分は エッジとして認識されません(エッジではないのであたり前ですが)。 POLYGONALmeister にはデフィーチャーというある領域を囲んで、周囲から面を延長して穴埋めする機能も あるのですが、この例では、角の部分がつながっているため埋めることができず、断念しました。


図 6 1つ目の富士山データ

そこで、エッジとして認識させるために、予め AVS/Express 上で欠落部の面のつながりを削除したデータを 作成しました(AVS/Express 上で null 値指定と thresh_null モジュールを使って削除)。

欠落部を削除したら、すべてがエッジとして認識されるため、そのエッジをマウスで選択しながら、穴埋めを行うことができます。 例えば、部分穴埋め機能を使うと、端点を選ぶことで、そこからつながった部分を穴埋めできます。 例えば、下図のコの字部分の端点の2点を選択すると、緑部分が穴埋め対象となり、ここに面を生成できます。


図 7 部分穴埋め機能

その他、橋掛け穴埋め機能では、点と点やエッジとエッジを選ぶことで、その間に橋を掛けることができます。 下図では、富士山頂上周辺の2つのエッジを選んで、橋をかけた様子を示しています。 図中のコメントに示すように、いくつか橋を掛けながら、穴埋め(自動で穴埋め可能)することで、図右下のように、上面の穴をすべて埋めることができました。


図 8 橋掛け穴埋め機能

最終的に完成した富士山を以下に示します。


図 9 穴埋めを完成させた様子

作業時間は初めて操作した初心者でも、約1時間半程度でした。メニューが直感的なため、マニュアルを見ずに作業できます。

以下、作業環境に関する情報です。

  • データサイズ
      フェイス面 :2,435,488
      頂点数 :1,220,940
  • テストマシン
      Intel Core2 Duo E7400 @2.8GHz
      Windows 7 64bit
      8GB メモリ
      nVidia Quadro FX 580 (ビデオメモリ 512MB)
  • 作業中の使用メモリ
      約4.5 Gbyte
  • POLYGONALmeisterによるポリゴン編集(タイヤ部品)

    同様に、タイヤ部品についても穴埋め作業を行ってみました。 まずは、抽出した際に出た余分な部分を削除します。それぞれシェルとして認識されているため、画面上でピックしながら削除できます。 また、穴埋めについても、ホィールの並んだ穴などは自動検出され、一括で穴埋め可能です。


    図 10 タイヤ部品の穴埋め

    その他、デフィーチャーという機能を利用すると、下図のような穴埋めも可能です。


    図 11 デフィーチャーによる穴埋め

    ほとんどの穴を埋めることはできましたが、以下の隙間だけは残念ながら埋めることができませんでした。 先の富士山の1つ目のデータと同様、エッジではないため、橋掛けなども利用できません。 例えば、カットなどを行い、エッジとして認識させるなどの工夫をすれば埋めることができそうでしたが、今回は行いませんでした。


    図 12 エッジ以外の隙間

    このデータは面の表裏や微小ポリゴンの重なりなども含まれていたため、クリーニングも行いました。 POLYGONALmeisterには、表裏、折りたたみ、重なりなどを自動検出、修正するクリーニング機能もあります。 最終的に作成したタイヤを以下に示します。


    図 13 タイヤ部品の完成

    3Dプリント

    修正したデータをSTLに保存し、実際に 3D プリントサービスを使って、成型してみました。 残念ながら、POLYGONALmeister では、色情報を扱うことができません。 そこで、今回は、AVS/Express に再度データを戻し、色づけしました。
    具体的には、AVS/Express の scatter_to_unif モジュールで、元データからメッシュデータの各頂点に色を補間します。次に、interp_data モジュールを使い、そのメッシュデータの頂点から修正後の形状に色づけしました。 その他、最後に coordinate_math モジュールで大きさを調整し、PLY ファイルに再度、保存しました。


    図 14 AVS/Express 上での色づけ

    この保存したファイルを今回は DMM.com の 3D プリントサービスを使って、Webページからデータをアップロード、プリント注文しました。 約1週間から10日くらいで、プリントできます。金額は材料(樹脂のタイプなど)と大きさ(量)によって決まるようで、富士山の例では、3cm ~ 4cm くらいの大きさの石膏フルカラーで 約1800円でした。(下図のタイヤはナイロン樹脂を利用で1200円くらい)


    図 15 DMM.comによるプリント

    最後に

    AVS/Expressで可視化した可視化結果を POLYGONALmeisterポリゴン編集ツールで編集し、3Dプリントを行ってみました。 POLYGONALmeisterについては、まず、使い方が簡単です。また、ある程度大きなデータでも、ストレス少なく操作できます。例えば、富士山データは某フリーソフトではすぐにクラッシュし、操作できませんでした。 残念な点としては、大きさの調整(座標の変換)、シェルの厚み付けなどの機能がありませんでした。ただ、これらの機能は、今後のバージョンアップで強化が検討されているとのことです。 また、本文中に述べたエッジ以外の隙間の穴埋めや色情報の扱いなどについても、更なるバージョンアップに期待したいと思います。 その他、同ソフトには、今回紹介しなかったリダクションやスムージング、リメッシュなどの機能もあります。 ポリゴン編集ツールをお探しの方は試してみられてはいかがでしょうか?

    ※ POLYGONALmeister について
      http://www.excel.co.jp/polygon/

    ※ 本評価は、VCADシステム研究会 ポリゴンエンジニアリング分科会の活動の一環として行ったものです。
      http://www.vcadcc.jp/activity_sub.html

    サイバネットシステム(株)ビジュアリゼーション部
    2016/10/14

    協力:VCADシステム研究会 ポリゴンエンジニアリング分科会
    日本ユニシス・エクセリューションズ株式会社