Варианты
Методы
Каждому объекту (не только графическому) соответствует перечень действий, которые можно применять к данному объекту. Эти действия называются «методами».
Методы ActiveX позволяют:
· создавать графические объекты, в том числе трехмерные (клин, конус, параллелепипед, тор, цилиндр, шар, эллиптический конус («стог сена»), плоские объекты в пространстве (не в плоскости XY), произвольные 3D-объекты способом вращения или выдавливания по траектории);
Пример.
(vla-AddBox pm (vlax-3D-point (getpoint)) 50 30 10) - создание параллелепипеда указанных размеров (длина (x), ширина (y), высота(z)) от введенной базовой точки. Функция vlax-3D-point создает точку в формате варианта (вариант – новый тип данных).
· редактировать существующие графические объекты (изменять их свойства), в том числе масштабировать, копировать, удалять, размножать в форме массивов и т.д., а также клонировать объекты в другой документ или из другого документа;
· выполнять булевы операции над трехмерными телами;
· изменять и добавлять пункты главного, падающих или контекстных меню, а также кнопки в панелях инструментов;
· вставлять в чертеж изображения растровых файлов (можно, например, использовать фотографии реальной местности для фона чертежа);
· создавать таблицы и редактировать их конфигурацию (изменять количество и размеры столбцов и строк), форматировать данные внутри таблицы;
· производить измерения в области графических построений (на чертеже);
· работать с внешними базами данных;
· управлять настройками печати;
· посылать команды и сообщения в командную строку;
и т. д.
Получить список всех методов объекта можно с помощью функции vlax-dump-object.
Таким образом, на AutoLISP е можно перепрограммировать любые операции AutoCAD а и создавать новые. Эти возможности, в сочетании с работой с «частичными адаптациями», являются средством для создания программ-надстроек над AutoCAD ом и программ на платформе AutoCAD а.
При создании VLA -объектов в качестве аргументов могут фигурировать данные нового типа. Этот тип данных называется «вариантом».
Вариант – это структура, которая может хранить объекты разных типов.
Например, функция создания окружности vla-AddCircle используется с двумя аргументами: центром и радиусом, причем центр должен быть вариантом, а радиус – вещественным числом с двойной точностью.
Перед созданием VLA -объекта предварительно должен быть создан вариант, требуемый данному VLA -объекту.
К вариантам могут применяться функции редактирования, что позволяет их изменять и относиться к ним как к обычным данным.
Свойства объектов понимаются в обычном смысле слова. Например, свойствами окружности являются центр, радиус, вес линии, цвет линии, принадлежность слою и т. д.
Для VLA -объектов применимы функции чтения свойств и редактирования свойств. Редактирование свойств приводит к изменению (редактированию) VLA -объекта. Например, можно изменить цвет одного объекта или семейства объектов, изменить вес семейства отрезков и т. д.
В технологии ActiveX доступны, например, следующие свойства объектов:
· текущий размерный стиль со своими настройками, текущие тип и вес линий, текущий текстовый стиль со своими настройками и т. д. (свойства относятся к объекту Document – открытый чертеж);
· точки, определяющие положение, форму и размеры графического примитива (например, пять точек эллипса, четыре точки прямоугольника, пять точек размера и т. д.);
· численные параметры графических примитивов (например, редактирование длины окружности или площади круга приводит к автоматическому изменению радиуса). Это позволяет редактировать графические примитивы наиболее удобным образом;
· параметры штриховки и заливки, в том числе пользовательской штриховки;
· цвет графических объектов и цвет фона экрана;
· яркость и контрастность вставленного растрового изображения;
· режим отображения proxy -объектов (объектов других приложений);
· настройки интерфейса (привязки, отображение сетки, режим ортогональности, отображение веса линий, расположение панелей и размер кнопок, цвет перекрестия, шрифт командной строки и т. д.);
· параметры печати (область печати, масштабирование, качество, количество копий и т. д.);
· масштабирование весов линий при печати;
· комментарии, включаемые в автоматическую подпись чертежа (комментарии на чертеже не отображаются);
и т.д.
Имена функций чтения свойств образуются по следующему правилу: vla-get -имяобъекта.
Имена функций редактирования свойств образуются по следующему правилу: vla-put -имяобъекта.
Некоторые свойства объектов дублируют некоторые системные переменные. Так, например, установка цвета, текущего типа линий, формата размеров и т. д. возможна как через установку значений системных переменных, так и через установку свойств с помощью технологии ActiveX.