先日3DDXFのインポートマクロを作ったのですが、座標値さえ取れて
しまえば、STLやOBJでも同じようにインポートさせる事は可能なの
だろう と思っているのですが、本音で言えばサーフェスでは要らない
です。
恐らく "ライセンスは無いがCATIAでSTLを表示させたい、CGR辺りで "
と言う需要はあるような気がしてます。
うちはHD2パッケージしかないので、当然ライセンスがないです。
CATIA V5 価格(キャティア ブイファイブ 価格)|3DCAD(3次元設計)|CAD Japan.com
HD2だって結構なお値段するんですけどね。
(僕の乗っている車より、遥かに高いです)
CATIAでポリゴンっぽいものを読み込めるのは、CATProductで
VRML(.wrl )フォーマットがあります。
STL→VRMLで変換できる、オープンソースソフト "MeshLab" を利用
すれば出来そうだな と挑戦してみました。
MeshLab
- まず手頃なSTLデータですが、プロフィールの所にあるこの子にします。
CADデータな為、一旦STLでエクスポート。
- MeshLabを起動して "Inport Mesh" で取り込みます。
- STLなので色が抜けます。 ・・・かわいくないです。
- "Export Mesh As" を選択し "VRML File Format" に切り替え
"Save" を押します。
- すぐにはエクスポートされず、もう一つダイアログが出てくるので
"OK" を押します。
- CATIA側のCATProductで、先程のVRMLを取り込もうとしたの
ですが、処理が一向に進まない。(強制的に終了させました)
甘かった・・・でも何故?
VRMLは1.0と2.0があるようなのですが、試しにCATIAでエクスポートした
ものも、MeshLabでエクスポートしたものも両方2.0。
※当方CATIA V5-6R2012(64bit) と MeshLab1.3.1(32bit)で試しました。
改行コードが異なっていたので、合わせてみましたがやっぱりNG。
色々と試しているうちに判りました。
- MeshLabで一度VRML以外でエクスポートします。
(自分はOBJで行いましたが、他のフォーマットでも大丈夫ではない
かと思います)
- 面倒なのですが、エクスポートしたファイルを再度インポートします。
- このデータを再度VRMLでエクスポートします。
実は "Save" を押した後に出てくるダイアログの状態が若干違います。
"Color" 部分がグレーアウトしている状態では、CATIA側では
取り込まないようです。
- この時点で取り込める事は判っていたのですが、まだ罠が待って
いました。
CATIAでエクスポートしたVRMLを取り込みます。
(お腹の辺りにカーソルを持っていったため、メッシュっぽさが確認
できると思います)
- 続いてMeshLabでエクスポートしたVRMLを取り込みました。
ん?何かが変?
えらく成長してました。
- 大まかにサイズを確認してみると、元は27mm程で
成長後は27000mm程
MeshLabとCATIAは、単位が違うんですね。
インチじゃなかっただけ、良かったです。
- MeshLabで1/1000にします。
"Filters" - "Normals,~" - "Transform: Scale"の
各軸を "0.001" にし "Apply" です。
- 小さすぎて消えたみたいになってしまいますが、表示を
マッチさせる操作がわかりませんでした・・・。
- 後は先程と同様の操作で取り込みます。
ご覧の通り一致しましたが、何だかちょっとかわいそうな
気分に・・・。
・並べるとこんな感じです。
左からCATIAエクスポート、MeshLabエクスポート(色なし)、
MeshLabエクスポート(色有り)
色有りだと日焼け具合が半端ないです。
MeshLabで色が塗れるのですが、テクスチャのためかCATIAでは
入ってきませんでした。
- MeshLabは、DXFでエクスポート出来たので、昨日のマクロを
試しました。
素直に、止めておけば良かったです・・・。
取り込めた以上、もちろん干渉チェックも可能です。
VRMLとして取り込めたら、CGRとして保存できます。
そちらの方が扱いやすいのではないかな?と思います。
偶々CATIAからのエクスポートだった事が原因かな?とも思い、
念の為こちらのIgesとSTLで行いましたが、やはり同様でした。
GrabCAD - CAD library
(IgesとSTLの原点が異なるような気がします)
要点をまとめると
MeshLabで直接STL→VRMLしたものは、CATIAにとって
受け入れがたい何かがある。
(Choose Saving OptionのColorをチェックしましょう)
単位が違う為、1/1000にしましょう
※コメント欄に名無しさんからオプションの設定を教わりました。
STLぐらい標準でインポートさせて下さい