Вы можете создавать нестандартные типы ресурсов со своими диаграммами, куда вы сможете добавлять параметры, диаграммы состояний, функции и так далее. Также вы можете выбирать и с легкостью изменять нестандартную анимацию для созданного вами типа ресурса.
Чтобы создать нестандартный тип ресурса
-
Перетащите элемент Тип ресурса из палитры Библиотеки Моделирования Процессов в графический редактор.
- Появится диалоговое окно Создание агентов.
- На первой странице Мастера, укажите Имя нового типа.
-
Выберите тип анимации для ресурсов этого типа. Если вы хотите, чтобы ресурсы отображались и в 2D, и в 3D, выберите 3D и выберите 3D фигуру анимации из списка ниже, в ином случае, выберите 2D и выберите фигуру из другого списка. Если ни одна фигура не подходит вам, выберите опцию Нет. Вы можете нарисовать фигуру анимации в типе агента позже в любое время.
- Закончив выбирать фигуру анимации, щелкните кнопку Далее, чтобы перейти на следующий шаг.
-
Укажите параметры для этого типа ресурсов. Щелкните мышью кнопку < добавить... > в списке параметров, чтобы добавить новый параметр. Выделив этот параметр в списке, вы можете настроить его имя, тип и значение по умолчанию в настройках на панели справа. Чтобы удалить параметр из списка, щелкните кнопку
.
- Щелкните Готово.
Откроется графическая диаграмма только что созданного вами типа ресурсов. Вы увидите там выбранную вами фигуру анимации ресурса и параметры, заданные вами в Мастере создания нового типа ресурсов.
Теперь вы можете использовать этот тип ресурсов в параметрах блоков диаграммы процесса.
Поскольку нестандартные типы ресурсов являются типами агентов, в AnyLogic возможно расширить их функциональность с помощью дополнительных переменных, параметров, функций и других элементов.
При использовании такого типа ресурса в диаграмме процесса — например, с помощью взаимодействующего с ресурсами этого типа блока Seize — вам может понадобиться получить доступ к этим внутренним элементам в контексте задействованного ресурса. Для получения доступа к вложенным элементам типа ресурса вам необходимо явно указать необходимый тип агента.
Предположим, в модели имеется набор ресурсов (нестандартного типа), который называется Cashiers и включает несколько единиц ресурса типа Cashier. На диаграмме агента Cashier присутствует parameter булева типа isBusy, которому по умолчанию присвоено значение false. Мы хотим изменить значение на true для задействованной единицы этого ресурса.
Для этого введите следующий код в поле При захвате ресурса в разделе Действия на панели свойств блока Seize:
((Cashier)unit).isBusy = false;
Обратите внимание, что мы обращаемся к типу агента Cashier, а не к набору ресурсов Cashiers.
Используя аналогичный подход, вы можете получить доступ к другим элементам агентов нестандартного типа ресурса, чтобы менять их значения, выполнять функции и так далее.
Чтобы узнать больше о параметрах нестандартных агентов, изучите данный материал: Получение доступа к параметрам нестандартных агентов в свойствах блоков диаграммы процесса.
-
Как мы можем улучшить эту статью?
-