IFC可視化技術プロトタイプの一例(Google SketchUpへの変換):

図 3 IFCと設備・セキュリティシステム情報(BAS)の
マッシュアップ将来像 |
我々は、IFCデータの可視化技術プロトタイプとして、3DデザインツールであるGoogle SketchUp(スケッチアップ)上で動作するIFCデータ読み込みプラグイン(以下IFC2SKPプラグイン)を開発した。
SketchUpは、Google社が提供している操作性がよい3Dデザインツールであり、フリーウェア版が全世界で普及している。SketchUp上の3Dモデルデータは容易にGoogle Earth上に取り込むことが出来ること、また、オブジェクト指向スクリプト言語RubyによるAPIを備えており、ユーザがSketchUpの機能を自由に拡張できることが大きな特徴である。
IFCデータをSketchUp上へ取りこむことが出来れば、Google Earth上におけるマッシュアップ手法の活用が容易となる。例えば図 3に示されるように、IFCデータから得られる建物の形状、防災・防犯区画、設備機器等の情報と、現実世界で建物設備を管理しているBuilding Automation System(以下BAS)からリアルタイムで得られる情報を統合的に扱うシステムの実現が期待できる。
IFC2SKPプラグインの構成:
図 4にIFC2SKPプラグインの構成図を示す。IFC2SKPプラグインは以下の3つの部分から構成されている。Ruby版IFCインターフェース、IFC2SKP Rubyスクリプト、およびIFCsvr ActiveX Component(以下IFCsvrコンポーネント)である。IFCsvrコンポーネントとは、IS研究所が2000年からフリーウェアとして国内外で公開しているIFCデータ入出力機能を提供するソフトウェアコンポーネントである。

図 4 IFC2SKPプラグインの構成
| Ruby版IFCインターフェース |
3次元建築CADから出力されたIFCデータを読み込むために、IFCsvrコンポーネントを使用している。IFCsvrコンポーネントはCOM(Common Object Model)オブジェクトなので、SketchUpのRubyインターフェースからは直接呼ぶことが出来ない。そこで、RubyのC言語拡張機能を利用して、COMラッパーを実装し、RubyへのIFCsvrコンポーネント組み込みを実現した。Ruby IFCクラスライブラリは、RubyスクリプトからIFCデータへアクセスするための基本機能を提供する。幾何計算ライブラリは、IFCデータの形状データをSketchUp上の建物要素オブジェクトへ変換する際に必要な幾何計算機能を提供する。
|
| IFC2SKP Ruby スクリプト |
この部分はRubyスクリプトで構成されており、SketchUp Ruby APIやRuby版IFCインターフェースを呼び出している。IFC2SKPプラグインのユーザインターフェース、変換処理の制御等が主な機能である。 |
エンドユーザが拡張可能なプラグイン:
Ruby版IFCインターフェースはバイナリ形式であるが、その機能はRubyクラスとして呼び出すことが出来るため、IFC2SKPプラグイン自身の機能拡張をRubyのプログラミングによって行うことが可能である。Rubyによる拡張をサポートすることにより、IFC2SKPプラグインは、他のSketchUpプラグインソフトウェアへのIFC入力機能の組み込み、シミュレーション結果の可視化等、IFCと様々なBIMアプリケーションとの連携を実現するプラットフォームの役割を果たす。
|