Grasshopperコンポーネントでリスト型出力

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)


コメントを残す

メールアドレスが公開されることはありません。