
- •Содержание
- •Основные принципы настройки
- •Основные возможности настройки
- •Организация программных и вспомогательных файлов
- •Коротко об организации файлов
- •Работа с несколькими конфигурациями
- •Хранение чертежей в нескольких папках
- •Настройка шаблонов Интернет-публикаций
- •Создание пользовательских команд
- •Описание внешних команд
- •Псевдоимена команд
- •Настройка типов линий
- •Обзор описаний типов линий
- •Создание простых типов линий
- •Текстовые объекты в пользовательских типах линий
- •Формы в пользовательских типах линий
- •Пользовательские образцы штриховки
- •Коротко об описании образцов штриховки
- •Образцы штриховки из прерывистых линий
- •Образцы штриховки из составных линий
- •Настройка интерфейса пользователя
- •Обзор диалогового окна "Настройка интерфейса пользователя"
- •Термины, используемые при настройке
- •Изменения в настройке
- •Обзор редактора настройки интерфейса пользователя
- •Фильтр отображения элементов настройки
- •Работа с файлами настройки
- •Основные сведения о файлах настройки
- •Перенос и передача настроек
- •Создание и загрузка частичного файла НПИ
- •Создание корпоративного файла НПИ
- •Команды настройки
- •Создание, редактирование и повторное использование команд
- •Имена команды "Найти" и строки поиска
- •Управление отображением имен команд
- •Создание изображений для команд
- •Создание подсказок в строке состояния
- •Создание макросов
- •Использование в макросах специальных управляющих символов
- •Пауза для пользовательского ввода
- •Поддержка иностранных языков в макросах
- •Повторение команд в макросе
- •Метод выбора объектов "Единственный"
- •Использование макроса для перестановки элементов интерфейса пользователя
- •Использование условных выражений в макросах
- •Использование AutoLISP в макросах
- •Настройка панелей инструментов
- •Создание и редактирование панелей инструментов
- •Добавление или замена элементов управления панели инструментов
- •Создание раскрывающихся и контекстных меню
- •Создание раскрывающегося меню
- •Создание контекстного меню
- •Создание подменю
- •Обращение к раскрывающимся и контекстным меню
- •Подстановка и вставка раскрывающихся меню
- •Задание клавиш быстрого вызова и временной замены
- •Создание операции при двукратном нажатии
- •Настройка кнопок мыши
- •Ввод координат в меню кнопок
- •Настройка элементов интерфейса предыдущей версии
- •Создание планшетных меню
- •Настройка кнопок планшета
- •Создание экранных меню
- •Создание меню мозаики изображений
- •Загрузка файла AutoLISP
- •Настройка рабочего пространства
- •Вопросы и ответы по настройке интерфейса пользователя
- •DIESEL
- •Настройка строки состояния
- •Системная переменная MODEMACRO
- •Присвоение значений MODEMACRO
- •Выражения DIESEL в макросах
- •USERS1-5 Каталог функций языка DIESEL
- •+ (сложение)
- •- (вычитание)
- •* (умножение)
- •/ (деление)
- •= (равно)
- •< (меньше)
- •> (больше)
- •!= (не равно)
- •<= (меньше или равно)
- •>= (больше или равно)
- •angtos
- •edtime
- •eval
- •getenv
- •getvar
- •index
- •rtos
- •strlen
- •substr
- •upper
- •Сообщения об ошибках языка DIESEL
- •Слайды и командные сценарии
- •Создание слайдов
- •Коротко о слайдах
- •Просмотр слайдов
- •Создание и просмотр библиотек слайдов
- •Создание файлов сценариев
- •Коротко о файлах сценариев
- •Вызов сценария при загрузке программы
- •Демонстрация слайдов с помощью сценариев
- •Введение в интерфейсы программирования
- •ActiveX Automation
- •Коротко об ActiveX
- •Запуск приложения из командной строки
- •Запуск приложения из меню или с помощью панели инструментов
- •AutoCAD VBA
- •Основные сведения о AutoCAD VBA
- •Использование приложений AutoCAD VBA
- •Автоматическая загрузка и выполнение проектов VBA
- •AutoLISP и Visual LISP
- •Коротко об AutoLISP и Visual LISP
- •Работа с приложениями AutoLISP
- •Автоматическая загрузка и выполнение процедур AutoLISP
- •Файл ACAD.LSP
- •Файл ACADDOC.LSP
- •MNL-файл и AutoLISP-функции для меню
- •Предотвращение ошибок AutoLISP при выполнении файлов автозагрузки
- •Функция S::STARTUP: выполнение после завершения инициализации чертежа
- •ObjectARX
- •Коротко об ObjectARX
- •Работа с приложениями ObjectARX
- •Обзор .NET
- •Формы и шрифты
- •Коротко о файлах форм
- •Создание файлов описаний форм
- •Описания форм
- •Коды длин и направлений векторов
- •Специальные коды
- •Коды 0, 1 и 2: Конец формы и управление режимом построения
- •Коды 3 и 4: Управление размером
- •Коды 5 и 6: Сохранение и восстановление позиции
- •Код 7: Субформа
- •Коды 8 и 9: Смещения по X-Y
- •Код 00A: Октантная дуга
- •Код 00B: Дробная дуга
- •Коды 00C и 00D: Дуги, заданные прогибом
- •Код 00E: Флаг вертикального текста
- •Описания текстовых шрифтов
- •Файлы-образцы
- •Расширенный одноштриховой Roman
- •Расширенный стандартный шрифт UNICODE
- •Описания больших шрифтов
- •Описание большого шрифта
- •Создание файла расширенного большого шрифта
- •Использование большого шрифта в чертежах
- •Использование большого шрифта для создания специальных символов
- •Описания шрифтов Unicode
- •Верхние и нижние индексы в SHX-файлах
- •Указатель
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