FRI3D BIM/IFC インポート
Industry Foundation Classes (IFC) データのインポート
はじめに
Industry Foundation Classes (IFC) は、建築物およびインフラストラクチャの情報を記述するために buildingSMART International が開発した、オープンで標準化されたデータモデルです。 IFC は ビルディング・インフォメーション・モデリング (BIM) の相互運用性の基盤であり、 異なるソフトウェアアプリケーション間で、建物の構成要素・材料・システムに関する 3D ジオメトリと豊富なセマンティックデータを交換できるようにします。
IFC スキーマは、壁、ドア、梁、HVAC システム、防火設備など、物理的・論理的な建物要素の 中立でオブジェクト指向な表現を提供します。 IFC ファイル内の各要素は、その役割、属性、および他のエンティティとの関係を規定する明確に定義されたクラスに属します。
IFC スキーマの概要
IFC は大規模なエンティティクラスの階層を定義しており、おおまかに以下の概念的なレイヤーに整理されています。
| カテゴリ | 説明 | 代表的な例 |
|---|---|---|
| IfcRoot | すべての IFC オブジェクトの基底クラス。グローバル ID、所有情報、名前/説明フィールドを提供します。 | IfcProject, IfcSite, IfcBuilding, IfcElement |
| IfcProduct | 建築環境における有形・空間的・物理的な要素を表します。 | IfcWall, IfcBeam, IfcDoor, IfcSlab |
| IfcSpatialStructureElement | プロジェクトの空間階層(敷地 → 建物 → 階 → 空間)を定義します。 | IfcBuilding, IfcBuildingStorey, IfcSpace |
| IfcElement | 個々の建物構成要素を表します。 | IfcWall, IfcWindow, IfcColumn, IfcPipeSegment |
| IfcDistributionElement | 建築設備および MEP(機械・電気・配管)の構成要素を対象とします。 | IfcFlowSegment, IfcFlowTerminal, IfcFlowController |
| IfcMaterialDefinition | 要素に割り当てられる材料、レイヤー、複合材を定義します。 | IfcMaterial, IfcMaterialLayerSet |
| IfcPropertySet | IFC 要素にカスタム属性やメタデータを付加します。 | Pset_WallCommon, Pset_DoorCommon |
| IfcRelationship | オブジェクト間の接続や関連付けを記述します。 | IfcRelContainedInSpatialStructure, IfcRelDefinesByProperties |
FRI3D における IFC インポート
FRI3D のインポートシステムは IFC ファイルを読み込み、そのエンティティを内部カテゴリにマッピングします。IFC データを FRI3D に取り込む方法は 2 つあります。 GUI を使用する方法と、コマンドラインツールを使用する方法です。
GUI: File → Import → BIM/CAD
File → Import メニュー

