CADデータのOBJ変換(MeshLab)

【注】 ここの内容は、私が独自に調べた内容を覚え書きとして記載しており、ページ内の内容を使用したことによる損害等がありましても、保証はしておりません。そのこと踏まえて何かしら役に立つのでしたら幸いです。

前回FreeCADを使用した変換を書きましたが、この手法だと面方向が指定されない為、3D-CGソフトで変換すると面が反転している場合があります。
3DCGソフト側でも修復できるのですが、変換時に面方向の指定されている拡張子がないかCADのアウトプットを確認しました。

下記の画像は、SolidWorks2016(standard),CATIA V5 R22 (HD2パッケージ)の拡張子になります。
SolidWorks2016(standard)
,CATIA V5 R22 (HD2パッケージ)
この中で使えそうなフォーマットで考えてみますと、3DCGフォーマットのVRML(拡張子.wrl) がありましたのでこちらを使ってみます。

FrssCADではVRML(wrl)を読み込めないので、今回はMeshLabを使用してobjに変換します。

wrlをCADで出力する前にCADで出力オプションを確認しますと、VRML1.0とVRML97の2種類があります。
SolidWorksのVRMLオプション
CATIA V5のVRMLオプション
何が違うのかをWikiで確認しますと、VRML97は国際標準規格(ISO)で認可された規格でVRML1.0はそれ以前の規格のようです。

SolidWorksで100mm立方体を作成し、出力してみます。
VRML1.0と比べるとVRML97では項目が増えております。

ここでVRML97側の22~24行目を見て頂きたいのですが、point(点位置)が0.05になっております。
記載の中には単位がありませんので、このまま使用しますと0.1mm立方体になってしまいます。

もう一度、CADの出力オプションを確認してみますと
単位の欄があります。 VRMLで出力する場合は、実際の寸法ではなく指定した単位で出力されるようです。
※余談ですが、CATIAでは単位を変更しても出力されるデータに変化はありませんでした。こちらに関しては理由が判明し次第、追記致します。

ここから先はMeshLabを使っていきます。

まずMeshLabでVRML1.0を読み込んでみます。
・・・読み込めませんでした。

次にVRML97を読み込んでみます。
無事読み込むことが出来ました。

立方体だと面の情報が少ないので別のデータも読み込んでみます。
問題なく読み込めます。

このデータをobjファイルに変換し、ZBrushで読み込んでみます。

面方向も揃っています。

CATIAの場合は、スケール変更がうまくいかなかったので暫定的な手法としてMeshlabでスケールを変えることによって対応することが出来ます。