Grasshopper :: RhinoのTextを読み込む
前回は、Geometryを読み込みましたが、GrasshopperのデフォルトのコンポーネントではTextを読み込むことができません。
そこで今回は、前回も使ったアドオンの「Human」とPythonを使ってTextを読み込みたいと思います。
レシピ
Rhinoの画面を見てみると、配置されたTextの左下(一部中央下)にGrasshopperで読み込まれた点が表示されているのがわかるかと思います。
この点は、Textを配置した際の基点です。この点とTextをアドオン「Human」とPythonで読み込んで見たいと思います。
Human(アドオン)の場合
今回もアドオンの「Human」を使用します。
以前紹介した方法でレイヤを読み込み、[Dynamic Geometry Pipeline]コンポーネントで入力側の[Type Filter]を”Text”にして読み込みます。
このままでは[Rhino.DocObjects.TextObject]と出力され、中身がわからないので、[Text Object Info]コンポーネントに繋ぎます。
すると出力側から、[Plane][Text][Size]など、そのTextに関する情報が返されます。
ここでもGeometryを読み込む時と同様、常にRhinoを読み込む状態になっているので、Textの数が増えると、RhinoでTextを編集する度にGrasshopperで処理が行われ、Rhinoでの編集の作業性が悪くなってしまいます。
そんな時はPythonで読み込むと便利です。
Pythonの場合
コードは以下の通りです。
入力側の[Layer]にはレイヤ名を、[x]には[Boolean Toggle]コンポーネントを繋ぎます。
Pythonで読み込んだ場合は、
- Textの何の情報を出力するか選べる。
- 一度読み込むと、Recomputeするか[x]のTrue/Falseを切り替えないと更新されない。
といった特徴があります。
Rhinoに配置したDWGの図面の文字情報を読み込みたい場合などに使えそうですね。
用途に合わせて読み込む方法を選んでみてください。
使用した主なコンポーネント
- [Dynamic Geometry Pipeline] (Human > Reference > Dynamic Geometry Pipeline)
- [Text Object Info] (Human > Reference > Dynamic Geometry Pipeline)
- [Python Script] (Maths > Script > Python Script)