はじめに
建築・構造・設備の設計データを IFC 形式でやりとりする機会が増えてきましたが、「IFCファイルをちょっと確認したいだけなのに、重いソフトをインストールしなければならない」という場面はよくあります。
そこで、ブラウザだけで動く無料の IFC ビューア+チェックツールを作りました。
できること
1. 無料 IFC ビューア(3D表示)
IFCファイルをアップロードするだけで 3D 表示できます。ソフトのインストールは不要です。
ファイルはブラウザ内だけで処理されるため、サーバーに送信されません。
- IFCツリー(空間構造)の表示・要素選択
- 要素プロパティ(名前・GUID・Pset)の確認
- 断面切断(X / Y / Z 軸)
- 階フィルター(階ごとに表示切り替え)
- 要素クリックでハイライト・アイソレーション(他要素を半透明化)
2. スキーマチェック
IFC の必須属性・空間構造・名称欠落などを自動検出します。チェック結果は CSV でエクスポートできます。
3. 干渉チェック
構造・設備・電気など、部材同士の重なりを三角形レベルで高精度に検出します。
- AABB(バウンディングボックス)→ BVH(三角形レベル)の 2 フェーズ判定
- 検出した干渉箇所をクリックすると 3D ビューアで該当部材をハイライト
- 2 つのモデルを重ね合わせてのクロスモデル干渉チェックも可能
4. プロジェクト保存・開く
チェック結果とIFCファイルをクラウドに保存し、次回すぐに開けます。
技術スタック
| カテゴリ | 使用技術 |
|---|---|
| フロントエンド | React + TypeScript + Vite |
| IFC パース | web-ifc(WebAssembly) |
| 3D 描画 | Three.js |
| 干渉チェック | three-mesh-bvh |
| バックエンド | Firebase(Auth / Firestore / Storage) |
IFC のパースには web-ifc を WebAssembly で動かしています。すべての処理がブラウザ内で完結するため、ファイルが外部に漏れる心配がありません。
干渉チェックは three-mesh-bvh を使った 2 フェーズ判定を実装しています。まず AABB(軸並行バウンディングボックス)で候補を絞り込み、BVH で三角形レベルの精密判定を行うことで、大規模モデルでも現実的な速度で動作します。
使い方
- IFC Checker にアクセス
- メールアドレスまたは Google アカウントで無料登録
- 「IFCを開く」で IFC ファイルを選択
- 3D ビューアで確認・チェック実行
現在、全機能を期間限定で無料公開中です。
おわりに
IFC 対応ツールは高価なものが多く、「ちょっと確認するだけ」には使いにくい状況でした。このツールがその隙間を埋められれば幸いです。
フィードバック・バグ報告は お問い合わせ または コメント欄でお気軽にどうぞ。
