全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
微信公众号第48期 路径导航 第二步和第五步设置没有详细解释图片 第五步代码部分也没有示例  有哪位大神会吗?帮助一下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
小王子波 发表于 2020-4-16 18:27:50 | 只看该作者
您需要了解哪块的逻辑?
第二步监听任务执行器的任务,然后获取任务参数,都有相应命令。
第五部的路径闪烁,实际就是实体的红选与取消红选。
3#
 楼主| 草莓味的可爱多 发表于 2020-4-18 19:18:35 | 只看该作者
小王子波 发表于 2020-4-16 18:27
您需要了解哪块的逻辑?
第二步监听任务执行器的任务,然后获取任务参数,都有相应命令。
第五部的路径闪 ...

您好 第二步骤那个没看懂任务执行器在哪设置还有事件对象 能否截图给我看看  第三部分获取行进任务参数第三个value代码截图不全,第四部分迭代路径感觉代码也不全 看不到后面 您要是知道能否告知一下 或者您有那个案例模型给我一下 我研究也可以 毕设想用这个 我做了没出来 谢谢啦
4#
小王子波 发表于 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;
复制代码
希望以上代码能对您有所帮助。


5#
 楼主| 草莓味的可爱多 发表于 2020-4-20 17:41:34 | 只看该作者
小王子波 发表于 2020-4-20 16:12
Step 2:监听事件,监听对象是网络节点,网络节点时间有个参数traveller,设置为token.te。
Step 3 :St ...

太感谢了 我去试试
6#
 楼主| 草莓味的可爱多 发表于 2020-4-21 22:39:11 | 只看该作者
你好  我这个又报异常了  好像是没有这个方法的定义呀  我是版本不对么


Flexscript Error        MODEL:/Tools/ProcessFlow/ProcessFlow/获取路径上的网络节点>labels/1/2 Line 7                Unknown command getPathWayNetWork being called
Flexscript Error        MODEL:/Tools/ProcessFlow/ProcessFlow/获取路径上的网络节点>labels/1/2        Could not resolve correct operator for construct operation. Left side type is Variant&, right type is (invalid)
Flexscript Error        MODEL:/Tools/ProcessFlow/ProcessFlow/获取路径上的网络节点>labels/1/2       
Could not finish parsing because of previous errors.
7#
zhouyubin 发表于 2022-8-25 16:54:43 | 只看该作者
这个用户命令有点问题,NNarray =  getPathWayNetWork(nextnetnode, nn2, NNarray);参数多吧?能再给看看嘛?
8#
xu123 发表于 2022-8-26 14:12:47 | 只看该作者
zhouyubin 发表于 2022-8-25 16:54
这个用户命令有点问题,NNarray =  getPathWayNetWork(nextnetnode, nn2, NNarray);参数多吧?能再给看看嘛 ...

这个应该是因为这个函数还没有结束,不能调用吧,我这用了另外的逻辑
else
{
   while(objectexists(nextnetnode ))
  {
     NNarray.push(nextnetnode );
nextnetnode = netnodefromrank( getnextnetnode(rankfromnetnode(nextnetnode ),rankfromnetnode(nn2)));
   }
}
你把报错那行代码替换成我这一段就可以了,其余地方不动
9#
zhouyubin 发表于 2022-8-30 08:28:34 | 只看该作者
xu123 发表于 2022-8-26 14:12
这个应该是因为这个函数还没有结束,不能调用吧,我这用了另外的逻辑
else
{

可以了,非常感谢
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-25 21:28 , Processed in 0.077614 second(s), 14 queries .

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

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