Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Генеалогическое древо Султанов Османской империи: Османские правители, вначале, будучи еще бейлербеями Анатолии, женились на дочерях византийских императоров...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
|
из
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. Проверьте отрезок - его начальная точка находится в начале координат.
|
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!