見出し画像

【Elefront】親子レイヤー名を丸ごと取り出す方法

ElefrontはGrasshopperに参照オブジェクトとしてオブジェクトを取得することで、レイヤー情報やオブジェクトのアトリビュートなどを取り出せるプラグインです。

このElefrontにGetRhinoAttributeというコンポーネントがあります。

GetRhinoAttributeコンポーネント

入力した参照オブジェクトのオブジェクト名・レイヤー名・レイヤーのRGB値が取得できる便利なコンポーネントですが、デフォルトではこのオブジェクトが直接属しているレイヤー名しか取り出すことができません。
取得したオブジェクトの親レイヤー名を元にしてベイク先を決めたい場合などでは、改めてパネルで親レイヤー名から描き直す必要が出てしまいます。

GetRhinoAttributeで取得したレイヤー名を直接パネルで確認した場合
そのままLの出力をパネルで見ると、オブジェクトが属しているレイヤー名しか取得できていない

ここで、GrasshopperのデフォルトにあるFormatコンポーネントを経由して出力させると、そのオブジェクトの親レイヤーも含めて全部の親子レイヤー名を丸ごと取り出すことが出来ました。
こうするとレイヤー構成を維持したまま新しい孫レイヤーを作ったり、参照先のレイヤーを細かくソートしたりといった使い方が楽になります。
また、Textで定義してからFormatに繋いでも、親レイヤー情報は取り出せません。

Formatコンポーネントを経由してレイヤー名を取得した場合

(2022/11/18追記)────────
読者の方からご指摘頂き、確認したところGetRhinoAttributeのオプションから「Read full leyer path」を選択することで同様のレイヤー情報を引き出すことができました。シンプルに気付いていなかったです、ありがとうございます。

Read Full layer pathで取得した場合

─────────────────────


-------------------------------------------------------------------------------------
SHIRAKU Inc-会社概要
仕事のご依頼
建築Tシャツ
Rhinoceros7-購入
-------------------------------------------------------------------------------------