いくらビューの状態を保存できるとはいえ、超高層ビルから見たいフロアを探し出すのは大変です。
超高層ビルのモデルって正直重いですし。
ならば、オブジェクトの属性情報を使って該当フロアのみ表示することはできないだろうか?
このモデルの元ファイルはRevitファイルです。
特定の属性にフロア情報が入っているとは限りません。
オブジェクトによって、「基準レベル」「下部レベル」「参照レベル」など様々です。
ということで、どの属性かは気にせず、値が「10FL」をもつオブジェクトを表示し、その他を非表示にしてみました。
10階らしきフロアが表示されましたね!
でも下のフロアらしき柱が表示されてるやん~。
下のフロアの柱がヒットしたのは、「上部レベル」が「10FL」だからでした。
なので、属性名が「上部レベル」は対象外にしてみます。
うむ、すっきり!
この操作をコマンド化すれば、10階ビュー、11階ビュー・・・といったメニューを用意し、目的の階を選択表示するなんてこともできちゃいます。
でも「上部レベル」を除外することは本当によいのでしょうか・・・?
うまくいったのは、このモデルに限っての話でしょう。
今回は属性全てから検索を行ないましたが、検索対象の属性名を設定ファイルに書いて絞り込むなどすると、汎用的にできそうですね!
このサンプルではForgeのJavaScript APIを使用して属性情報を取得しました。
もちろんModel Derivative APIでも属性情報が取得できますが、超高層ビルや属性情報がたくさんあるモデルの場合はレスポンスサイズが大きすぎるので実装時はご注意を。
また、どちらの場合も重いモデルはレスポンスが遅いことにご留意を。
以上、最近、やたらとカンピオーネってなに?