Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
2021-06-30 | 38 |
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-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!