Skip to content

Instantly share code, notes, and snippets.

@saitohiroaki1122
Last active January 17, 2018 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save saitohiroaki1122/5b31f7b1d12a1340a18062e835293e24 to your computer and use it in GitHub Desktop.
Save saitohiroaki1122/5b31f7b1d12a1340a18062e835293e24 to your computer and use it in GitHub Desktop.
GH C#Component tips_入力したBooleanToggleの初期値を設定する
private void RunScript(bool x, ref object A)
{
}
// <Custom additional code>
GH_ComponentParamServer ghCPS;
public override void AfterRunScript()
{
ghCPS = this.Component.Params;
for(int i = 0; i < ghCPS.Input.Count; i++)
{
if(ghCPS.Input[i].SourceCount != 0)
{
switch(i)
{
case 0:
SetBooleanToggle(i, "Super Riser", false);
break;
}
}
}
}
//AfterRunScript内でBooleanToggleを操作するためのメソッド
public void SetBooleanToggle(
int rowNumber, string name, bool defaultParam)
{
//サンプルデータとして入力が想定されるコンポーネントを
//BooleanToggleと決めつけた書き方(他のタイプだとエラーになる)
ghCPS = this.Component.Params;
var boolToggle = (Grasshopper.Kernel.Special.GH_BooleanToggle)
ghCPS.Input[rowNumber].Sources[0];
//BooleanToggleがデフォルトの名前を持っている場合に書き換えを実行する
//ユーザーが変更できるNickNameを判定には使わない
if(boolToggle.Name != name)
{
boolToggle.Name = name;
boolToggle.NickName = name;
boolToggle.ExpireSolution(true);
}
}
// </Custom additional code>
}
@saitohiroaki1122
Copy link
Author

setbooleantoggle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment