Рисунок 9 - Добавление 3D объекта Навигация в 3D анимации
Теперь можно запустить модель и увидеть простую 3D анимацию.
Когда вы добавляете 3D окно, AnyLogic создает область просмотра, где вы можете с легкостью управлять 3D просмотром в ходе выполнения модели. Чтобы переключиться в 3D обзор во время выполнения модели, откройте панель разработчика, щелкнув по элементу управления
Панель разработчика
в
правом углу панели управления. В панели
разработчика раскройте список
выбрать область и показать и
выберите опцию
[window3d].
Управляйте 3D сценой с помощью следующих команд:
Чтобы |
Используйте мышь следующим образом |
Передвинуть сцену |
|
Повернуть сцену |
|
Приблизить/удалить сцену |
1. Прокручивайте колесо мыши в окне 3D по направлению к себе, чтобы приблизить сцену, и от себя - чтобы удалить. |
Добавить пастонамазочную машину
Выберите станцию обработки pastingMachine и в ее свойствах задайте Видимость: нет. Таким образом анимация станции по умолчанию не будет отображаться во время выполнения модели и не помешает 3D анимации.
Перейдите
в палитру
3D
объекты.
Перетащите 3D объект Пастонамазочная машина из секции Производство палитры на графический редактор агента Main и разместите его поверх станции pastingMachine.
Появится диалоговое окно Автомасштабирование 3D объекта.
Поскольку мы изменили масштаб модели по умолчанию, масштаб 3D объектов, добавляемых с палитры, должен меняться соответствующим образом, чтобы гармонично выглядеть во время выполнения модели.
В диалоговом окне щелкните кнопку Да.
Нарисовать стены
Рисунок 10 – Стены
Дважды
щелкните мышью
по
элементу Стена
в секции
Пешеходы палитры
Разметка
пространства, чтобы перейти в режим
рисования.
Щелкните в точке, где должен начаться сегмент стены. Вторым щелчком обозначьте, где будет находиться угол. Дважды щелкните по графическому редактору, чтобы разместить конечную точку сегмента стены.
В нашем плане есть несколько стен одинакового размера. Чтобы не рисовать их все снова и снова, воспользуйтесь копированием. Нарисуйте одну стену, а потом перетащите ее на новое место, зажав клавишу Ctrl на клавиатуре. Повторите это действие столько раз, сколько вам нужно будет сделать копий.
Чтобы отрегулировать расположение стены, выберите ее и используйте сочетание клавиш Shift+стрелка.
Используйте
элемент Прямоугольная стена, чтобы
нарисовать сплошную область. Принципы
рисования у данного элемента те же, что
и у элемента
разметки пространства
Прямоугольный
узел.
Зажмите клавишу Ctrl и выделите все нарисованные стены одну за другой. В панели свойств отобразится Выбрано n элемента(ов).
В секции Внешний вид укажите Цвет: серый.
В секции Местоположение и размер укажите Z-Высота: 20.
Фаза 2. Моделирование движения погрузчиков с произвольной навигацией
Создайте погрузчики
Перетащите элемент Тип транспортера из палитры Библиотеки производственных систем на графическую диаграмму агента
Main.
В диалоговом окне Создание агента укажите Имя типа агента:
Forklift.
Щелкните по кнопке Готово.
Откройте секцию Склады и контейнерные терминалы палитры 3D объекты и перетащите элемент Погрузчик на графическую диаграмму агента Forklift.
Приведите размер 3D объекта в соответствие с масштабом агента.
В секции Размеры и движение свойств агента Forklift укажите следующее:
Длина: 2 м
Ширина: 1.3 м
Высота: 1.5 м
В поле При запуске в секции свойств агента Действия агента добавьте строку кода, которая позволит задать местоположение перевозимого объекта по отношению к центральной точке
погрузчика: setCargoPosition(1, 0, 0, METER);
Рисунок 11 – Свойства
Нарисуйте базовое местоположение погрузчиков
Перетащите Прямоугольный узел с палитры Разметка пространства на графическую диаграмму агента Main.
Назовите его forkliftHomeLocation.
В свойствах узла выберите опцию Видимость: нет.
Разместите узел в соответствии с изображением ниже:
Рисунок 12 - Расположение узла
Нарисуйте сушильную камеру
Перетащите Прямоугольный узел с палитры Разметка пространства на графическую диаграмму агента Main.
Назовите curingOven.
В свойствах узла выберите опцию Видимость: нет.
Измените размер узла и его местоположение так, чтобы они соответствовали изображению ниже:
Рисунок 13 - Сушильная камера
В свойствах узла щелкните кнопку Аттракторы..., чтобы задать местоположение агентов в узле.
В диалоговом окне выберите опцию Сетка и задайте значения 5 x
Перетащите аттракторы, чтобы изменить их местоположение. Добавьте 3D анимацию
Откройте палитру 3D объекты.
Перетащите элемент Сушильная камера из секции Производство на графический редактор агента Main и разместите его поверх аттрактора в узле curingOven.
В открывшемся диалоговом окне Автомасштабирование 3D объекта щелкните кнопку Да.
Расположите объект так, чтобы он находился в пределах стен нашего плана и полностью закрывал собой аттрактор.
Скопируйте 3D объект (Ctrl+перетаскивание) и разместите копию на следующем аттракторе. Повторяйте процесс, пока все аттракторы в узле curingOven не будут закрыты 3D объектами.
Задайте управление погрузчиками в диаграмме процесса
Откройте
палитру
Библиотеки
производственных систем и
перетащите
блок Transporter
Fleet на графическую диаграмму
агента
Main.
Назовите его forklifts.
В свойствах блока укажите следующее:
В параметре Тип навигации выберите опцию Произвольное перемещение. Теперь погрузчики в нашей модели будут перемещаться в пространстве самостоятельно и сами смогут объезжать препятствия в производственном цехе.
Задайте Количество транспортеров: 2. Двух погрузчиков будет достаточно, чтобы перевозить партии электродов между областью ожидания и сушильными камерами.
В параметре Базовое местоположение (узлы) выберите узел
forkliftHomeLocation.
Задайте Радиус поворота: 1 м.
В параметре Новый транспортер выберите тип агента Forklift.
Задайте Максимальную скорость: 0.5 м/с.
Перетащите
блок
MoveByTransporter
с палитры
Библиотеки
производственных систем на графическую
диаграмму
агента Main
и поместите его в диаграмму процесса
после блока
batch.
В свойствах блока укажите следующее:
Имя: toOven
Место назначения: Node
Узел: curingOven
Автопарк: forklifts
Время погрузки: 1 минуты
Время разгрузки: 1 минуты
Задать процесс сушки электродов
После того, как электроды были доставлены в сушильную камеру, начнется процесс дегидратации. В реальности такие процессы занимают от 12 до 24 часов. Для целей нашего учебного пособия мы значительно сократили это время.
Перетащите
блок
Delay
с
палитры Библиотеки
моделирования процессов на
графическую
диаграмму Main
и разместите ее
в диаграмме
процесса после блока
toOven.
В свойствах блока delay задайте Время задержки: 2 минуты.
Укажите Место агентов: curingOven.
Запустите модель и посмотрите, как погрузчики перевозят партии электродов.
Задайте перемещение электродов в область ожидания
Нарисуйте прямоугольный узел на плане в соответствии с изображением ниже.
Назовите его preassembleElectrodeBuffer.
С помощью этого узла мы задаем место, куда погрузчики будут доставлять партии электродов, прошедших дегидратацию.
Рисунок 14 – Узел
В свойствах узла выберите опцию Видимость: нет.
Задайте Расположение внутри: Упорядоченное.
Добавьте в диаграмму процесса еще один блок MoveByTransporter и расположите его после блока delay.
Назовите новый блок toElectrodeBuffer.
В свойствах блока toElectrodeBuffer укажите следующее:
Узел: preassembleElectrodeBuffer
Автопарк: forklifts
Время погрузки: 0.5 минуты
Время разгрузки: 0.5 минуты
Запустите модель и посмотрите, как погрузчики выполняют перемещение груза и двигаются среди препятствий в режиме произвольной навигации.
Фаза 3. Обертывание электродов в конверты и сборка групп Нарисуйте конвейер, станции и область сборки
Дважды щелкните по элементу Конвейер палитры Библиотека производственных систем.
Нарисуйте конвейер в соответствии с изображением ниже.
Назовите его wrappingConveyor.
Чтобы создать скругленный поворот, поставьте точку там, где поворот должен начаться, затем поставьте точку в месте, где поворот должен снова перейти в прямую линию и, не отпуская левую клавишу мыши, двигайте мышь, пока не добьетесь нужной формы от сегмента поворота. Когда это произойдет, отпустите кнопку мыши и продолжайте рисовать прямую линию.
Рисунок 15 – Конвейер
В свойствах конвейера укажите следующее:
Тип материального объекта: Electrode
Z: 20
Ширина: 0.5 м
В итоге ваш конвейер должен выглядеть следующим образом:
Рисунок 16 - Итоговый конвейер
Перетащите элемент Станция обработки с палитры Библиотека производственных систем на графический редактор агента Main и разместите его на конвейере wrappingConveyor.
Назовите станцию wrappingStation.
В свойствах станции выберите опцию Видимость: нет.
Настройте свойства wrappingStation следующим образом:
Длина: 0.5 м.
Время обработки: 1 секунда
Оставьте неизменным значение параметра Вместимость: 1.
В параметре Загрузка выберите опцию Идет одновременно с выгрузкой.
Теперь нам нужно задать области, где будет проходить процесс сборки электродов в группу. Разные этапы сборки будут происходить в разных областях. Мы воспользуемся элементом Прямоугольный узел, чтобы определить границы этих областей:
wrappedElectrodeBuffer - временная область ожидания, где обернутые в конверты электроды находятся перед тем, как их начнут объединять в группы. Ширина: 25 и Высота: 20.
assembleArea - область, где происходит непосредственная сборка в группы.
Ширина: 15 и Высота: 20.
assembledBlocksBuffer - временная область хранения собранных блоков электродов. Ширина: 20 и Высота: 20.
Размеры этих узлов нужно задавать с максимальной точностью, чтобы они не выступали из-под 3D объекта, который мы добавим на следующем этапе моделирования.
Рисунок 17 - Прямоугольный узел
В свойствах каждого из трех узлов укажите следующее:
Видимость: нет
Расположение внутри: Упорядоченное
Z: 20
Добавьте 3D анимацию
Перетащите 3D объект Конвертировщик с палитры 3D объекты на графическую диаграмму агента Main.
В диалоговом окне Автомасштабирование 3D объекта щелкните кнопку Да.
Расположите 3D объект поверх станции wrappingStation так, как указано на изображении ниже:
Рисунок 18 - 3D объект
Таким же образом используйте 3D объект Машина пайки блоков аккумулятора из палитры 3D объекты, чтобы создать анимацию для области сборки блоков.
В свойствах 3D объекта задайте Доп. масштабирование: 160% для всех составных частей объекта. Чтобы выбрать составную часть, щелкайте мышью по объекту. При первом щелчке выбирается объект целиком, при втором - первая составная часть, при третьем - вторая составная часть.
С помощью метки-манипулятора разверните 3D объект на 90 градусов вправо. Обратите внимание на изображение ниже: так машина для пайки блоков должна выглядеть на графическом редакторе в вашей модели:
Рисунок 19 - Машина пайки блоков аккумуляторов Добавьте процесс обертывания электродов в диаграмму процесса Сначала мы разберем партии электродов на отдельные электроды.
Перетащите
блок Unbatch
с
палитры Библиотеки моделирования
процессов на графическую
диаграмму
агента Main
и
разместите
его в диаграмме процессов перед блоком
sink.
Назовите новый блок unbatchElectrodes.
В параметре Тип элемента свойств блока выберите Electrode.
Добавьте блок Convey в диаграмму процесса после блока unbatchElectrodes.
Назовите новый блок wrappingConvey.
В свойствах блока укажите следующее: