Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ПГК_2009.doc
Скачиваний:
8
Добавлен:
01.04.2025
Размер:
614 Кб
Скачать
☆

Варианты

При создании VLA-объектов в качестве аргументов могут фигурировать данные нового типа. Этот тип данных называется «вариантом».

Вариант – это структура, которая может хранить объекты разных типов.

Например, функция создания окружности vla-AddCircle используется с двумя аргументами: центром и радиусом, причем центр должен быть вариантом, а радиус – вещественным числом с двойной точностью.

Перед созданием VLA-объекта предварительно должен быть создан вариант, требуемый данному VLA-объекту.

К вариантам могут применяться функции редактирования, что позволяет их изменять и относиться к ним как к обычным данным.

Свойства

Свойства объектов понимаются в обычном смысле слова. Например, свойствами окружности являются центр, радиус, вес линии, цвет линии, принадлежность слою и т. д.

Для VLA-объектов применимы функции чтения свойств и редактирования свойств. Редактирование свойств приводит к изменению (редактированию) VLA-объекта. Например, можно изменить цвет одного объекта или семейства объектов, изменить вес семейства отрезков и т. д.

В технологии ActiveX доступны, например, следующие свойства объектов:

  • текущий размерный стиль со своими настройками, текущие тип и вес линий, текущий текстовый стиль со своими настройками и т. д. (свойства относятся к объекту Document – открытый чертеж);

  • точки, определяющие положение, форму и размеры графического примитива (например, пять точек эллипса, четыре точки прямоугольника, пять точек размера и т. д.);

  • численные параметры графических примитивов (например, редактирование длины окружности или площади круга приводит к автоматическому изменению радиуса). Это позволяет редактировать графические примитивы наиболее удобным образом;

  • параметры штриховки и заливки, в том числе пользовательской штриховки;

  • цвет графических объектов и цвет фона экрана;

  • яркость и контрастность вставленного растрового изображения;

  • режим отображения proxy-объектов (объектов других приложений);

  • настройки интерфейса (привязки, отображение сетки, режим ортогональности, отображение веса линий, расположение панелей и размер кнопок, цвет перекрестия, шрифт командной строки и т. д.);

  • параметры печати (область печати, масштабирование, качество, количество копий и т. д.);

  • масштабирование весов линий при печати;

  • комментарии, включаемые в автоматическую подпись чертежа (комментарии на чертеже не отображаются);

и т.д.

Имена функций чтения свойств образуются по следующему правилу: vla-get-имяобъекта.

Имена функций редактирования свойств образуются по следующему правилу: vla-put-имяобъекта.

Некоторые свойства объектов дублируют некоторые системные переменные. Так, например, установка цвета, текущего типа линий, формата размеров и т. д. возможна как через установку значений системных переменных, так и через установку свойств с помощью технологии ActiveX.

Другие функции ActiveX

Кроме функций, реализующих методы объектов, и функций для работы со свойствами объектов, существуют функции, позволяющие автоматизировать некоторые операции, в том числе вычислительные.

Функции команд и методов позволяют создавать новые команды AutoCAD, применять методы (действия) к объектам.

Функции операций над объектами применяют какую-либо функцию сразу ко всем объектам семейства.

Функции операций с кривыми.

В технологии ActiveX к кривым относятся все графические примитивы (окружность, отрезок, сплайн, эллипс и т. д.), к которым применимы следующие операции:

  • вычисление площади замкнутой кривой;

  • вычисление характерных точек кривой (при выборе примитивов характерные точки подсвечиваются);

  • вычисление длины кривой между характерными точками;

  • проверка кривой на замкнутость;

  • проверка кривой на периодичность;

  • вычисление первой и второй производных в заданной точке кривой;

и т. д.

Кроме этого, технология ActiveX дает возможность работы с несколькими одновременно открытыми чертежами.