C#ATIA

↑タイトル詐欺 主にCATIA V5 の VBA(最近はPMillマクロとFusion360APIが多い)

IFCフォーマット

Fusion360のフォーラムで、何度か変換に関して見かけたIFCフォーマット。
Industry Foundation Classes - Wikipedia

自分には縁のない建築っぽい業界?のBIM関係の3Dデータの中間フォーマット
のようです。
BIMナビ/BIMを知る、始める、活用する。BIMの情報サイト | CAD Japan.com

聞いた話では、建築関係はまだまだ2D主流で3Dへの対応は遅れ気味とか。


対応するソフトも少なくは無いようですが、無料となるとビュアーぐらいで、
コンバータは結果的に "IfcOpenShell" 一択となるようです。
IfcOpenShell
GitHub - IfcOpenShell/IfcOpenShell: Open source IFC library and geometry engine

日本語の情報が無いです・・・。
幾つかソフトが有りますが、個人的に試せそうなのが IfcConvert ぐらいなので
こちらのVer0.5.0 のWin64bitを試してみました。
IfcOpenShell

サンプルデータとしてはこちらをお借りしました。
3D CAD Model Collection | GrabCAD Community Library

"IfcConvert.exe" にIFCファイルをD&Dしても実行されるのですが、
変換後はOBJになってしまう為、コマンドプロンプト起動して
行いました。(もし頻繁に必要ならバッチファイルを作成した方が良いと思います)

実際にIges,Step,OBJを試しましたが、Igesは変換後のファイルがエラーとなり
CATIAでもFusion360でもインポート出来ませんでした。
IFCはStepに近いフォーマットのようなので、Stepが一番良いのかも知れません。

f:id:kandennti:20181019110053p:plain
左がStepで、右がOBJ。
Stepは部品毎にコンポーネント+ボディとなり、
OBJは部品毎にメッシュボディとしてインポートされました。

当然、逆(MCAD→IFC)は出来ないの? と思うのですが、出来ないっぽいです。
理由がはっきりしないのですが、こちらをチラッと読んだ感じですが
BIMアプリケーションの使いこなし 第3回:IFC を使ってデータ互換(前編) / 全5回|大塚商会
BIMアプリケーションの使いこなし 第4回:IFC を使ってデータ互換(後編) / 全5回|大塚商会
IFCの場合、データは単なる形状としてでは無く、柱・梁・壁・床等の属性がある様で
その辺が絡んでいて、安易にMCADデータからの変換を許さないようにも感じました。
(・・・MCADだって要素の重複は許しちゃだめですよ)

比較的最近の規格でも無いようなのですが、メジャーなフォーマットなものかどうかも
良くわからなかったです・・・。(需要は結構あるようには感じました)