Python で作ったリストのリストを Grasshopper のデータツリーとして扱えないという問題で、今日はリストのリストを、一つにまとめたリストと各リストに入っていた要素の個数のリストに分割するという方法をとりましたが、Python の中でデータツリーにして出力する方法を堀川さんに教えて頂きました。
以下コードです:
import rhinoscriptsyntax as rs
import Rhino
import scriptcontext as sc
import clr
clr.AddReference("Grasshopper")
from Grasshopper.Kernel.Data import GH_Path
from Grasshopper import DataTree
tree = DataTree[object]()
for i in range(list.Count):
l = x[i]
path = GH_Path(i)
for n in range(len(l)):
pt = l[n]
tree.Add(pt,path)
a = tree
上記のスクリプトを新しく作成した Python コンポーネントに書き込んで、Python のリストを入力してください。細かい原理は難しいのですが、 Python でデータツリーを扱うことがそのままではできないので、scriptcontext, clr で Grasshopper のカーネルにアクセスして拡張する必要があるのだそうです。今後の ghpython のバージョンアップに期待します。
Comments are closed.