Grasshopperコンポーネントでリスト型の出力のメモ。
RegisterOutputParams()
RegisterOutputParams()でパラメータを追加する際にGH_ParamAccess.listを指定するだけ。
protected override void RegisterOutputParams(GH_OutputParamManager pManager)
{
// 文字列の出力
pManager.AddTextParameter("Memo", "Memo", "Memo", GH_ParamAccess.item);
// リスト型の出力
pManager.AddTextParameter("Items", "Items", "Items", GH_ParamAccess.list);
}
SolveInstance()
SolveInstance()ではリスト型のデータをDA.SetDataList()メソッドで引き渡せばOK。
protected override void SolveInstance(IGH_DataAccess DA)
{
List<string> items = new List<string>();
items.Add("Milk");
items.Add("Bread");
items.Add("Cheese");
DA.SetData(0, "Shopping List");
DA.SetDataList(1, items );
}
実行例
実行するとこんな感じ。拍子抜けするほど簡単。
動作環境
以下の環境で動作を確認しています。
Windows11 Pro(64bit, 21H2)
Visual Studio Professional 2022(17.0.5)
Rhino 7 SR17(7.17.22102.5001, 2022-04-12)