
- •Содержание
- •Основные принципы настройки
- •Основные возможности настройки
- •Организация программных и вспомогательных файлов
- •Коротко об организации файлов
- •Работа с несколькими конфигурациями
- •Хранение чертежей в нескольких папках
- •Настройка шаблонов Интернет-публикаций
- •Создание пользовательских команд
- •Описание внешних команд
- •Псевдоимена команд
- •Настройка типов линий
- •Обзор описаний типов линий
- •Создание простых типов линий
- •Текстовые объекты в пользовательских типах линий
- •Формы в пользовательских типах линий
- •Пользовательские образцы штриховки
- •Коротко об описании образцов штриховки
- •Образцы штриховки из прерывистых линий
- •Образцы штриховки из составных линий
- •Настройка интерфейса пользователя
- •Обзор диалогового окна "Настройка интерфейса пользователя"
- •Термины, используемые при настройке
- •Изменения в настройке
- •Обзор редактора настройки интерфейса пользователя
- •Фильтр отображения элементов настройки
- •Работа с файлами настройки
- •Основные сведения о файлах настройки
- •Перенос и передача настроек
- •Создание и загрузка частичного файла НПИ
- •Создание корпоративного файла НПИ
- •Команды настройки
- •Создание, редактирование и повторное использование команд
- •Имена команды "Найти" и строки поиска
- •Управление отображением имен команд
- •Создание изображений для команд
- •Создание подсказок в строке состояния
- •Создание макросов
- •Использование в макросах специальных управляющих символов
- •Пауза для пользовательского ввода
- •Поддержка иностранных языков в макросах
- •Повторение команд в макросе
- •Метод выбора объектов "Единственный"
- •Использование макроса для перестановки элементов интерфейса пользователя
- •Использование условных выражений в макросах
- •Использование 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-файлах
- •Указатель
помощью AutoLISP можно вызывать различные приложения в зависимости от значения тех или иных параметров.
Запуск приложения из меню или с помощью панели инструментов
Создав новую команду для запуска внешнего приложения, ее можно вызывать из меню или панели инструментов.
Этот макрос можно вызвать из элемента интерфейса в файле настройки (НПИ). Если планируется использовать только одно или два приложения, пункты меню для их вызова можно добавить в одно из стандартных раскрывающихся меню. Если требуется использовать несколько приложений, для них можно создать свое раскрывающееся меню или панель инструментов. Подробнее о создании, редактировании и загрузке файлов настройки см. раздел “Настройка интерфейса пользователя” на стр.35.
AutoCAD VBA
Microsoft Visual Basic for Applications (VBA) является объектно-ориентированным языком программирования с собственной средой разработки и обладает широкими возможностями. Основное отличие VBA от VB (Visual Basic) состоит в том, что VBA работает одновременно с AutoCAD, предоставляя быструю среду для программного управления AutoCAD.
Основные сведения о AutoCAD VBA
VBA может служить средством интеграции различных приложений, в которые встроена поддержка VBA. Таким образом, AutoCAD, может управлять другими приложениями, например, Microsoft Word или Excel, используя их библиотеки объектов.
Чтобы дополнить AutoCAD VBA такими компонентами, как модуль работы с внешними базами данных или средство подготовки отчетов, можно отдельно приобрести пакет Visual Basic 6, являющийся самостоятельным продуктом.
Процесс разработки с помощью AutoCAD VBA
Передача сообщений от VBA к AutoCAD осуществляется с помощью интерфейса
AutoCAD ActiveX Automation Interface. С помощью макроса AutoCAD VBA среда
Visual Basic может работать одновременно с AutoCAD и осуществлять программный контроль AutoCAD через интерфейс ActiveX Automation. Связка AutoCAD, ActiveX Automation и VBA является очень мощным средством программирования. Оно позволяет не только управлять объектами AutoCAD, но и обмениваться данными с другими приложениями.
204 | Глава 7 Введение в интерфейсы программирования
Результатом интеграции VBA и AutoCAD является легкое в использовании средство визуального программирования, которое можно использовать для настройки AutoCAD. С его помощью можно, например, разработать приложение, которое автоматически извлекает значения атрибутов, вставляет результаты в книгу Excel и выполняет другие требуемые манипуляции с данными.
Принципы программирования на VBA для AutoCAD основываются на трех базовых составляющих. Первой составляющей является сама программа AutoCAD, которая обладает большим набором объектов, различных данных и команд. AutoCAD является приложением с открытой архитектурой и имеет интерфейсы различных уровней.
Для эффективного использования VBA желательно иметь навыки программирования под AutoCAD. Однако следует отметить, что положенный в основу VBA объектно-ориентированный подход к программированию существенно отличается от используемого в AutoLISP.
Второй составляющей является интерфейс ActiveX Automation, который определяет порядок передачи сообщений (взаимодействия) с объектами AutoCAD. Программирование на VBA требует понимания принципов организации интерфейса
ActiveX Automation. Описание интерфейса ActiveX Automation применительно к
AutoCAD приводится в документации Руководство разработчика ActiveX и VBA (в меню AutoCAD "Справка" нажмите "Дополнительные ресурсы" "Документация для разработчиков").
Третьей составляющей является, собственно, сама среда VBA. VBA имеет свой собственный набор объектов, ключевых слов, констант и т.д., которые используются при написании, отладке и выполнении программ. В комплект поставки AutoCAD входит обширная справочная система по VBA от Microsoft.
Управление AutoCAD с помощью интерфейса ActiveX/VBA по сравнению с использованием средств API обладает рядом преимуществ.
■Скорость. Приложения ActiveX работают быстрее программ AutoLISP.
■Простота в использовании. Язык и среда разработки VBA легки в освоении и использовании. Установка VBA производится вместе с AutoCAD.
■Взаимодействие с приложениями Windows. ActiveX и VBA разработаны для использования в приложениях Windows и предоставляют прекрасные возможности для организации взаимодействия и обмена данными между различными приложениями.
■Быстрота разработки. Благодаря быстроте проектирования интерфейса приложений с помощью VBA, данная среда может служить прекрасным средством для создания приложений-прототипов, даже если окончательная реализация планируется на другом языке программирования.
■Распространенность. Во всем мире миллионы программистов пользуются языком Visual Basic. Наличие AutoCAD ActiveX/VBA дает возможность выполнять
AutoCAD VBA | 205

