如何在AnyLogic中获取起重机桥/吊钩的X坐标并存入变量
解决AnyLogic桥式起重机实时位置获取问题
提取Position类型的坐标值
getBridgePosition()和getHookPosition()返回的Position类型可直接通过属性访问坐标:
- 获取桥的实时X坐标:
crane.getBridgePosition().x - 获取吊钩的实时X、Y坐标:
crane.getHookPosition().x、crane.getHookPosition().y
解决变量不实时更新的问题
普通变量仅显示初始位置,是因为默认仅在模型初始化时计算一次值,可通过以下两种方式处理:
- 使用动态变量:在变量属性中勾选「Dynamic」,将变量的Value设置为上述坐标表达式(比如
crane.getHookPosition().x),每次访问变量时都会重新计算实时值。 - 主动更新变量:在起重机的移动触发逻辑中(比如
onMove事件、控制移动的代码块),添加赋值语句强制更新变量,示例:hookXPosition = crane.getHookPosition().x; hookYPosition = crane.getHookPosition().y;
注意事项
不要直接调用craneBridge.getX(),该方法返回的是图形元素的初始位置,无法反映仿真过程中的实时移动位置,必须使用起重机对象提供的getBridgePosition()或getHookPosition()方法。
内容的提问来源于stack exchange,提问作者Alex Lukoyanov
相关产品推荐
相关产品推荐

