IFC空間階層の基本構造
標準的な建築プロジェクトでは、以下の順序で階層が構成されます。
| IFCの基本的な階層 |
| IFCクラス | 説明 | 役割 |
|---|---|---|
| IfcProject | プロジェクト | 全体の管理単位。プロジェクト名、作成者、単位系(メートルかフィートか等)、座標系の定義などを保持します。 |
| IfcSite | 敷地 | 建物が建つ場所。住所、緯度・経度、敷地の境界線などの情報を含みます。 |
| IfcBuilding | 建物 | 物理的な「ハコ」としての建物。一つの敷地に複数の建物がある場合は、ここに複数の IfcBuilding が並びます。 |
| IfcBuildingStorey | 階層・フロア | 1階、2階、屋上などのレベル定義。高さ情報(GLからの高度など)を持ちます。 |
| IfcSpace | 部屋・空間 | 居室、廊下、倉庫などの「空間」そのもの。容積や面積の計算根拠になります。 |
ここでポイントとなるのはIfcBuildingStoreyです。
レベルのパラメータ"建物の階"
次のようなプロジェクトで考えてみます。このプロジェクトには
- 1FL
- 2FL鉄骨天端
- 2FL
すべてのレベルの"建物の階"を「はい」に設定した状態でIFCに出力すると。。。
BuildingStoreyは1FL、2FL鉄骨天端、2FLが出力され、BuildingStorey:2FL鉄骨天端には、多くの構造フレームが”Beam”として所属しています。
2FL鉄骨天端は"建物の階"ではないので、この値を「いいえ」にして出力すると・・・
| BIMvisionの画面。すべてのBeamが2FL鉄骨天端にある |
2FL鉄骨天端は"建物の階"ではないので、この値を「いいえ」にして出力すると・・・
| すべてのBeamが1FLに |
BuildingStoreyは1FL、2FLが出力され、構造フレームはBuildingStorey:1FLに所属してしまいます。
IFCでは建物の要素はBuildngStoreyに所属するもの、という方針があるためRevitのIFCエクスポーターが要素の直下のBuildingStoreyを検索して要素を配置するためです。
しかし、この場合の構造フレームは2FLの床を支持するのだから、BuildingStorey:2FLに配置したいとしたらどうすればいいでしょうか?
出力先のレベルを変更する
Revitはこの所属レベル(BuildingStorey)を指定することができます。ヘルプにははっきりとは書いていないのですが、IfcSpatialContainerという共有パラメータを作成すれば、所属するBuildingStoreyを指定することができるのです。
不思議なことに、共有パラメータIfcSpatialContainer(文字型)は大文字小文字半角全角を含めて正確に名前を一致させれば勝手に作っても構いません。
Autodesk公式のIfcSpatialContainerを使いたい場合は、Revitの拡張機能の"IFC for Revit"をインストールすると、以下のファイルに
"C:\ProgramData\Autodesk\ApplicationPlugins\IFC 2026.bundle\Contents\2026\IFC Shared Parameters-RevitIFCBuiltIn_ALL.txt"
IfcSpatialContainerというAutodesk公式の共有パラメータがありますからこれを使用するといいでしょう。
"C:\ProgramData\Autodesk\ApplicationPlugins\IFC 2026.bundle\Contents\2026\IFC Shared Parameters-RevitIFCBuiltIn_ALL.txt"
IfcSpatialContainerというAutodesk公式の共有パラメータがありますからこれを使用するといいでしょう。
使い方
まず、目的のカテゴリ(今回は構造フレームカテゴリ)にインスタンスパラメータとしてIfcSpatialContainerを設定します。
構造フレームを選択し、IfcSpatialContainerの値にBuildingStoreyの名前「2FL」を設定します。名前だけを設定することがポイントです。
| IfcSpatialContainerの値をBuildingStoreyの名前にする |