Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
343
Добавлен:
29.05.2015
Размер:
3.15 Mб
Скачать

ActiveX Automation

ActiveX Automation - это разработанная компанией Microsoft® технология, которая основана на архитектуре компонентной объектной модели (COM). Этот интерфейс позволяет производить настройку AutoCAD, использовать хранящиеся в чертежах данные совместно с другими приложениями, а также автоматизировать выполнение различных задач.

Коротко об ActiveX

Можно создавать объекты AutoCAD и управлять ими из любого приложения, выполняющего функцию контроллера автоматизации. Интерфейс Automation позволяет работать с другими приложениями на макроуровне, что невозможно в

AutoLISP.

С помощью интерфейса Automation программа AutoCAD обеспечивает доступ к своим программируемым объектам, определяемым объектной моделью AutoCAD. Это позволяет создавать, редактировать и управлять ими из внешних приложений. Любое приложение, которое может работать с объектной моделью AutoCAD, называется контроллером автоматизации. Наиболее часто для управления приложениями с помощью технологии автоматизации используется Visual Basic for Applications (VBA). Эта реализация языка Visual Basic является составной частью большинства приложений, входящих в продукт Microsoft Office. Для управления AutoCAD можно использовать эти приложения или любые другие контроллеры автоматизации, такие как Visual Basic, .NET и Delphi.

Реализация интерфейса ActiveX для AutoCAD имеет два следующих преимущества.

Программный доступ к чертежам AutoCAD можно осуществлять из самых разных сред программирования. До разработки ActiveX Automation были доступны только интерфейсы AutoLISP и C++.

Существенно упростилось совместное использование данных с другими приложениями, например, Microsoft Excel и Microsoft Word.

Подробная информация об управлении AutoCAD с помощью языка VBA и интерфейса ActiveX Automation содержится в документации Руководство разработчика ActiveX и VBA и Справка по ActiveX и VBA в справочной системе. В меню "Справка" выберите "Дополнительные ресурсы" "Документация для разработчиков".

Можно, например, выдать запрос в командной строке, изменить настройки, создать набор объектов или найти нужные объекты чертежа. Тип используемых средств для создания контроллера следует выбирать с учетом сложности манипуляций, которые будут выполняться с объектами чертежа.

202 | Глава 7 Введение в интерфейсы программирования

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

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

Свойства являются функциями, которые позволяют устанавливать или получать информацию о состоянии объекта. События - это операции или вызовы, инициированные пользователем, на которые отвечает программа.

Приложение практически любого назначения имеет возможность работать с объектами Automation непосредственно в среде AutoCAD. В качестве таких приложений могут выступать отдельные исполняемые exe-файлы, библиотеки динамической компоновки (DLL-файлы), а также макросы, созданные в таких приложениях, как Microsoft Word или Microsoft Excel. Однако на практике наиболее вероятно применение отдельных исполняемых exe-файлов. При использовании приложений сторонних разработчиков необходимо следовать прилагаемым к ним инструкциями по установке и использованию продукта.

См. также:

Руководство разработчика ActiveX и VBA Справка по ActiveX и VBA

Запуск приложения из командной строки

С помощью файла acad.pgp можно определить новую команду AutoCAD, которая вызывает внешнюю команду для запуска нужного приложения. В приведенном ниже примере определяется команда ЗПРИЛ1, которая вызывает приложение app1. exe из папки c:\vbapps\ . (Этот фрагмент кода необходимо добавить в раздел внешних команд файла acad.pgp.)

ЗПРИЛ1, start c:\vbapps\app1, 0

Если при запуске приложения требуется задавать определенные параметры, можно воспользоваться следующим примером:

RUNAPP2, start c:\vbapps\app2, 0, *Параметры: ,

В этом примере определяется команда ЗПРИЛ2, при выполнении которой запрашиваются параметры, передаваемые впоследствии запускаемому приложению.

Другой способ запуска приложений, использующих Automation, заключается в применении функции AutoLISP startapp. При этом после запуска внешнего приложения управление его выполнением из AutoLISP невозможно. Однако с

ActiveX Automation | 203

Соседние файлы в папке Справочные материалы