見出し画像

BIMについて分かりやすく整理してみる~建設に特化したデータモデルとはなにか?~ (2/4回)

お久しぶりです。ANDPAD ZEROの菊野です。

以前、ANDPAD ZERO noteのVol.6「BIMについて分かりやすく整理してみる」にて、BIMの定義・全体像をについて簡単に説明しました。

読んでいただいた方には、BIMとは
・単なるモデリングソフトではない
・建設に特化したデータモデルである
・建設の情報管理の仕組みやワークフローである
・コスト/構造/設備/施工のシミュレーションツールでもある
ということが、なんとなくわかっていただけたのではないかと思っています。

今回の記事では、「建設に特化したデータモデル」について少し詳しく解説できればと思います。
少々難しい内容も含まれますが、読み終わるころにはしっかりと「建設に特化したデータモデルとは何か?」がご理解いただけると思います。

図1:3DCADとBIMの違い

さて、「3DCAD」と「BIM」のデータの違いを示す際に、よく上記のような絵が用いられます。
読者の方々の中にも、こんな絵を見たことがあって、「違いが分かるようで、分からない‥」といった経験をされたこともあるのではないかと思います。

例えば、「レイヤで管理すれば3DCADもBIMデータも同じではないか?」や「プロパティ情報を3DCADに入れていけば、BIMのデータと同様のものになるのではないか?」という疑問があったのではないでしょうか。

今回は、BIMのデータ形式・データモデルの中でも有名かつ代表的、加えてオープンBIM(*)の思想でつくられているIFC(Industry Foundation Classes)というデータモデル仕様をとりあげ、BIMのデータの仕組みについて、じっくり考えてみます。

*オープンBIM:共通のデータフォーマットで情報共有が容易に行えるBIMの仕組みのことを指します。特定のBIMモデリングツールのみで使えるデータフォーマットと反対の概念といえます。

IFCの概要

