この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:atom
更新日時:2026-06-29 12:04:57

タイトル: IFCとは
SEOタイトル: IFCとは|buildingSMARTのBIM交換標準、エンティティ・Pset・MVDを解説

この記事の要点
  • IFC は Industry Foundation Classes の略で、buildingSMART が策定する BIM データのベンダー中立な交換フォーマット。
  • 特定の BIM ソフトに依存せず、異なるツール間でモデルを受け渡すための国際標準(ISO 16739)である。
  • 建物要素はエンティティ(IfcWall、IfcSpace など)として表現され、属性はプロパティセット(Pset)として付与される。
  • 要素間の関係(壁に窓が開く、空間が階に属する等)も明示的な関係オブジェクトで表現される。
  • 主流は IFC2x3 と IFC4 の二系統で、用途を絞った MVD と組み合わせて運用する。物理ファイルは STEP 形式の .ifc が一般的。

IFC とは ― 中立な交換フォーマット

IFC(Industry Foundation Classes)は、BIM データを特定のソフトウェアに依存しない形で記述・交換するためのオープンな標準データモデルです。非営利団体 buildingSMART が策定・維持しており、ISO 16739 として国際標準化されています。Revit、ArchiCAD、Tekla などベンダーが異なる BIM ソフト間で同じモデルをやり取りする際の「共通言語」にあたります。

SE の観点では、IFC は相互運用性(インターオペラビリティ)を担保するための交換フォーマットであり、各ソフトの内部形式とは別に、外部へ書き出す(エクスポート)/読み込む(インポート)ための中間表現と理解すると正確です。ベンダーロックインを避け、長期保存にも適した形式として位置づけられています。

エンティティ ― 建物要素の表現

IFC ではすべての建物要素を「エンティティ」として型付けして表現します。命名は Ifc 接頭辞に要素名を続ける規約で、たとえば次のようなものがあります。

  • IfcWall: 壁。構造壁は IfcWallStandardCase などで細分されることもあります。
  • IfcSlab: 床・スラブ・屋根の水平要素。
  • IfcColumn / IfcBeam: 柱・梁。
  • IfcDoor / IfcWindow: 建具(ドア・窓)。
  • IfcSpace: 部屋・領域などの空間。面積計算や用途管理の単位になります。
  • IfcBuildingStorey: 階。空間や要素が属する階層構造を構成します。

これらのエンティティはクラス階層を持ち、IfcWall や IfcSlab はより上位の IfcBuildingElement を継承します。オブジェクト指向の型システムを建物要素に当てはめた構造と考えると把握しやすいでしょう。スキーマ定義そのものは EXPRESS という記述言語で、たとえば <IfcWall> のように山括弧付きで参照されることもあります。

プロパティセット(Pset)と関係

エンティティに属性を与えるのが プロパティセット(Property Set, 略称 Pset) です。Pset は意味的に関連する属性をまとめた集合で、標準化されたものには Pset_WallCommon(耐火性能、外部内部の別、耐力壁か否か等)などがあります。標準 Pset に加えて、独自のカスタム Pset を定義して付与することも可能です。

さらに IFC の重要な特徴として、要素どうしの関係を明示的なオブジェクトで表現する点が挙げられます。代表的なものは次のとおりです。

  • IfcRelAggregates: 集約関係。建物が階を含み、階が空間を含む、といった包含構造。
  • IfcRelContainedInSpatialStructure: 要素が空間構造(階など)に配置される関係。
  • IfcRelVoidsElement / IfcRelFillsElement: 壁に開口を空け、その開口にドアが入る関係。
  • IfcRelDefinesByProperties: 要素に Pset を結びつける関係。

このように IFC は「要素」「属性」「関係」を分けて持つグラフ的なデータ構造になっており、単なる形状データではなく意味づけされた建物データベースとして扱える点が特徴です。

IFC2x3 と IFC4、そして MVD

IFC にはスキーマのバージョンがあり、実務で広く使われるのは IFC2x3IFC4 の二系統です。IFC2x3 は長く事実上の標準として普及し対応ソフトが多い一方、IFC4 はジオメトリ表現や Pset が拡張され、より新しい標準です。後継として IFC4.3(土木・インフラ対応を強化)も整備が進んでいます。受け渡し相手がどのバージョンに対応しているかを事前に確認することが、トラブル回避の基本になります。

また IFC は仕様が広範なため、用途ごとに必要な部分だけを定義した MVD(Model View Definition) を用います。たとえば「設計から施工への調整用」「数量積算用」など、目的に応じたサブセットを取り決めることで、過不足のない受け渡しが可能になります。代表的な MVD に Coordination View(調整ビュー)があります。

ファイル形式 ― STEP(.ifc)

IFC モデルの物理ファイルは、ISO 10303(STEP)の Part 21 形式で記述されたテキストファイルが標準で、拡張子は .ifc です。ほかに XML 形式の .ifcXML、圧縮形式の .ifcZIP もあります。.ifc は人間が開いても読めるテキストで、各行がエンティティのインスタンスに対応するため、SE であれば内容をパースして検証・変換することも可能です。

STEP Part 21 のファイルは DATA; セクションに #整数=ENTITY(...) という形式の行が並び、各インスタンスが行番号(インスタンス番号)で相互参照されます。たとえば壁インスタンスがその形状定義や所属階を別のインスタンス番号で参照する、という構造です。これは正規化されたレコードが外部キーで結ばれたリレーショナルデータに近く、グラフとして辿れば建物全体の構造を再構築できます。IfcOpenShell のようなオープンソースライブラリを使えば、Python から IFC を読み書きできるため、属性抽出や自動チェックの自動化に向きます。

グローバル ID と要素の同定

IFC の各オブジェクトは GlobalId(GUID) を持ちます。これは要素を一意に識別する 22 文字の識別子で、別のソフトへ受け渡しても、再度読み込んでも同じ要素を追跡できるよう設計されています。システム連携では、この GlobalId をキーに「前回のモデルと比較して、どの要素が追加・変更・削除されたか」を判定できます。属性を外部データベースへ同期する仕組みを作る際も、GlobalId が突き合わせの主キーとして機能します。

SE にとっての位置づけ

異なるツール間でモデルを連携させるシステムを構築する際、IFC は相互運用の核になります。各ソフトのネイティブ API とは別に、IFC というベンダー中立な中間形式を介することで、長期的な保守性と移植性を確保できます。なお、軽量な連携やリアルタイム協調には IFC ではなく別の仕組みが向く場合もあり、その比較は SpeckleとIFCの違い で扱います。

まとめ

IFC は buildingSMART が策定するベンダー中立な BIM 交換フォーマットで、エンティティ・プロパティセット・関係によって建物を構造化して表現します。バージョン(IFC2x3/IFC4)と MVD を相手と取り決め、STEP 形式の .ifc でやり取りするのが基本です。関連項目は BIM 総論 の目次から辿れます。