AnyLogic позволяет создавать многоуровневые модели, т.е. многоэтажные здания для моделирования потока пешеходов или сложные многоуровневые конвейеры с помощью библиотеки производственных систем. Во время создания модели вы можете переключаться между уровнями, а также создавать окружение на каждом уровне с помощью элементов разметки пространства.
В каждой модели есть как минимум один уровень, который создается автоматически и называется level. Одновременно редактировать можно только один уровень.
В модели все элементы разметки пространства, фигуры презентации, элементы управления, диаграммы, 3D объекты и инструменты 3D анимации (3D Окно, Камера, Свет) принадлежат какому-либо уровню. Исключением являются элемент масштаб и область просмотра.
У каждого уровня есть абсолютная Z-координата. У элементов уровня значение Z относительное. Оно вычисляется из абсолютной Z-координата уровня, на котором находятся эти элементы. Если элемент является частью группы (фигуры презентации) или сети (пути, узлы, конвейеры, и т.д. ), то значение Z вычисляется для группы или сети.
Уровень, на котором находится элемент можно изменить в свойствах этого элемента. элемент будет перенесен в то же самое место на новом уровне, в котором он был на старом. Если элемент является частью группы (фигуры презентации) или сети (пути, узлы, конвейеры, и т.д. ), то уровень можно будет сменить только для всей группы или сети.
Во время создания модели можно изменить видимость элементов уровня с помощью виджета, расположенного в правом нижнем углу графического редактора.
Виджет содержит список всех уровней в вашей модели. Текущий уровень выделен серым цветом. Щелкните нужный уровень в виджете, чтобы переключиться на него:
Показывать всегда — все, что находится на этом уровне, будет отображаться во время создания модели, как на активном в данный момент уровне.
Затемнять, если неактивный — содержимое уровня будет затемнено в режиме создания модели, если он неактивен в данный момент.
Скрывать, если неактивный — содержимое уровня будет полностью скрыто в режиме создания модели, если уровень в данный момент неактивен.
Уровень (а также все элементы, находящиеся на нем) может быть видимым и невидимым во время выполнения модели. Видимость уровня задается параметром Видимость в его настройках и может быть изменена во время выполнения модели по вызову функции setVisible().
Чтобы переименовать или удалить уровень, необходимо выбрать его в ветке Презентация дерева модели в панели Проекты. При выборе уровня его свойства отобразятся в панели Свойства.
Материальные объекты можно перемещать между уровнями либо конвейерами, соединенными посредством сетевых портов, либо транспортерами. Транспортеры, движение которых осуществляется по сетевым путям и узлам, могут перемещаться между уровнями по сетевым путям, которые соединены сетевыми портами. Транспортеры с произвольной навигацией используют гейты для перемещения между уровнями.
Для передвижения пешеходов между уровнями необходимо использовать целевые линии и блок PedChangeLevel.
Чтобы создать новый уровень
- Щелкните виджет Уровни в графическом редакторе.
- В открывшемся меню выберите Создать новый уровень.
Также вы можете создать новый уровень, добавив новый элемент разметки пространства (фигуру презентации, график и т.д.) в графический редактор.
- Перейдите в свойства добавленной фигуры и выберите опцию [новый уровень] из выпадающего списка Уровень, например:
- Основные свойства
-
Имя — Имя уровня. Имя используется для идентификации уровня и доступа к нему из кода и свойств блоков диаграммы процесса.
Видимость — Здесь вы можете указать, будет ли виден уровень с его элементами на анимации во время выполнения модели. Используя элемент управления, выберите да или нет.
Z — Z-координата уровня.
- Специфические
-
Отображать в — Здесь вы можете выбрать, будет ли содержимое уровня отображаться В 2D и 3D, Только в 2D или Только в 3D.
- Z-координата
-
Функция Описание double getZ() Возвращает Z-координату уровня. - Элементы уровня
-
Функция Описание List<AreaNode> getAreas() Возвращает список всех пешеходных областей на этом уровне, включая сервис с областью. List<BulkConveyorBelt> getBulkConveyorBelts() Возвращает список всех конвейеров для сыпучих материалов на этом уровне. List<ConveyorNetwork> getConveyorNetworks() Возвращает список всех конвейерных сетей на этом уровне. List<Crane> getCranes() Возвращает список всех кранов на этом уровне. List<DensityMap> getDensityMaps() Возвращает список всех карт плотности на этом уровне. DensityMap getDensityMap(DensityMapType type) Возвращает карту плотности заданного типа на этом уровне.
type — тип карты плотности: пешеход или транспортер.List<EscalatorGroup> getEscalators() Возвращает список всех групп эскалаторов на этом уровне. List<LevelGate> getGates() Возвращает список всех гейтов на этом уровне. List<Lift> getLifts() Возвращает список всех подъемников на этом уровне. List<Network> getNetworks() Возвращает список всех сетей на этом уровне. List<Node> getNodes() Возвращает список всех узлов на этом уровне. List<Pathway> getPathways() Возвращает список всех направлений пешеходных потоков на этом уровне. List<PedFlowStatistics> getPedFlowStatistics() Возвращает список всех статистик потоков на этом уровне. List<Pipe> getPipes() Возвращает список всех труб на этом уровне. List<RailwayNetwork> getRailwayNetworks() Возвращает список всех ж/д узлов на этом уровне. List<RoadNetwork> getRoadNetworks() Возвращает список всех дорожных сетей на этом уровне. List<Storage> getStorages() Возвращает список всех складов на этом уровне. List<StorageTank> getStorageTanks() Возвращает список всех резервуаров на этом уровне. List<TargetLine> getTargetLines() Возвращает список всех целевых линий на этом уровне. List<AbstractWall getWalls() Возвращает список всех стен на этом уровне. - Пешеходы
-
Функция Описание Collection<Agent> getPeds() Возвращает неизменяемую переменную типа коллекция, содержащую пешеходов, находящихся на этом уровне. int pedestriansCount() Возвращает общее количество пешеходов, которые в данный момент находятся на этом уровне. - Препятствия
-
Функция Описание List<Obstacle> getObstacles() Возвращает список всех элементов разметки пространства на этом уровне, которые отмечены как препятствие. - Видимость
-
Функция Описание boolean isVisible() Проверяет, отображается ли уровень на анимации во время выполнения модели. Если функция возвращает true — значит, уровень отображается, если false — нет. void setVisible(boolean v) Задает видимость уровня.
v — видимость. Если значение vравно true — то уровень будет отображаться, если равно false — то нет.
-
Как мы можем улучшить эту статью?
-