CADデータのOBJ変換(FreeCAD)

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


私自身が3D-CADで仕事をしているCAD屋なので、どうにかして3D-CADのデータを
3D-CGで使用できないかと思い、変換の調査を行いました。
方向としては3D-CADからiges等で出力を行い、変換用ソフトでOBJファイルに変換します。

igesファイルやobjファイルについての説明は割愛します。

使用する変換用ソフトですが個人的な独学の為、出来る限り無償ソフトを使用します。
     ・・・調子にのって、光造形機(Form2)・22インチ液晶タブレット・ZBrushを購入してしまった為、資金がなくなりました ><
       ※そのうちそちらのレビューも行います。

変換できそうなソフトは色々あったのですが、ユーザー登録が不要とのことで、
FreeCADで変換を行ってみます。(そのうち他のソフトでも調査します)

FreeCADのインポート・エクスポート出来る拡張子は下記になります。
 手打ちだと打ち間違えそうでしたので、インポート・エクスポート画面をそのまま貼り付けました。一部青色になっておりますが,特に理由はありません。


無償にしてこの拡張子の数は圧巻ですね。私も驚きました。

操作方法は、
  移動 ・・・ 中央ボタン(スクロール)押しっぱなし。
  回転 ・・・ 中央ボタン(スクロール)押しっぱなし+右か左ボタン押しっぱなし。
  拡縮 ・・・ 中央ボタン(スクロール)押しっぱなし+右か左ボタンを1回だけ押す。

 おや、どこかできいたような・・・

作業はワークベンチを切り替えて行う。

 まさか・・・
FreeCADのワークベンチ

お気づき方は私と同じ3D-CADを使っていると思いますが、操作方法がCA○○Aですね。

モデルの背景色もそれっぽい

では、OBJでエクスポートを行いますが今回使用するデータは
100mm×100mm×100mmの立方体になります。
※私はFreeCADで直接作成しましたが、インポート拡張子にIGES・STEP等ありますので、
 そちらからの入力でも問題ないと思います。

OBJエクスポートですが、FreeCADは2種類のOBJ形式 (Alias Mesh・Wavefront OBJ)
で出力出来ます。
obj形式は2種類ある
両方のOBJ形式で出力して、テキストエディタで開いたのが下記になります。
   ※Windowsのメモ帳だと分かりにくいのでサクラエディタで表示しております。

AliasMeshで出力したOBJファイル

Wavefront OBJで出力したOBJファイル

簡単に中身を説明しますと、頭に「#」が付いている部分はコメントになりますので、
形状には関係ありません。

頭に「v」(vertex)が付いている行は頂点の位置になります。
  ※今回のデータは立方体ですので8行「v」があります。

頭に「f」(face)が付いている行は上から何番目の頂点を直線で結んで、
面を作成しているかを表しております。
  式: f (頂点番号)/(テクスチャー座標)/(法線ベクトル) ・・・ (一筆描きで面が出来るまで繰り返し)

  ※今回のデータには「/」がありませんので、テクスチャー座標と法線ベクトルは
   省略されております。


このデータを3D-CGソフトで開いてみます。
まずZBrushで読込み、寸法を見てみます。
※寸法確認に (株)翔泳社出版の「デジタル原型師養成講座」ダウンロードデータを
  使用させて頂きました。 【Amazonのページへ】


寸法は100mmでインポート

寸法は問題なさそうです。
次に、Blenderで面の形状を確認します。


Alias Mesh

Alias Meshでは三角形の面で作成されています。
 ※f行の数字が3つなのでも三角形だと判断できます。

Wavefront OBJ

Wavefront OBJでは四角形の面で作成されています。
 ※f行の数字が4つなのでも四角形だと判断できます。


この結果によりAlias Meshで変換すると自動的に三角形の面になることが分かります。
どちらの結果の方が良いのかは、私個人の展開になりますが三角形になるAlias Meshだと
思います。

理由は、直線3本で結ばれた面は必ず平面になりますが、直線4本だと平面にならない場合
がある為です。
直線4本だと、曲がった面も作成出来る

私はCAD屋なので、規制出来ない形状が苦手です。(笑)

-----------------------------------------------------------

次にFreeCADにはソリッドをメッシュに変換する機能がありますので、
先ほどの立方体をメッシュに変換してOBJエクスポートを行ってみます。


ワークベンチを Mesh Design にして
メッシュを作成

両方のOBJ形式で出力して、テキストエディタで開いてみました。

AliasMeshで出力したOBJファイル
Wavefront OBJで出力したOBJファイル
AliasMeshでは、ソリッドのときと同じく三角面で出力されたのに対して、Wavefront OBJは
何も出力出来ませんでした。
※予想ですが、メッシュ変換した時点で三角面で作成され出力できなくなったのだと思います。


AliasMeshでもソリッドからの変換と、メッシュからの変換を比べますと
違いがあることがわかります。


立方体だと、3D-CGソフトで見ても違いが分かりずらいので、次回は別の形状で
ソリッドとメッシュでの違いを記載していきます。

次のページ ⇒ ソリッドとメッシュのOBJ変換差異