3D CADデータとポリゴンのVGStudioMAXによる比較方法

たまたま仕事でレーザーによる3Dスキャンで作成したポリゴンデータ(STLファイル)とCADデータ(STEPファイル)を比較する機会があったので、その方法を書く。

データ処理にはVGStuidMAXっていう産業用CTのデータを扱うソフトを使う。(これは300-400万円くらいするので個人じゃ買えなさげ)

用意するもの

3D CADデータ
これは設計者がSolidworksなんかでモデリングしたノミナルの3Dデータ。これは実際には作ることが出来ない、いわゆるイデア的なものです。

ポリゴンデータ
3Dスキャナーなんかで読み取った点群データをSTLっていう形式で準備します。STLは3Dプリントするときのファイル形式でも使われます。その他、解析業務でもCADデータを一旦STLへ変換してからメッシュを作成するという手法をとります。

手順

おもむろにVGStudioMAXを起動する

読み込む Import: CADでCADデータをインポートする。オプションで拡張できるのかもしれないが、STEPとIGESが標準で対応している。たぶん。CADソフトでSTEP形式でエクスポートしておく必要がある。3D CADデータの標準化はカーネルレベルではだんだん統一されてきてる感じはあるけど、それでもまだまだ互換性の問題によるファイル受け渡しの問題は絶えない。

次にポリゴンデータを読み込む。今回はCADデータを先に読み込んだが、順番はどっちが先でもいい。
予め準備していたポリゴンデータを読み込む。

2つのデータを読み込んだら、オブジェクトの位置あわせをする。CADデータは出力時に座標を決めて出力できるが、ポリゴンデータは原点がどこだかわからないし、実際に作ったものというのは、厳密には面が歪んだししてるので、CADデータに向かってベストフィット機能を使って位置あわせするのだ。

これはガウスのなんちゃらでベストフィットするので、どちらを動かしたいのかだけ指定すれば(もちろんポリゴンデータを動かす)、システムが自動でベストな位置あわせをしてくれるという21世紀のテクノロジーなのだ。

ベストフィットが済んだら、設計値と測定値を比較するモジュールを使って、これまたワンクリックでCADデータとの比較を行ってくれる。比較結果はカラーで色分けされるので、ひと目見ただけで、CADデータに対してどこがどれくらい違うのかすぐにわかる。

CTデータ(X線で撮影した)を使っても、これはできるんだけど、アーティファクトととかいう大変厄介なX線の現象のために、等値面を作成するときに100μmレベルで余裕でずれちゃうので、やっぱりリバースエンジニアリングは3Dスキャナーに限るなーと思った今日このごろです。