настройку AutoCAD и разрабатывать для него приложения программистам, уже владеющим языком Visual Basic 6 или собирающимся его изучать.
Использование приложений AutoCAD VBA
Загрузка VBA-проекта осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне «Макросы».
В отличие от приложений Microsoft, которые используют для хранения проектов, макросов и программ VBA непосредственно документы, AutoCAD для этих целей использует специальные файлы с расширением .dvb. Это обеспечивает возможность взаимодействия интерфейсов VBA с AutoCAD аналогично тому, как это делается в AutoLISP и ObjectARX. Благодаря тому, что проекты VBA хранятся в отдельных файлах, в одном сеансе AutoCAD приложения VBA могут открывать и закрывать различные чертежи.
ПРИМЕЧАНИЕ Двоичный формат файлов проектов VBA в AutoCAD не совместим с форматом проектов Visual Basic 6 (файлами VBP). Однако из интегрированной среды разработки IDE (integrated development environment) VBA можно экспортировать и импортировать формы, модули и классы, используя для этого команды ИМПОРТ и ЭКСПОРТ.
Загрузка VBA-проекта осуществляется командой VBALOAD. После загрузки модули и макросы проекта становятся доступными в диалоговом окне "Макросы". Для выполнения модуля VBA служит команда VBARUN. Если не загружено ни одного проекта VBA, данные опции недоступны. При выводе процедур в списке с именами макросов используется следующий синтаксис:
ожзсфя.онвржм
В диалоговом окне "Макросы" перечнем отображаемых в списке модулей можно управлять с помощью списка "Макросы из".
Использование командной строки для запуска макросов VBA
Для выполнения макросов из командной строки AutoCAD следует вызвать команду -VBARUN (дефис перед именем команды VBARUN означает вызов варианта команды, использующего интерфейс командной строки). Макросы VBA можно вызывать из командной строки, сценариев, а также из других средств программирования AutoCAD. Единственным аргументом команды должно быть имя модуля и макроса VBA, отделенные точкой (модуль.макрос). Образец вызова выглядит следующим образом:
-vbarun <модуль. макрос>
206 | Глава 7 Введение в интерфейсы программирования