全球FlexSim系统仿真中文论坛

搜索
查看: 3034|回复: 8
打印 上一主题 下一主题

微信公众号第48期 路径导航模型问题

[复制链接]
1#
小王子波 发表于 2020-4-16 18:27:50 | 显示全部楼层
您需要了解哪块的逻辑?
第二步监听任务执行器的任务,然后获取任务参数,都有相应命令。
第五部的路径闪烁,实际就是实体的红选与取消红选。
2#
小王子波 发表于 2020-4-20 16:12:59 | 显示全部楼层
草莓味的可爱多 发表于 2020-4-18 19:18
您好 第二步骤那个没看懂任务执行器在哪设置还有事件对象 能否截图给我看看  第三部分获取行进任务参数第 ...

Step 2:监听事件,监听对象是网络节点,网络节点时间有个参数traveller,设置为token.te。
Step 3 :
  1. gettaskinvolved(token.activeTs, token.curTaskRank, 1)
复制代码
Step 4:用户命令
  1. Object nn1 = param(1);
  2. Object nn2 = param(2);
  3. Array NNarray = param(3);

  4. if(!objectexists(nn1))
  5. {
  6.         msg("Warning", "User Commands: getPathWayNetWork param 1 is Non-existent");
  7.         stop();
  8.         return NNarray;
  9. }
  10. if(!objectexists(nn2))
  11. {
  12.         msg("Warning", "User Commands: getPathWayNetWork param 2 is Non-existent");
  13.         stop();
  14.         return NNarray;
  15. }

  16. if(!(isclasstype(nn1, CLASSTYPE_NETWORKNODE) && isclasstype(nn2, CLASSTYPE_NETWORKNODE)) )
  17. {
  18.         msg("Warning", "These two points have Non-NetworkNodes!");
  19.         stop();
  20.         return NNarray;
  21. }
  22. double dis = getnetworkdistance(rankfromnetnode(nn1), rankfromnetnode(nn2));
  23. if(dis >= GLOBAL_UNREACHABLE)
  24. {
  25.         msg("Warning", "These two points are not connected");
  26.         stop();
  27.         return NNarray;
  28. }
  29. Object nextnetnode = netnodefromrank( getnextnetnode(rankfromnetnode(nn1),rankfromnetnode(nn2)));
  30. if(NNarray.indexOf(nn1) <= 0)
  31.         NNarray.push(nn1);
  32. else{
  33.         return NNarray;
  34. }
  35. if(!objectexists(nextnetnode))
  36.         return NNarray;
  37. NNarray =  getPathWayNetWork(nextnetnode, nn2, NNarray);
  38. return NNarray;
复制代码
希望以上代码能对您有所帮助。


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-5-5 04:25 , Processed in 0.058494 second(s), 13 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表