首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能只为存储中的代理设置“清除障碍”?

是否有可能只为存储中的代理设置“清除障碍”?
EN

Stack Overflow用户
提问于 2022-02-21 11:17:49
回答 1查看 39关注 0票数 0

我试图模拟一个物流中心,在那里托盘是移动的。我希望我的舰队的运输者能够自由地通过整个中心,并驾驶超过仓库,因为储藏室只是地面上的标记在现实中。因此,我取消了存储属性中的“无障碍”复选框。但现在,如果运输工具在仓库里的话,他们也会从我的托盘上开过去。我已经试着把一堵长方形的墙放在我的托盘下面,但它没有起作用。我想当托盘被储存的时候,它们就会成为存储的一部分。是否可能只把我仓库里的托盘设置为障碍,而不是把仓库本身设置成障碍呢?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2022-02-21 12:18:01

您可以在每个托盘的存储位置下设置小的单托盘、托盘架,然后使用setObstacle(isObstacle)动态地将它们更改为障碍物(如果您在该位置放置托盘)。

如果它们使动画看起来很奇怪,您可以将其可见性设置为false。

如果您有很多地方放置托盘,您也可以使用编程创建这些虚拟托盘架。

代码语言:javascript
复制
palletRack = new PalletRack(this, SHAPE_DRAW_2D3D, true, true, 130.0, 230.0, 0.0, 20.0, 20.0, 20.0, 50.0, 0.0, PALLET_RACK_SINGLE_AISLE_RIGHT, PALLET_RACK_NO_DIRECTION,
            0.0, 40.0, 20.0, 1, 1, 1, lavender, dodgerBlue, 2 );

有关构造函数的详细信息,请参阅“帮助”。

由于处理起来可能很麻烦,所以我可以建议以下建议--虽然还没有测试过,但是它应该能工作--每次存储托盘时都要创建您的虚拟托盘架。

您可能需要使用presentation.add(palletRack)将其添加到演示文稿中,然后再次删除它。

否则,我只需创建所有可能的托盘位置的地图,并为每个位置创建一个虚拟托盘,然后当您存储托盘时,托盘检查它的位置,然后从集合中查找正确的虚拟托盘并调用setObstacle(true)。当你把它从调色板架上移开的时候,你把它设置为假的.

如果你想使用自由移动运输,唯一的方式有障碍被打开或关闭是与障碍的特点,AnyLogic创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71205414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档