【发布时间】:2019-10-03 17:12:28
【问题描述】:
尊敬的堆栈溢出社区,
我正在尝试在 AnyLogic(版本 7.1.2 大学)中创建一个托盘架,其中单元数、层数和一些其他属性是从参数设置的。在从模拟页面执行模型之前设置参数。有没有人这样做过?
在我看来,问题从不允许将参数设置为值但需要数字(“单元数:10”而不是“单元数:myParameter”)的托盘机架属性开始。但是有一些预定义的函数,比如“setNumberOfPositions(int nPositions),所以我想我可以通过在模拟开始时(在零时间)调用这些函数来避免这个问题。我为此使用了事件的动作字段.
这导致了一个异常,说“root:palletRack:标记元素已经初始化,不能修改。请使用不带参数的构造函数,执行设置,最后调用initialize()函数。”。
由于无法在 Java 编辑器中修改任何内容,我尝试在事件操作字段中构建托盘架:
PalletRack palletRack = new PalletRack();
palletRack.setOwner(this);
[...]
palletRack.setNumberOfPositions(p_CellsInX);
palletRack.setNumberOfLevels(p_CellsInY);
palletRack.setCellWidth(p_WidthOfCell);
palletRack.setLevelHeight(p_HeightOfCell);
palletRack.initialize();
这没有抛出任何错误,但也没有构建机架。
另外,我尝试在我的函数前添加“@Override”。
有没有人知道如何使用参数初始化托盘架或覆盖初始值?
显然,我是 AnyLogic 的初学者。我将非常感谢任何建议。提前谢谢!
【问题讨论】:
标签: anylogic