<< Click to Display Table of Contents >> Пример: Как создать новый графический объект. |
![]() ![]() ![]() |
Давайте создадим объект насоса, состоящий из двух простых объектов.: Эллипс и Полигон:
Давайте сгруппируем данные объекты:
Добавим 3 тега в наш проект:
Мы хотим, чтобы цвет эллипса был привязан к тегу с таким именем: Pump{number}State. Где {number} номер экземпляра. А также мы хотим, чтобы при нажатии пользователем на объект появлялось всплывающее окно с информацией о состоянии и описанием. Всплывающее окно выглядит так:
Где объекты с именами PumpState и PumpDescription (тексты этих объектов аналогичны названию объектов)отобразит информацию о состоянии насоса и его описание.
Для объекта эллипса создадим определяемые пользователем свойства - number и description. Для этого вам нужно дважды щелкнуть по объекту Ellipse. (или выберите пункт меню Свойства объекта из контекстного меню) в Окне экрана:
Появится окно свойств объекта:
Нажмите кнопку Коллекция свойства Пользовательские и добавьте наши свойства:
Затем закройте это окно и окно Свойства объекта нажав OK для того чтобы подтвердить эти изменения. Откройте окно со свойствами Эллипса и откройте закладку Цвет заливки:
Для того чтобы привязать тег к данному свойству нажмите "..." и запишите Pump{number}State, где {number} наше пользовательское свойство:
Нажмите OK и закройте окно Выбора тега. Т.к. пользовательское свойство "number" равно 1 свойство Цвет заливки будет привязано к тегу Pump1State:
Нажмите OK для того чтобы закрыть окно свойств объекта. Давайте проверим функциональность. Запустите иммитацию и измените значение тега Pump1State с false на true:
Для того чтобы вызвать всплывающее окно давайте создадим скрипт:
Данный скрипт добавим к скриптам объекта Эллипс:
Текст скрипта выглядит следующим образом:
Теперь, когда вы нажмете на эллипс насоса, вы увидите окно (в зависимости от значения тега). Вы можете создать другой экземпляр насоса и изменить определяемое пользователем свойство number на 2 или 3 для того чтобы привязать насосы к тегам Pump2State и Pump3State. Вы также можете изменить свойство description для каждого эллипса насоса:
Внимание! Возможно, лучше использовать Полигон для хранения определяемых пользователем свойств и действия щелчка, потому что он находится над Эллипс. Или, как вариант, вы можете использовать прозрачный прямоугольник по всему объекту группы и использовать его действие OnClick.
Теперь мы можем добавить этот графический объект в нашу библиотеку.:
Теперь откроем окно Добавить графический объект и найдем нашу библиотеку. Щелкните его правой кнопкой мыши и выберите пункт меню «Экспорт библиотеки плюс». Появится диалоговое окно файла. Введите имя библиотеки и нажмите Сохранить. Эта библиотека будет сохранена с объектом, а также с сохраненным скриптом, который мы создали в этом проекте, и со всплывающем окне. Теперь, если вы хотите использовать этот объект с этим всплывающим окном и скриптом, просто импортируйте его в другой проект.
Важно! В новом проекте вам нужно создать такие же имена тегов.