Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...
Топ:
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
История развития методов оптимизации: теорема Куна-Таккера, метод Лагранжа, роль выпуклости в оптимизации...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Элементы ActiveX - это программный интерфейс, который используется в поддерживающих его языках программирования. Элементы ActiveX обеспечивают взаимодействие между объектами, с одной стороны, и пользователем или приложением, с другой стороны. Технология ActiveX позволяет получать информацию об объектах чертежа с помощью функций доступа (get functions) и модифицировать объекты с помощью функций модификации (put functions).
Выше было рассмотрено, как извлекать и модифицировать информацию об объектах с помощью функций-интерфейсов на языке AutoLISP. Элементы ActiveX обеспечивают аналогичный способ получения и модификации информации. Однако для этого необходима определенная подготовка.
AutoCAD предоставляет все свои объекты, включая функции доступа и модификации, в распоряжение элементов ActiveX. Вначале в Visual LISP необходимо перед началом сеанса работы загрузить все функции ActiveX с помощью функции (vl-load-com) ↵
При этом все функции-интерфейсы ActiveX станут доступными. Загрузив интерфейс ActiveX, можно выполнить необходимые действия над созданным ранее отрезком. Но вначале нужно преобразовать имя сущности в объект vla. Этот объект ActiveX практически ничем не отличается от имени сущности, но содержит ряд свойств, которые отсутствуют в его аналоге в языке AutoLISP. Для преобразования используется функция vlax-ename-> vla -object. Пример обращения к этой фунции:
(setq vla-line (vlax-ename->vla-object (entlast)))↵Среда Visual LISP возвратит следующее выражение:#<VLA-OBJECT IAcadLine 03612b14>Протокол операций будет выглядеть следующим образом:
Command: _line Specify first point: 5,5,0Specify next point or [Undo]: 15,-5,0Specify next point or [Undo]: *Cancel*Command: '_.zoom _eCommand: (vl-load-com)Command: (setq vla-line (vlax-ename->vla-object (entlast)))#<VLA-OBJECT IAcadLine 01f1bb4c>Возвращаемое значение переменной есть объект vla. Теперь можно визуально отслеживать значения этой переменной, выделив ее и выбрав команду VIEW - INSPECT. То же самое можно сделать в окне CONSOLE, запустив функцию (vlax-dump-object vla -line) ↵
Возникающее окно инспектора показано на рис. 9.2.

Рис. 9.2. Окно инспектора объекта VLA
Для получения начальной точки объекта используется функция VLA -GET-STARTPOINT. В рассматриваемом примере отрезок был преобразован в объект vla, свойства которого содержит переменная vla -line. Для получения начальной точки можно ввести следующее выражение:
(setq Starting (vla-get-startpoint vla-line))↵В ответ будет выдано сообщение:
#<variant 8197 …>Чтобы преобразовать координаты начальной точки из типа данных variant к координатному формату, введите следующую строку кода:
(safe-array-value (vlax-variant-value Starting))↵Теперь Visual LISP возвратит координаты начальной точки отрезка: (5.0 5.0 0)
Чтобы изменить значение свойства StartPoint на (0,0,0), напишите выражение:
(vla-put-startpoint vla-line (vlax-3d-point '(0 0 0)))↵Проверьте отрезок в окне AutoCAD. Для проверки значения свойства StartPoint можно также воспользоваться функцией VLA -GET-STARTPOINT.
(safe-array-value (vlax-variant-value (vla-get-startpoint vla-line)))↵Теперь Visual LISP возвратит такое значение: 1. 0.0 0.0
Задание 9.1
Получение и модификация свойств объектов
1. На новом чертеже постройте отрезок (5,5,0)-(15,5,0).
2. В окне CONSOLE редактора AutoLISP введите команду загрузки функции ActiveX (vl-load-com) ↵
3. Для преобразования имени сущности в объект vla введите: (setq vla -line (vlax-ename-> vla -object (entlast))) ↵
4. Чтобы просмотреть свойства объекта введите (vlax-dump-object vla -line)
5. Для получения начальной точки отрезка введите: (setq Starting (vla -get-startpoint vla -line)) ↵
6. Для преобразования координат начальной точки из типа данных variant к формату отображения координат введите: (safearray-value (vlax-variant-value Starting)) ↵
7. Чтобы изменить координаты начальной точки отрезка на 0,0,0, введите: (vla -put-startpoint vla -line (vlax-3d-point '(0 0 0))) ↵
8. Проверьте отрезок - его начальная точка находится в начале координат.
|
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!