首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在传送带的顶端找到代理商-正确使用ConveyorPath.getAgent()?

在传送带的顶端找到代理商-正确使用ConveyorPath.getAgent()?
EN

Stack Overflow用户
提问于 2021-11-29 19:31:25
回答 1查看 75关注 0票数 2

在我的模型中,有一个码垛区,一个码垛剂移动到一个靠近堆积输送机的位置,捡起那个输送机上的最后一个盒子,并把它转移到一个托盘上。

我正试图找到最好的方法来引用传送带上的最后一个盒子,并将它存储在一个变量中。

我知道ConveyorPath.getAgent(),文档化的这里,但它似乎不能正常工作,引发以下错误:

代码语言:javascript
复制
Code : v_box = v_conveyorPath.getAgent(0);    
Error : Description: Type mismatch: cannot convert from Agent to Box.

我已经进入我的传送带标记,并将“材料项目类型”字段更改为"Box",但没有效果。

我在这里做错什么了?如何让ConveyorPath返回Box类型而不是Agent类型?

谢谢。

编辑:运行测试后,我可以确认我的传送带上的代理商是Box级的。

代码语言:javascript
复制
traceln(conveyor.getAgent(0).getClass());
Output : class modelname.Box

然而,我仍然不能在变量的内部存储对该Box的引用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-30 04:52:51

你可以简单地把你得到的代理变成一个盒子。

Box myBox = (Box)conveyor.getAgent(0)

请记住,如果在传送带上有任何不是盒子的东西,这种类型的铸造就会造成错误。

在这里阅读更多casting.asp

但是如果您在传送器对象中指定您拥有的对象是盒子,或者在本例中在纸箱下面,

然后,get函数将返回指定类型的代理,因此没有铸造条目。

后一种选择在大多数模型中是最安全的,也可能是更正确的方法。

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

https://stackoverflow.com/questions/70160330

复制
相关文章

相似问题

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