2018年2月17日土曜日

いろいろな形式のファイル(3)

その他のファイル形式

前回、AutoCADが対応していないのは、STL、SKP、IFC、RVM、VRMLと述べましたが、これらのファイルはどうしたらいいでしょうか?(SKP-スケッチアップはRevitで直接読み込めるので除外します。)

STL

STL→コンバータ→DXF

AutoCADではSTL形式のファイルを読み込むことができません。STLはいろいろなフリーの変換ソフトがありますが、以下のサイトを使ってDXFに変換するとよいでしょう。

CAD FORUM STLtoDXF Converter

たとえば、Thingiverseで取得した下のようなSTLファイルを、
STLファイル
上記サイトで変換し、DXFにしてRevitに取り込むと下の図のようにキレイに取り込めます。
Revitのファミリに取り込んだSTLを変換したDXFファイル

PCで変換する場合

Webにデータを出したくない場合は、PCで変換しなければなりません。ライノセラスがあればベスト(ライノセラスが読み込めるファイル形式はこちら)ですが、ない場合はNavisworksを使う方法もあります。

STL→Navsiworks-FBX→AutoCAD→DWG→REVIT

NavisworksでSTLファイルを読み込んでFBXに出力し、AutoCADでFBXを読んでDWGを出力します。

無償ソフトでなんとかならないか?

そうはいってもライノセラスもNavisもないという場合は、無償ソフトでなんとか変換したいところです。ところがSTLをDXFにするというフリーのソフトは意外に見つかりません。そこで、次のフリーソフトを使って変換を試みます。
Blenderは非常に優れたCG作成ソフトウェアで、あの3dsMaxにも比肩する機能がありながら完全無償かつ商用利用OK、さらに日本語対応というすばらしいソフトウェアです。3Dデータを扱う以上は入れておきたいソフトの一つです。

またFBX ConverterはAutodesk謹製のFBXファイルをOBJ、COLLADA、DXFに変換するコンバータでこれまた無償です。

この方法のメリットは、単にSTLをDXFに変換するだけではなく、Blenderでポリゴン数を削減したうえでDXFに変換することができることです。

Blenderを日本語表示に


  1. Blenderを起動
  2. [File]>[User Preferences...]で[System]を選択
  3. 右下のチェックボックス[International Font]をチェック。
    system-international font
  4. 言語に[日本語]を選択し、翻訳はすべて選択する。
  5. [ユーザー設定の保存]を押して、右上の×でウィンドゥを閉じる。

BlenderでSTLを読む

  1. 右クリックで要素を選択できます。中央の立方体を選択し、Deleteキーを押して削除します。
  2. [ファイル]>[インポート]>[STL]でファイルを指定して読み込みます。
    STLファイルを読み込む
  3. カメラの回転はホイールを押す、カメラの移動は[SHIFT]+ホイールです。
    Blenderに取り込んだSTL

Blenderでポリゴン数を削減する

  1. 要素を右クリックで選択
  2. 右側のパネルで[モディファイヤ]を選択し、生成から[ポリゴン数削減]を選択
    ポリゴン削減
  3. [比率]バーの上をドラッグ、あるいは数値を入力し、形状が崩れない程度にポリゴン数を削減する。(わりと思い切って減らしても形状はそれほどかわらないことが多いようです。)
    三角メッシュ(ポリゴン)を削減
Revitは基本的にSOLIDモデラーなので、メッシュのポリゴン数が多すぎると、どうしてもパフォーマンスが落ちます。必要以上のポリゴンは削減しておくべきでしょう。

BlenderからFBXを作成

[ファイル]>[エクスポート]>[FBX]でファイル名を指定して[FBXをエクスポート]

FBX Converter でDXFを作成

AutoCADがあれば、ここでFBXをAutoCADでIMPORTしてDWGに変換すればよいです。今回はあえてAutoCADを使用せず、FBX Converterを使ってみます。
  1. FBXコンバータを起動。
  2. 左側の[Add]を押して、作成したFBXファイルを指定。
    AddでFBXを追加
  3. 右側の[Destination Format]を「DXF」にする。
  4. [Triangulate]と[deformation]をオフにする。
  5. [Convert]
    Convert
  6. 同じフォルダにDXFファイルが作成される。

Revitに取り込む

作成したDXFをRevitのファミリに取り込みます。CG系のシステムはZ方向がRevitのY方向になっているので、回転が必要です。取り込んだ結果は下のようになります。
ポリゴン削減して取り込んだメッシュ要素
形状としては大きな問題がない程度に簡略化されています。
メッシュ(ポリゴン)の数は、できるだけ削減しておいたほうがパフォーマンスは向上します。