第五课 简单新建一个车站的建模
作者:互联网
拖拉一个path,
pedSource
pedGoTo
拖拉一个变量名称为:是否启动限行,初始值:false,
拖拉一个SelectOutput,设置属性Select True output属性:if condition is true,Condition :!是否启动限行
拖拉一个pedGoTo2模块,Route设置为Follow route,Route设置为刚才的path1
再设置一个变量名称为:限流强度,初始值是0.5
在pedService的Delay time属性中设置为限流强度。
在main窗口拖拉一个silder滑块来设置限流,设置maximun value:10,
Action:outPart.限流强度=self.getValue();
在main窗口拖拉一个Check Box,Label 为启动限流,在Action属性中设置为:
if(self.isSelected()){
outPart.是否启动限行=true;
slider.setValue(outPart.限流强度);
}else{
outPart.是否启动限行=false;
}
再拖拉一个schedule模块。
然后再pedSource模块,设置Arrive according to:Rate schedule,Rate schedule为刚才的schedule。
设置一个新的agent:Pedestrian,再加上一个行李箱。设置一个变量:variable,Type:boolean。
再设置一个Pedestrain Density Map来设置人口热力图。拖拉一个复选框名称为:显示站外人口热力图。
2.在FirstFloor模块下,建立新的流程库
行李过安检的方式如下:
在ped安检时在on exit queue属性中判断是否携带行李:
if(ped.是否携带行李){
source.inject();
ped.box_1_closed.setVisible(false);
}
在sink模块下设置为:pedWait.free(pedWait.getPeds().iterator().next());
再画一个楼梯和一个电梯。
在FirstFloor拖拉一个queue,设置其容量属性为5。
hold 模块初始值是打开的,在Actions 的on enter属性设置为counter++。
设置一个参数,名字为par,初始值为5,变量为counter,初始值为0,函数为function,做限流的处理,每次放五个人过去,在函数体内的代码如下:
在ped安检的属性中,设置on exit:
FirstFloor窗口的主体模块如下所示:
新增加一个新的agent,名称为SecondFloor。拖拉相关的逻辑。
使用流程库来模拟一趟列车,source设置其Arrivals defined by:Interarrival time,Interarrival time:120
拖拉moveTo,delay,设置等待10秒,再拖拉一个moveTo1和sink。
拖拉一个path,来假设轨道,可在外观—类型的属性中选择”轨道“类型。可以在其上选择Point Node来设定其开始出现和结束的节点。
再创建一个列车,选择Agent Type,名称为MyTrain,在其后面追加几节车厢即可。
添加一个hold模块,当列车没有到来的时候阻挡乘客。来设置他的相关属性。
然后在流程图模块的delay模块中,设置相关的属性:
来设置下车的相关流程。
拖拉一个pesSource,设置其属性:选择智能体群,初试智能体数为2,因为有两个下车点。
再创建下车的车门的集合为:col车门
拖拉一个pedGoTo模块,选择相关的路线。如targetLine4。
这是整个的一个过程。
标签:设置,一个,车站,第五课,建模,限流,模块,拖拉,属性 来源: https://blog.csdn.net/m0_57037182/article/details/120539786