vcDataContainer
General purpose Python wrapper for data such as event arguments. The available Properties are different depending on each use case.
Examples
Example. Custom transport controller to handle "Work" statements
|
from vcScript import * global events events = [] comp = getComponent() def my_work(data_cont_): # gets an event when "Work" statement gets executed # store the "Work" data to "events" global list global events data = ["Work", data_cont_] events.append(data) trigger.signal(True) def OnRun(): # simulation starts global events while True: # waits until "events" global list has content condition(lambda: events) event = events.pop(0) if event[0] == "Work": data_cont = event[1] # read data_cont (vcDataContainer) work_id = data_cont.RequestId work_time = data_cont.ProcessTime resource_mtx = data_cont.ResourcePositionMatrix #move_resource(resource_mtx) # not implemented delay(work_time) tc.workDone(work_id) # initialize variables tc = comp.findBehaviour("TransportController") tc.OnBeginWorkEx = my_work trigger = comp.findBehaviour('Trigger') |