IFCは、1994年にBuilding Smart (当時の団体名はIAI(International Alliance for Interoperability)により開発、運営されています。
実は、製造業で使われるEXPRESSというデータモデル言語を基に開発されているんです。

IFCは、オープンBIMの指向で作られており、言い換えれば、ベンダー間でのBIMのデータの交換をできるだけ正確にかつ簡単に行うためのものとして開発されました。オープンBIMの思想ということもあり、仕組みや構造に関するドキュメントは一般に公開されていることも特徴です。

元々はIFC1からスタートしており、現在ではIFC4が承認済みの最新バージョンとなっています。IFC4ではIFCのデータ形式に対して、IFCXMLやIFCzipなどといった別のデータ形式で情報を出力したり入力したりすることが可能となりました。さらに、IFC内で取り扱える情報がバージョンアップされて増えてきています。

現在はIFCに基づいて作成された「.ifc」のデータ形式については、BIM納品で使用可能なデータ形式として広く取り扱われています。

建築情報にのみ対応しているIFCですが、近い将来、最新のバージョンとなるIFC5では土木情報も対応したスキーマになるとのことです。(引用元:BIM Manager, Mark Baldwin)

IFCの仕組み

IFCの概要がわかったところで、本題に入りたいと思います。ここからは少しテクニカルな話になってしまいますがご了承ください。

IFCとは、Industry (建設業界の)Foundation(基礎となる) Class(クラス) の略称です。
「クラス」とは、コンピューター用語で、「オブジェクトを作成するための手順やそのひな形のこと」を指します。IFCはスキーマと表現されることが多いですが、これは建設で取り扱うためのデータ構造や仕様の定義と考えてください。(引用元:BIM Manager, Mark Baldwin)

IFCでは、このようなクラスの仕組みを使い、建設で取り扱うオブジェクトの定義を行っていますが、このオブジェクトには、2つの種類があります。

1つ目が実際に形として存在するオブジェクト、建物、建築の部材や製品などです。
2つ目が概念的なモノ、例えば空間(スペース)や利用者の業種(ロール)などです。
建設に形のある部材から、建設に関する概念まで、共通して使えるデータの構成や仕組みの定義がIFCとなります。IFCはあくまでもこのオブジェクトに紐づけられる情報についての仕組みになるので、図面データについては含まれていません。

IFCができるまで、建設情報のやり取りの思想はベンダーごとに開発されていました。
言い換えれば、ベンダー個社ごとに、他社と情報を連携したい場合は建設の部材などの情報のプラグインを独自に開発する必要があったのです。しかし、IFCが出来てからは、共通して使えるデータの構成や仕組みを提示されているため、IFCに基づいてデータを作成しておけば、ベンダー間での情報のやり取りを簡単に行うことができるようになりました。

ここで一つ覚えていただきたいのは、IFCには様々なクラスという単位があり、各クラスが建設で取り扱う部材や製品、情報、概念などが定義されていることです。この「IFCで定義されているクラスの仕組みを理解するということ」がすなわち「IFCを理解すること」であると覚えておいてください。

事例でクラスを見てみる

つぎに、先ほどの図に戻り、この建物がどのようなクラスで構成されているか見てみましょう。

図2:建築部材の構成

まず、こちらの図の中には、壁、扉、天井、そして床(厳密にはIfcWall, IfcDoor, IfcCovering, IfcWindow, IfcSlab)といった部材要素で構成されています。

IFCには、「各クラスがどのような性質・形状のものなのか」という定義があります。
例えば、「IfcWall」という壁の定義については、「垂直の部材で空間を区切るまたは囲うためのもの(以下、省略)」と示されているほか、壁のジオメトリ情報の定義には「壁芯」「高さ」といったプロパティを基に定義します。

図3:IfcWall-壁形状の生成方法(画像元

クラスの定義で特に重要な内容は、「pSet」と呼ばれるプロパティを示す定義となります。実際にBIMを作成する際には、BIMのモデリングツール(Revit、ArchiCADなど)を使ってプロパティを入力するのですがIFC内で必要なプロパティのひな形が準備されています。
例えば、遮音性や耐火性、また外壁か内壁かについてもプロパティ情報として定義することが可能です。また工種によってそれにあったプロパティ情報が定義できるようになっています。

図4:IfcWall-壁の基本プロパティ情報(画像元

オブジェクトの定義、プロパティ情報の定義のほかに、クラス同士の関連性を定義するためのリレーションシップと呼ばれる定義もあります。例えば、「窓がどの壁についているか?」「壁と壁が結合しているか?」といったオブジェクト同士の関連性のことです。これは全てのものに対して個別に定義するのではなく、リレーションシップという定義があることで、クラスとクラスの関連性が示すことができ、建設では様々な構成で仕様が決まってきますが、関連性を示すことで一品生産と呼ばれる建物に対しても標準的なデータ構造を提示することが可能となります。

IFCの全体像・トップダウンでどのようなクラスがあるか見てみる

図5:IFCの全体像(画像元

ここまで実際の部材を見ながら、どのようにクラスが定義されているかということを確認してきました。壁を例に挙げ、そもそもどういう性質・形状なのか、そこに紐づいているプロパティ情報、ジオメトリ形状情報なども定義されていることが分かりました。またクラス同士の関連性を示すことも可能であることがわかりました。

さて、ここではIFCで定義されているクラスの全体像を確認したいと思います。
IFCのクラスは大きく4つの階層があります。

1.資源に関連する階層(Resource Layer)
各部材に関連する資源やジオメトリ、質量、素材などに関するクラスの説明のこと。ここで定義されているクラスは他のオブジェクトに紐づける形でしか、活用することができません。
2.データの基礎に関連するスキーマ(Core Layer)
データの基礎に関するスキーマに関しては、ユーザーが直接このクラスを使うこと少ないのですが、一番上位のクラスのことを指します。ここで定義されている情報としては各オブジェクトのGUID(オブジェクトの固有のID)やデータの所有者、そして備考などのクラスがあり、ここで定義されている属性はすべてのクラスに含まれる属性となります。
3.汎用的に使えるクラスの階層(Interop Layer)
汎用的に使える部材などのクラスが含まれます。先ほど例に挙げた「壁」、「床」、「窓」、「天井」のクラスは、「Shared Building Element」に含まれており、定義されています。
4.業種特化したクラスに関連する階層(Domain Specific Data Schemas)
業種に特化したスキーマが定義されています。建築ドメインにおいては、建築の意匠に関連するスキーマや電気や空調のドメインについては、空調設備に関連するスキーマが定義されています。例えば、電気設備ドメインに特化するクラスについては、制御盤や変圧器などのクラスが説明されています。

このようなクラスの一部を使うことによって建設で取り扱う情報が定義することが可能となります。どの部分のクラスを使うかについては、そのデータをどのように活用したいかによって定められます。

最後に

IFCはこのように、建設のためのクラスが定義されており、そのための属性やカスタマイズ可能なプロパティ情報、クラスを関連付けるための仕組みなどが提供されています。
このような仕組みを使うことで、建設のためのデータが作成できそして様々な解析や維持管理の活用などが可能となります。

IFC内で定義されているクラスやプロパティ情報はかなり詳細なところまで定義できますが、必ずしも全て詳細に定義すればよいというわけでもありません。IFCの目的や用途によって、その都度、必要な情報や詳細に示すべき情報を精査する必要があります。こうした必要情報の精査のためのツールや、必要な情報のみをアウトプットするためのツールも開発されてきています。IFCのバージョンや目的・用途などをを指定して書き出すことによって、他のベンダーとのツールとの連携も可能となります。

次回は、このIFCで書き出したデータを基に、既存のBIMのツール(モデラー、ビューアーなど)で可能となること、について説明したいと思います。

最後まで読んでいただきありがとうございました!

この記事が気に入ったらサポートをしてみませんか?