File → Import → BIM/CAD でインポートダイアログが開きます。.ifc ファイル、またはファイルの種類 BIM/IFC (*.ifc) を選択すると、ファイル一覧の下に IFC import options が表示されます。
| オプション | 既定値 | 内容 |
|---|---|---|
| Zone | 現在のゾーン | インポートしたジオメトリを受け取るゾーン(区画)。 |
| Load IfcBuildingElementProxy types | オフ | IfcBuildingElementProxy エンティティを含めます。 |
| Load IfcRailing types | オフ | IfcRailing エンティティを含めます。 |
| Load IfcStair / IfcStairFlight types | オフ | IfcStair および IfcStairFlight エンティティを含めま す。 |
| Load IfcSpace (zone boundaries from bbox) | オフ | IFC のバウンディングボックスを使用して、IfcSpace をゾーン境界としてロードします。 |
| Load flow/distribution types | オフ | IfcFlowTerminal、IfcDistributionElement、IfcDistributionFlowElement、IfcPipeFitting、IfcFlowFitting、IfcCovering、IfcFlowSegment エンティティを含めます。 |
| Load all optional types | オフ | 上記のオプションタイプをすべてロードします。個別のオプションより優先されます。 |
OK をクリックすると確認画面が表示されます。インポートは保存済みのプロジェクトファイルから開始されるため、保存していない変更はインポートが失敗した場合でも失われます。変更を残すには、先にプロジェクトを保存してください。
コマンドラインツール: Import_IFC
インポートは Import_IFC 実行ファイルによって行われます。コマンドプロンプトまたはスクリプトから次のように実行します。
Import_IFC.exe <ifcpath> <projectpath> [options]
- ifcpath — IFC ファイルへの絶対パスまたは相対パス。
- projectpath — FRI3D プロジェクトファイル(例:
project.fri3d)への絶対パスまたは相対パス。プロジェクトが存在しない場合は作成され、インポートが成功するとツールはプロジェクトを projectpath に保存します。
引数なしで実行するか、--help(または -h、-?、/?)を指定すると使用方法が表示されま す。
| 引数 | 必須 | 説明 |
|---|---|---|
| ifcpath | はい | インポートする IFC ファイルへのパス。 |
| projectpath | はい | FRI3D プロジェクトへのパス(例: MyProject.fri3d)。存在しない場合は作成されます。 |
オプション(大文字・小文字を区別しません。接頭辞として /、-、-- のいずれかを付けます):
| オプション | 説明 | デフォルト |
|---|---|---|
| Zone zonename | インポートしたジオメトリを配置するゾーン/区画の名前。 | (空) |
| ReplaceProject | インポート前に projectpath に新しいプロジェクトを作成します(既存のものを上書きします)。true/false、T/F などを指定できます。 | false |
| LoadBuildingElements | IfcBuildingElementProxy エンティティを含めます。 | false |
| LoadRailings | IfcRailing エンティティを含めます。 | false |
| LoadStairs | IfcStair および IfcStairFlight エンティティを含めます。 | false |
| LoadSpaces | IFC のバウンディングボックスを使用して、IfcSpace をゾーン境界としてロードします。 | false |
| LoadFlows | フロー/分配系エンティティ(例: IfcFlowTerminal、IfcDistributionElement、IfcPipeFitting 、IfcFlowSegment)を含めます。 | false |
| LoadAll | オプションタイプをすべてロードします。個別の Load オプションより優先されます。 | false |
| Help | 使用方法とヘルプを表示します。 | — |
ブール値のオプションには値を渡すことができます(例: --ReplaceProject true、-LoadStairs false)。値を省略した場合は true とみなされます。Zone は次の引数をゾーン名として受け取ります(例: -Zone Building1)。
インポートされる内容:
- ゾーン: Zone(または 3 番目の位置引数)で指定した名前のゾーンが 1 つ作成(または使用)されます。
- コンポーネント: 建物要素および MEP 要素がコンポーネントとしてインポートされます(下記の一覧を参照)。
- レースウェイ: IfcCableCarrierSegment および IfcCableCarrierFitting がレースウェイとしてインポートされます。
- ベント: IFC モデル内のベント(開口)に相当する要素。
- 3D ジオメトリ: FRI3D プロジェクトで表示するためのメッシュおよびバウンディングボックスデータ。
常にコンポーネントとしてロードされる IFC タイプ: 建物要素(IfcColumn、IfcPlate、IfcWall、IfcSlab、IfcWindow、IfcDoor、IfcBeam など)、その他(IfcElement、IfcFurnishingElement、IfcFurniture、IfcSite)。IfcGrid はコンポーネントとしてロードされることはありません。
オプション指定の IFC タイプ(デフォ ルトでは除外): LoadBuildingElements → IfcBuildingElementProxy、LoadRailings → IfcRailing、LoadStairs → IfcStair, IfcStairFlight、LoadSpaces → IfcSpace、LoadFlows → フロー/分配系タイプ。オプションがオフの場合、これらのタイプはコンポーネント、ゾーンとコンポーネントのリンク、および 3D ジオメトリの対象から除外されます。
使用例:
Import_IFC.exe C:\Models\building.ifc C:\Projects\building.fri3d -Zone Building1
Import_IFC.exe model.ifc project.fri3d -Zone Main -ReplaceProject
Import_IFC.exe model.ifc project.fri3d --Zone CompartmentA --LoadBuildingElements --LoadRailings
Import_IFC.exe model.ifc project.fri3d -Zone Main -LoadStairs
Import_IFC.exe --help
インポートワークフロー
- 解析(Parsing): IFC ファイルは IFC4x3 互換のリーダーで解析されます。
- 分類(Classification): 各エンティティについて、IFC クラスタイプと関連するプロパティセットが調べられます。
- タグ付け(Tagging): 要素は FRI3D の内部カテゴリ(例:
Boundaries、Simulation Items/Vents、Equipments、Raceways/Trays)にタグ付けされます。 - ジオメトリ抽出(Geometry Extraction): サーフェスジオメトリは
IfcShapeRepresentationから読み込まれるか、パフォーマンスのためにバウンディングボリュームへ簡略化されます。
タグ付けの要件
正確な分類とシミュレーション挙動のためには、 エクスポート前に、要素がソース BIM ソフトウェア(Revit、ArchiCAD、Tekla など)で適切にタグ付け されていることが FRI3D では必要です。 これにより、IFC インポーターが火災に関連する要素を正しく識別できるようになります。
| FRI3D タグ | 想定される IFC クラス | IFC 名の例 | 目的 |
|---|---|---|---|
Boundaries | IfcWall, IfcSlab, IfcCovering | FireRatedWall_120min | 区画境界と防火区画ゾーンを定義します |
Simulation Items/Vents | IfcDoor, IfcWindow, IfcOpeningElement | ExitDoor_Main | 煙流動と避難経路のための開口部を定義します |
Equipments | IfcFlowTerminal, IfcDistributionElement | SmokeDetector_01 | アクティブな防火設備および HVAC 要素を識別します |
⚠️ 重要: FRI3D は、インポート時にジオメトリを自動的に分類・グループ化するために、これらのタグと IFC クラスのマッピングに依存しています。 タグ付けされていない要素や誤分類された要素は、無視されるか、デフォルトの不燃性挙動が割り当てられる場合があります。
サポートされる IFC バージョン
FRI3D は現在、以下をサポートしています。
- IFC4 および IFC4x3 スキーマ(推奨)
- レガシーデータセット向けの IFC2x3 への部分的な後方互換性
ベストプラクティス
BIM ソフトウェアからのエクスポート前
-
モデルを整理する