Комплект инструментальных средств создания
И редактирования сегментов
В нижнем меню комплекта инструментальных средств есть опции добавления и удаления сегментов. Для добавления сегментов к пути используют опциюInsert After(вставка после). Каждый новый сегмент начинается с конца предшествующего сегмента, соединенного с началом стрелки, и указывается щелчком мыши. При задании начала нового пути опция Insert After вызывается автоматически. Для исправления ошибок построения пути из сегментов используют клавиши <Backspace (возврат на один символ) > или <Delete (удалить)>.
Insert Before (Вставка перед), Insert After (Вставка после)
Если сегмент выбран, то в путь можно вставлять один или более сегментов перед ним, нажимая Insert Before (вставка перед), или после него, нажимая Insert After (вставка после). Для нового сегмента пути Insert After выбирается автоматически.
Delete Segment (Удалить сегмент)
Delete Segment позволяет удалить выбранный сегмент. После того как сегмент удален, выбирается предыдущий сегмент. Удалять сегменты можно неоднократно, вплоть до достижения начала пути. Если предыдущий сегмент отсутствует, то выбирается следующий сегмент. Можно удалять выбранные сегменты, используя клавиши <Backspace> или <Delete>.
Reverse Segment (Направить сегмент)
Reverse Segment позволяет задавать направление выбранного сегмента. Reverse Segment полезен в том случае, если сегмент, особенно первый сегмент пути, направлен неправильно и необходимо повторно выбрать сегмент. Для добавления сегментов после их изменения необходимо сначала нажать Insert After.
Traverse Path (Двигаться по пути)
Traverse Path позволяет просмотреть последовательно весь путь по сегментам. Для выхода из Traverse Path используют <Esc>.
Файл трассировки
Управление динамическими объектами в Proof Animation осуществляется посредством файла трассировки (Trace File). Файл трассировки содержит упорядоченную последовательность команд, в соответствии с которыми Proof Animation выполняет определенные действия в анимационной модели. Такой список команд может быть написан имитационной моделью (GPSS/H-программой). Для написания файла управления вручную можно использовать текстовый редактор, создающий не форматируемые текстовые файлы (например, встроенный редактор NC). Далее рассмотрим основные команды файла трассировки.
Время компьютерной анимации
Команда TIME является основной командой файла трассировки компьютерной анимации в Proof Animation. Синтаксис команды TIME:
TIME <значение времени>
Команду TIME используют для того, чтобы задать часам компьютерной анимации новое значение. Proof Animation продолжает отображать анимацию до тех пор, пока время, определенное в команде TIME, не будет достигнуто. После этого Proof Animation читает и обрабатывает следующую строку в файле следа компьютерной анимации.
Создание объекта
Основным элементом в компьютерной анимации является Object (объект). Объект – это динамический элемент, который может перемещаться на экране. Над объектом выполняют следующие действия: создание, уничтожение, помещение в координатную точку, изменение цвета, изменение формы, перемещение по пути, перемещение от одной отметки до другой, изменение быстродействия, вращение.
При создании объекта вводится его спецификация – класс объектов. Это удобно, поскольку объект может наследовать свойства класса.
Для имен Object Class устанавливают некоторые простые правила. Верхние и строчные символы букв обрабатывают как уникальные символы в именах идентификатора. Каждое имя должно начинаться с буквенного символа (A-Z или a-z). Имена могут быть длиной не более шестнадцати символов.
Перед тем как объект появится на экране, его сначала нужно создать в файле следа анимации, для этого используют команду Create.
Синтаксис команды Create:
CREATE <имя класса> <номер объекта>
Например: CREATE Car 20
Имя класса должно содержать имя класса объектов, который сохранен в файле размещения (*.lay файл). Номер объектаявляется номером или именем Object (объекта). Номер и имя должны быть уникальными.
Размещение объекта на экране
Proof Animation имеет несколько команд, которые заставляют Object появляться на экране. Основной является команда типа - PLACE ... AT .
Синтаксис PLACE ... AT:
PLACE <номер объекта> AT x у
Например: PLACE 52 AT 12.5 25
PLACE ... AT заставляет Object появляться в системе координат Proof Animation, но не заставляет его двигаться.
Удаление объекта
Удаление объектов с экрана осуществляется командой DESTROY. При этом объект удаляется только с экрана, а на класс объектов данная команда не воздействует.
Синтаксис для DESTROY:
DESTROY <имя объекта>
Установка и изменение цвета объекта
Если объект уже видим на экране, можно изменить его цвет при помощи команды SET COLOR в файле следа.
Синтаксис команды SET COLOR:
SET <имя объекта> COLOR
В Proof Animation используются цвета двух типов:
- Цвета фона:
BACKDROP (Black)
LAYOUT (Lay)
- Цвета активного слоя:
BLUE или F1
RED – F2
WHITE – F3
YELLOW – F4
PINK – F5
TAN – F6
GREEN – F7
Для определения цвета используется соответствующий номер с буквой F или английское название цвета. Например,
SET 3 COLOR F2
SET ВОХ COLOR RED
Объекты фоновых цветов двигаются без интерференции через другие объекты. Если два объекта цвета активного слоя соприкоснутся друг с другом, то область перекрытия будет показана в третьем отличном цвете. Если произойдет наложение двух одинаковых объектов одного активного цвета, то появится цвет самого нижнего слоя BACKDROP (объекты станут невидимы).
Перемещение объектов между двумя точками
Движение по прямой между двумя точками применяется для перемещения объектов в точку, координаты которой известны или могут быть вычислены в ходе выполнения имитационной модели. Для такого перемещения используется команда MOVE.
Синтаксис команды MOVE:
MOVE <имя объекта> (скорость движения) (x) (у) [RELATIVE]
При выполнении этой команды объекты двигаются по прямой линии между двумя точками. Объект сразу начинает движение из текущих координат к точке с координатами (x, y) с заданной скоростью. Достигнув заданных координат, он останется в этой точке на время, соответствующее модулю времени, определенному в команде TIME. Если используется ключевое слово RELATIVE, то объект начнет перемещаться из текущих координат на заданное количество модулей в направлении х и y. Например, по команде: MOVE 21 10 4 6 RELATIVE объект 21 начнет перемещаться из текущих координат на 4 единицы в направлении х и на 6 единиц в направлении у со скоростью 10.
Рассмотрим еще один пример. Допустим, что объект робокар «rob» создан. Тогда в результате выполнения подпрограммы:
TIME 50
MOVE rob 10 40 50
TIME 60
по достижении текущего времени TIME 50 объект «rob» начнет перемещаться со скоростью 10 в точку с координатами х = 40, у = 50. Его перемещение будет продолжаться 60 – 50 = 10 единиц времени.
Перемещение объектов по пути
Если Object помещен на Path и быстродействие Path-и или Object-а больше чем ноль, Object автоматически будет двигаться по Path-и, пока не достигнет конца, если некоторая другая команда файла следа компьютерной анимации (например, DESTROY или END) не прервет движение.
Команда для использования Paths – PLACE ... ON. Синтаксис для PLACE ... ON:
PLACE <номер объекта> ON <имя пути>
Например: PLACE Box ON Conveyor
Вращение Объектов
Если объект помещен на экран, его можно вращать. Причем это вращение не зависит от действий над объектами, т.е. во время вращения можно изменять цвет объекта, перемещать его командой MOVE или помещать на путь. Для вращения объектов используется команда ROTATE.
Синтаксис команды:
ROTATE <имя объекта> [TO] <угол> TIME <время> <шаг>
ROTATE <имя объекта> TO <угол> SPEED <скорость> <шаг>
Угол поворота и шаг измеряются в градусах, продолжительность поворота в единицах времени Proof Animation, скорость поворота в градусах на единицу времени. Положительный угол – против часовой стрелки, а отрицательный – по часовой. Если задать угол, но не задавать продолжительность и скорость поворота, то вращение произойдет мгновенно. Если определить скорость поворота, но не определять угол, то объект будет вращаться с этой скоростью до выполнения другой команды ROTATE или до отмены этой команды. Использование ROTATE со скоростью 0 остановит вращение. Плавность вращательного движения управляется величиной шага. По умолчанию Proof Аnimation вращает объект с приращением 30˚.
Вращение может быть абсолютным и относительным.При абсолютном вращении в команде ROTATE перед углом ставится опция TO. Если опустить опцию ТО в команде ROTATE, то вращение будет относительным.
Пример абсолютного вращения:
ROTATE 1 TO 90
... мгновенно вращает объект 1 на угол 90˚ против часовой стрелки (рис. 41).
Рис. 41. Пример абсолютного вращения
ROTATE 1 120
... мгновенно вращает объект 1 на 120˚ против часовой стрелки относительно положения, в которое его поместили командой PLACE ... ON.
Пример относительного вращения:
ROTATE 1 90
... мгновенно вращает объект 1 на угол 90˚ против часовой стрелки (рис. 42).
Рис. 42. Пример относительного вращения
ROTATE 1 120
... мгновенно вращает объект 1 на 120˚ против часовой стрелки относительно текущей позиции.
Другие примеры команды ROTATE:
ROTATE 1 SPEED -90
... непрерывно вращает объект 1 по часовой стрелке относительно горячей точки на 360˚ (четыре единицы времени Proof Animation). Другая команда ROTATE с определенным углом остановит непрерывное вращение.
ROTATE 1 90 TIME 10
ROTATE 1 90 SPEED 9
... эквивалентные команды вращают объект 1 в три шага (т.к. по умолчанию 30˚) за 10 единиц времени Proof Animation. Вращение заканчивается, когда объект повернется на 90˚ против часовой стрелки относительно текущей ориентации.
ROTATE 1 90 TIME 10 STEP 5
... то же, что и в предыдущем примере, но объект будет делать 18 шагов вместо трех, для поворота на 90˚ (здесь отменяется заданный по умолчанию размер шага – 30˚).
Изменение содержания сообщения
Прежде чем вывести динамическое сообщение, необходимо его создать и определить его прототип в цвете Backdrop режиме Draw Mode по команде Message. Изменить сообщение (его цвет и содержание) можно по команде WRITE.
Синтаксис команды WRITE:
WRITE <имя сообщения> <текст сообщения>
Например, по команде:
WRITE line1 Control of robocar
в линию line1 (должна быть определена в разметке) помещается надпись «Control of robocar» (Управление робокаром).
Завершение анимации
Файл следа обязательно должен заканчиваться командой END.
Синтаксис команды END:
END
Пример анимационного моделирования
Процедуру создания анимационной модели покажем на примере изготовления деталей разными типами станков.
Заготовка последовательно обрабатывается двумя типами станков (типом А и В). Группа станков А включает два станка. В начале процесса заготовка в течение 15 единиц времени транспортируется до станков типа А, откуда поступает на обработку на первый станок группы. Здесь происходит ее обработка в течение 10 единиц времени. После этого полуфабрикат в течение 5 единиц времени поступает на обработку на станок типа В. Окончательная обработка детали занимает 20 единиц времени. Готовая деталь транспортируется в течение 5 единиц в накопитель. После этого к станкам группы А поступает вторая заготовка и процесс повторяется за исключением того, что в группе А заготовка обрабатывается вторым станком. Необходимо создать анимационную модель технологического процесса.
Метод построения модели
Войдем в Student Proof Animation путем загрузки файла spa.exe. Выберем в верхнем меню пункт Mode, а в нем режим Draw Mode. С помощью набора команд Student Proof Animation нарисуем статические элементы технологии: станки, траектории движения деталей (в невидимом цвете Backdrop) и необходимый текст (рис. 43).
Рис. 43. Статические элементы технологии
(пунктиром показаны траектории движения динамических
элементов, в режиме Draw они невидимы)
В режиме Class Mode выберем опцию «New class» и нарисуем динамический объект (класс) – деталь (под именем det) (рис. 44).
Рис. 44. Динамический объект технологии
В режиме Path Mode выберем опцию «New Path», создадим пути на основе уже нарисованных (в режиме Draw) траекторий движения деталей и назовем их р1, р2 и р3. Выберем в меню опцию «Time» и впишем время движения по пути, равное 15 для р1 и 5 для р2 и р3 (рис. 45).
Рис. 45. Пути движения динамических объектов
Сохраним файл разметки как primera.lay и выйдем из Proof Animation.
При помощи текстового редактора (Far, NC, VC, Блокнот, WordPad и т.п.), формирующего ASCII файлы, используя команды Student Proof Animation для управления динамическими объектами, создадим файл трассировки с тем же названием, что и файл разметки (*.lay файл), но с расширением *.atf – primera.atf. Листинг файла трассировки приведен ниже:
TIME 0
CREATE det 1
PLACE 1 ON p1
TIME 15
PLACE 1 29 15
TIME 25
SET 1 COLOR YELLOW
PLACE 1 ON p2
TIME 30
PLACE 1 55 25
TIME 50
SET 1 COLOR RED
PLACE 1 ON p3
TIME 55
CREATE det 2
PLACE 2 ON p1
TIME 70
PLACE 2 29 35
TIME 80
SET 2 COLOR YELLOW
PLACE 2 ON p2
TIME 85
PLACE 2 55 25
TIME 105
SET 2 COLOR RED
PLACE 2 ON p3
TIME 110
END
Сохраним этот файл в той же директории, что и файл разметки.
После сохранения файла управления (как primera.atf) запустим анимацию, выбрав файл spa.exe и нажав клавишу <Enter>. Выведем на экран анимационную модель технологии путем входа с помощью мыши в пункт «File» верхнего горизонтального меню, подпункт «Open Layout&Trace». В появившемся вертикальном меню выберем пункт primera путем нажатия на нем клавиши мыши. В режиме «RUN» командой «Go» запустим программу на выполнение.
На рис. 46 представлен фрагмент анимации технологии изготовления деталей.
Рис. 46. Фрагмент анимации технологии изготовления деталей