ページ

2017年4月5日水曜日

ArchiCAD フロア設定をGrasshopperで読み込む




はじめに

今回は、ArchiCADのフロア設定情報を、Grasshopperに持っていく方法を
紹介します!

使用するのは、以前も紹介した①AC-GH LiveConnectionです!!


フロア設定の情報を用いて、最終的に階高を抽出したいと思います。
上図の全体像を、各コンポーネントの組み合わせごとに解説していきますね!


1.ArchiCADのフロア設定を確認

まずは、ArchiCADのフロア設定を見てみましょう。


[Ctrl+7]で確認すると、上図のようになっています。

それでは、さっそくLiveConnectionを起動して、[接続]しましょう!
(アドオンをインストールしておく必要があります。インストールはこちらから

接続ができたら、RhinocerosとGrasshopperを起動します。




2.ArchiCADのフロア設定を読み込み

最初に配置するのは、LiveConnection専用の[StoryPlane]コンポーネントです。
これでArchiCADのフロア設定を読み込みます。

ただし、中身を確認するとフロア名しか表示されていません!!
しかしご安心を。データ形式は[Plane](作業平面)になっているため、
この[Plane]を分解すれば、高さが出てきます!!


3.[Plane]の分解


[Plane]を分解する前に、フロアの並びを[Reverse List]コンポーネントで反転させます。
これはこの後、階高を求める際に効果を発揮します。

さて、それでは[Deconstruct Plane]コンポーネントで[Plane]を分解します!

コンポーネントのOutput側にある[Origin]から、Planeの絶対座標が出てくるので、
この点の高度から高さを抽出します。


4.絶対座標の分解

点の高度、つまりZ座標を抽出するには、[Deconstruct]コンポーネントを使います。
先ほどは[Plane]の分解でしたが、今度は[Point]、点の分解です。
これによって、Output側の[Z component]から、点のZ座標が出てきます!!

次は、いよいよ最後の工程です!


5.フロアの高度から階高を計算

ここでは、抽出したフロアの高度を利用して階高を計算して出したいと思います。
使うのは、[Relative Differences]コンポーネントと、
[Shift List]コンポーネントです。

まず、[Relative Differences]コンポーネントで、リスト内のデータの、
自分とその次のデータとの差分を出します。

どういうことか、具体的に見ていきましょう。

フロアの高度を出したリストの0番目は「-1500.0」です。
コンポーネントの特性上、最初は0番目同士の差分を出します。

結果、[Relative Differences]コンポーネントから出力された0番目のデータは、
「-1500.0 - (-1500.0) = 0」となります。

次に、1番目のデータと0番目のデータとの差分を出します。
これは、「500.0 - (-1500.0) = 2000.0 」になりますね!

これを繰り返すと、上図のようなデータが出力されます!!

ちなみに、先ほど[Reverse List]コンポーネントを使ったのは、
この差分をうまく出すためでした。

このままでは、階高が一回分ずれているので、[Shift List]コンポーネントでリストを
一段階ずらす操作をすることで、順番の正しい階高がでました!!!


おわりに

いかがでしたか?
GrasshopperのLiveConnectionでモデリングする際、
壁や柱、梁の始点の高さ情報は、この方法で簡単に設定できますね!!

コンポーネントの説明が少々分かりづらかったかもしれませんが、
自分で組んでみると理解が深まるかと思います。
ぜひお試しください!!!


R.O

0 件のコメント:

コメントを投稿