タイトル: IFCとは
SEOタイトル: IFCとは|buildingSMARTのBIM交換標準、エンティティ・Pset・MVDを解説
IFC とは ― ソフトを越えてモデルを渡す共通言語
IFC(Industry Foundation Classes)は、特定の BIM ソフトに縛られずにモデルをやり取りするための国際標準です。建物の要素・属性・関係を中立な形で記述し、異なるツール間の橋渡しをします。
この記事の要点
- IFC は Industry Foundation Classes の略で、buildingSMART が策定する BIM データのベンダー中立な交換フォーマット
- 特定の BIM ソフトに依存せず、異なるツール間でモデルを受け渡すための国際標準(ISO 16739)である
- 建物要素はエンティティ(IfcWall、IfcSpace など)で表現され、属性はプロパティセット(Pset)として付与される
- 主流は IFC2x3 と IFC4 の二系統。用途を絞った MVD と組み合わせ、物理ファイルは STEP 形式の .ifc が一般的
本記事は LODとLOI で扱った「属性」を、ソフト間でどう持ち運ぶかを担う標準として位置づけます。BIM の理念である「関係者でモデルを共有する」を技術的に支える要が IFC です。
1IFC とは ― 中立な交換フォーマット
IFC(Industry Foundation Classes)は、BIM データを特定のソフトウェアに依存しない形で記述・交換するためのオープンな標準データモデルです。非営利団体 buildingSMART が策定・維持しており、ISO 16739 として国際標準化されています。Revit、ArchiCAD、Tekla などベンダーが異なる BIM ソフト間で同じモデルをやり取りする際の「共通言語」にあたります。
IFC は、各ソフトの内部形式とは別に、外部へ書き出す(エクスポート)・読み込む(インポート)ための中間表現だと理解すると正確です。これにより特定ベンダーに縛られる状態を避け、長期保存にも適した形式として位置づけられています。
2エンティティ ― 建物要素の表現
IFC ではすべての建物要素を「エンティティ」として型付けして表現します。命名は Ifc 接頭辞に要素名を続ける規約で、たとえば次のようなものがあります。
| エンティティ | 表すもの |
|---|---|
| IfcWall | 壁。構造壁は IfcWallStandardCase などで細分されることもある |
| IfcSlab | 床・スラブ・屋根などの水平要素 |
| IfcColumn / IfcBeam | 柱・梁 |
| IfcDoor / IfcWindow | 建具(ドア・窓) |
| IfcSpace | 部屋・領域などの空間。面積計算や用途管理の単位 |
| IfcBuildingStorey | 階。空間や要素が属する階層構造を構成する |
これらのエンティティはクラス階層を持ち、IfcWall や IfcSlab はより上位の IfcBuildingElement を継承します。建物要素を「型」で整理した構造と考えると把握しやすいでしょう。スキーマ定義そのものは EXPRESS という記述言語で書かれ、仕様書では壁のクラスを <IfcWall> のように山括弧付きで参照することもあります。
3プロパティセット(Pset)と関係
エンティティに属性を与えるのが プロパティセット(Property Set, 略称 Pset) です。Pset は意味的に関連する属性をまとめた集合で、標準化されたものには Pset_WallCommon(耐火性能、外部内部の別、耐力壁か否か等)などがあります。標準 Pset に加えて、独自のカスタム Pset を定義して付与することも可能です。
さらに IFC の重要な特徴として、要素どうしの関係を明示的なオブジェクトで表現する点が挙げられます。代表的なものは次のとおりです。
- IfcRelAggregates: 集約関係。建物が階を含み、階が空間を含む、といった包含構造。
- IfcRelContainedInSpatialStructure: 要素が空間構造(階など)に配置される関係。
- IfcRelVoidsElement / IfcRelFillsElement: 壁に開口を空け、その開口にドアが入る関係。
- IfcRelDefinesByProperties: 要素に Pset を結びつける関係。
このように IFC は「要素」「属性」「関係」を分けて持つグラフ的なデータ構造になっており、単なる形状データではなく、意味づけされた建物データとして扱える点が特徴です。
4IFC2x3 と IFC4、そして MVD
IFC にはスキーマのバージョンがあり、実務で広く使われるのは IFC2x3 と IFC4 の二系統です。IFC2x3 は長く事実上の標準として普及し対応ソフトが多い一方、IFC4 はジオメトリ表現や Pset が拡張され、より新しい標準です。後継として IFC4.3(土木・インフラ対応を強化)も整備が進んでいます。
IFC は仕様が広範なため、用途ごとに必要な部分だけを定義したサブセットを使う。たとえば「設計から施工への調整用」「数量積算用」など、目的に応じた取り決めで過不足のない受け渡しを実現する。代表例に Coordination View(調整ビュー)がある。
受け渡し相手がどのバージョン・どの MVD に対応しているかを事前に確認することが、トラブル回避の基本になります。
5ファイル形式とグローバル ID
IFC モデルの物理ファイルは、ISO 10303(STEP)の Part 21 形式で記述されたテキストファイルが標準で、拡張子は .ifc です。ほかに XML 形式の .ifcXML、圧縮形式の .ifcZIP もあります。.ifc は人間が開いても読めるテキストで、各行がエンティティのインスタンスに対応します。
STEP Part 21 のファイルは DATA; セクションに #整数=ENTITY(...) という形式の行が並び、各インスタンスが行番号(インスタンス番号)で相互参照されます。たとえば壁インスタンスが、その形状定義や所属階を別のインスタンス番号で参照する、という構造です。グラフとして辿れば建物全体の構造を再構築できます。IfcOpenShell のようなオープンソースのライブラリを使えば、IFC を読み書きして属性抽出や自動チェックを行うこともできます。
また IFC の各オブジェクトは GlobalId(GUID) を持ちます。これは要素を一意に識別する 22 文字の識別子で、別のソフトへ受け渡しても、再度読み込んでも同じ要素を追跡できるよう設計されています。「前回のモデルと比べてどの要素が追加・変更・削除されたか」を判定する手がかりとして機能し、属性を別の台帳と突き合わせる際の鍵にもなります。
この記事のまとめ
IFC は buildingSMART が策定するベンダー中立な BIM 交換フォーマットで、エンティティ・プロパティセット・関係によって建物を構造化して表現します。バージョン(IFC2x3/IFC4)と MVD を相手と取り決め、STEP 形式の .ifc でやり取りするのが基本です。軽量な連携やリアルタイム協調には別の仕組みが向く場合もあり、その比較は SpeckleとIFCの違い で扱います。