Grasshopper – Archicad Live Connectionを使用して、Archicadに配置している要素の高度を取得する方法は以下の方法で行います。
Pythonを使用したりフロア高度を外部ファイルを出力したりしなくても、Archicadに配置した要素から手軽に高度を取得することができます。
手順
Archicad上に高度を取得するオブジェクトを配置します。こちらでは例として、「座標寸法」オブジェクトを配置します。
このオブジェクトがどちらのフロアに配置したかをわかるよう、オブジェクトIDにフロア名を入れておきます。
Rhinoを起動し、Grasshopperを開きます。
Archicadタブから、Prameters>Objectコンポーネントを配置します。このコンポーネントはArchicadに配置したオブジェクトを参照します。
配置したオブジェクトを右クリックし、「Set One Object in Archicad」を選び、Archicadに配置したオブジェクトを選択します。
オブジェクトを座標情報を取得します。
Objectコンポーネントに、Deconstruct Objectコンポーネント、Deconstruct Brepコンポーネントをつなぎます。
Verticesにオブジェクトの頂点の座標値が取得できるので、こちらのZ座標を使用します。
今回は1つめの頂点を使用します。List Itemコンポーネントをつなぎ、1つ目の頂点座標のピックアップします。
Z座標のみを取得するので、Deconstruct Matrixコンポーネントをつなぎ、X座標、Y座標、Z座標を分けます。
List Itemコンポーネントをつなぎ、3つ目のZ座標をピックアップします。
Z座標が取得できたので、配置したい場所のX座標、Y座標を合わせ、要素を配置します。下図では、Archicadのオブジェクトを配置している場合のコンポーネントの図です。
これで、Archicadに配置したオブジェクトと高度が連動するようにできました。
フロア高度の変更に追随してArchicadの要素の高度が変わり、それをGrasshopper – Archicad Live Connectionで高度を取得し、Grasshopperで配置するオブジェクトに反映できます。
今回のコンポーネントの全体は下記です。