ghpython中的循环默认输出最终结果,而不是输出每一次循环的结果,怎样能得到每次循环的结果并输出呢
比如图中的情况,希望a输出端随时间变化依次输出0,1,2,3……
需要定义一个列表来收集需要输出的数据。
定义列表的话是输出列表吗?那怎样能让列表随时间变化呢
你是想做一个计时器刷新数据?
if(reset==False):
x = 0
else:
x +=1
a = x
如果不想要 Trigger电池就用委托回调去刷新电池。ScheduleSolution
准备录个视频,把委托回调的方法也补充了一下。这样就不需要Trigger刷新电池了
#1:首先初始化变量
#2:利用Trigger刷新电池
#3:如果不想要Trigger电池,可以使用委托回调来刷新电池
"""
public void ScheduleSolution(
int delay,
GH_Document.GH_ScheduleDelegate callback
)
"""
import Grasshopper.Kernel.GH_Document as gd
if(reset==False):
x = 0
list = []#初始化一个列表来收集数据
else:
x+=1
list.append(x)
doc = ghenv.Component.OnPingDocument()#获取GH的当前文档
#这里需要定一个lambda创建函数
doc.ScheduleSolution(20,gd.GH_ScheduleDelegate(lambda e:ghenv.Component.ExpireSolution(False)))
a = list
太棒了,谢谢老师