Николай Полещук
AutoCAD _ 2ОО4 разработка
приложений и адаптация
ее
Николай Полещук
разработка приложений и адаптация
Санкт-Петербург «БХВ-Петербург> 2004
Содержание Проекты и FAS-приложения VL Х-приложения Выполнение команд AutoCAD из программы пользователя Программа рисования штампа чертежа Оформление функций пользователя Б пиле новых команд AutoCAD Работа с примитивами Доступ к табличным данным и неграфлческим объектам Расширенные данные Команды работы с расширенными данными Другие способы хранения данных ActiveX Функции, реализующие ActiveX Новые типы данных Реакторы Применение СОМ Построение таблицы спецификации с импортом данных из файла Excel 2002 Анализ методов и свойств приложения Excel Тестовый файл книги Excel Тексты программ Анализ программ Экспорт данных в таблицу Excel 2002 Текст программы Анализ программы Интеграция приложений Дополнительные средства меню Express
236 239 245 247 250 251 252 254 257 257 259 259 260 261 263 264 264 266 268 274 277 277 280 2S2 282
Глава 3. ObjectARX
284
Структура пакета Настройка проекта в среде VisuaJ Studio .NET Создание проекта Параметры компилятора Параметры компоновщика Пример программы Использование проектов приложений, написанных для предыдущей версии ObjectARX Мастер ObjectARX Панель ObjecrARXAddln Виды ARX-приложений, создаваемых с помощью Мастера ObjectARX Создание команд и функций Загрузка и выгрузка ARX-приложений Библиотеки Стандартные примеры Об использовании языка С#
285 285 286 ,289 29 J 293
Глава 4. VBA
312
Выполнение отдельных выражений VBA Поддержка ActiveX
312 314
296 297 297 298 302 309 309 3JO 311
Содержание Среда VBA Меню Панели инструментов Проекты и их элементы Макросы Модули и процедуры Формы Типы данных Обычные типы Массивы Специальные типы Область действия Константы Создание формы Элементы управления Отображение диалогового окна Пример приложения Модуль программного кода Добавление программного кола работы с формой Защита приложения Автоматическая загрузка приложений
314 315 316 317 318 319 319 322 322 323 323 324 324 324 325 326 326 326 329 331 334
Глава 5. Delphi
335
Об использовании Delphi при работе с AutoCAD Общие замечания Когда можно использовать Delphi для работы с AutoCAD? Когда не нужно использовать Delphi? Применение OLE-контейнера "Слепой" доступ к AutoCAD Использование библиотеки типов Пошаговая инструкция для использования библиотеки типов Использование метода SendCommand Разработка приложения-сервера Пошаговая инструкция Тестирование СОМ-сервера Подключение СОМ-сервера к LISP Итоги Пример сочетания технологий Delphi, AutoCAD и XML Резюме
335 336 336 337 -337 ЗЗН 340 341 347 349 349 361 363 366 366 3*I
ЧАСТЬ Ц. АДАПТАЦИЯ AUTOCAD
373
Глава 6. Меню
375
Файлы меню Базовое меню.... Фрагментное меню Разделы меню
375 376 377 379
Содержание Падающие меню Добавление заголовка в строку меню Удаление заголовка из строки меню Панели инструментов Редактирование панелей Создание новой панели Контекстные меню Схема работы контекстных меню Экранное меню Активация экранного меню Уровни Средства смены меню... Использование комбинации "Н Графические меню Кнопочные меню Планшетные меню Структура заголовков и пунктов меню Структура заголовка Сгруктура пункта меню , Элемент Control Средства редактирования файла acad.mns Раздел ACCELERATORS Раздел HELPSTRINGS MNL-файл Язык DIESEL Для программиста Функция menugroup Функция menucmd . Средства ActiveX Глава 7. Диалоговые окна Язык DCL Директивы Директива описания диалога Элементы диалога Типы элементов Элементы с кнопкой выхода Атрибуты элементов Открытие и закрытие диалоговых окон Функция loati^dialog Функция unload_dialag Функция new dialog Функция $iart_dialog функция t!one_dialog Функция ierm_dialog Пример вызова диалогового окна Функции, работающие с элементами диалога Функция actionjile Функция modejile
380 380 -.381 382 384 389 391 391 393 393 394 398 398 399 400 400 401 401 402 404 405 406 408 409 409 411 411 411 413 414 414 415 418 422 422 423 424 427 427 428 428 429 429 430 430 431 431 433
Содержание Функция setjile Функция gef_tile Функция ger_aitr. Функция client_data_tile Переменные действия Функции, работающие со списками Функция siartjist Функция addjist Функция endjist Функции, работающие с графическими элементами Функция srartjmage Функция endjmage Функция fi!I_image Функция slide^image Функция veclorjmage Функция dimxjile Функция dimy_tile Дополнительные приемы программирования диалоговых окон Временный выход из диалогового окна Вложенные диалоговые окна Применение паролей
433 438 439 439 439 441 44! 442 442 442 442 443 443 444 444 445 445 446 446 448 450
Глава 8. Пользовательские формы, шрифты, штриховки и типы линий
451
Формы Описание формы Компиляция формы Команда MKSHAPE Встаека формы Удаление загруженных форм Дополнительные средства работы с формами в Express Tools Для программиста Шрифты-Штрихоики Типы линий Описание простого типа линии Описание сложного типа линии Команда MKLTYPE
451 451 454 454 454 455 456 456 457 458 459 460 460 462
Глава 9. Настройка системы
463
Настройка путей доступа Пути доступа К вспомогательным файлам Пути поиска рабочих файлов поддержки Пути доступа К драйверам устройств Пути доступа к файлам проектон Адрес начаньной страницы, имена файлов конфигурации, меню, справочной системы, сервера лицензий Имена файлов редактора, словаря и шрифтов Имена файла печати, программы фоновой печати и раздела пролога
464 465 466 466 -466 -466 467 468
S
Содержание Пути к файлам поддержки печати
469
Путь поиска приложений ObjectARX
469
Папка для файла автосохранения Палки для альбомов цветов Пути к файлам источников данных Параметры шаблона нового рисунка Папки с файлами инстру ментальны ч палитр Расположение файла журнала Папка для временных файлов Папка для временных файлов внешних ссылок
469 469 470 470 470 471 471 471
Папка для поиска текстур Папка для связанных файлов Настройка экрана Элементы окна
471 471 472 472
Элементы вкладок листов
476
Экранное разрешение Производительность отображения
479 480
Размер перекрестия Затенение при редактировании вхождений внешних ссылок и блоков
Настройка открытия и сохранения
Сохранение файлов Меры предосторожности при сохранении Открытие файлов Работа с внешними ссылками Работа с ARX-приложения ми
Настройка печати Параметры печати для новых рисунков по умолчанию Общие параметры печати
48! 481
482
,
482 483 485 485 485
487 487 488
Стили печати по умолчанию для новых рисунков Настройка общесистемных характеристик Текущая система трехмерной графики Текущее устройство указания Регенерация вкладок Параметры подключения к базам данных Общие параметры
489 490 490 493 493 493 494
Дополнительные настройки пользователя Соответствие стандартам Windows Двойной щелчок Масштаб при перетаскивании Отображение значков гиперссылок Ввод координат Способы сортировки объектов.
495 495 497 497 498 498 498
Ассоциативные размеры Параметры невидимых линий и отображения весов
Настройка привязки и отслеживания Параметры автопривязки Размер маркера автопривязки Параметры автоотслеживания
499 499
500 .500 502 502
Содержание Векторы отслеживания Размер прицела автопривязки Настройка режимов выбора Размер прицела выбора Режимы выбора Размер ручек Режим использования и цвет ручек Настройка профилей Настройка меню Express Настройка строки состояния
502 502 503 503 503 504 504 505 507 507
Глава 10. Планшет
511
Планшетные меню Настройка планшета Калибровка планшета Кнопочные меню Для программиста
511 513 515 515 515
Глава П. Коллективная работа
516
Команда MEETNOW (ДОСТУП) Передача файлов проекта Диспетчер ссылок Команда PUBLISH (ПУБЛ) Пароль и цифровая подпись Работа с Интернетом Просмотр Web-страниц Публикация в Интернете Команда SETIDROPHANDLER (ТЗАГРТИП) Операции С адресами Интернета Доступ к сайтам фирмы Autodesk Служба Communication Center
516 516 520 521 523 530 530 530 538 539 540 541
Глава 12. Работа с базами данных и электронными таблицами
544
Доступ к БД Диспетчер подключения к БД Меню dbConnecl (Базы данных) Перечень команд работы с БД Для программиста Создание UDL-файла Microsoft Access Использование ODBC Создание в операционной системе источника данных для ODBC Обход ODBC Microsoft Excel Подключение Просмотр и редактирование таблиц БД Управление просмотром таблицы Контекстные меню...
544 545 547 550 552 552 554 554 560 560 561 562 562 564 566
JO
Содержание Управление печатью
573
Форматирование Редактирование таблицы Меню Data View (Просмотр данных) Связывание объектов чертежа с записями базы
-
Шаблон связи Создание связи Просмотр связей
573 574 576 578
....578 .,
580 582
Параметры просмотра связей Редактирование и удаление связен Управление связями Ярлыки Шаблон ярлыка
584 586 590 595 595
Создание ярлыка Управление ярлыками SQL-запросы
598 598 599
Создание запроса Простой запрос Запрос по интервалу Формирователь Составление запросов на языке SQL
599 601 603 603 605
Выполнение запроса
606
Редактирование и удаление запросов
607
Запрос по шаблону связи Выбор по связи
607 607
Файлы запросов Ограничения драйверов OLE DB
,.
611 612
Другие способы работы с базами данных и электронными таблицами
612
Послесловие
613
Предметный указатель
614
Предисловие Эта книга предназначена в первую очередь для тех, кто уже давно работает в системе AutoCAD и хочет расширить свои знания, изучая тонкости системы и знакомясь с такими элементами программирования, как Visual LISP, VBA, Visual Studio .NET, ActiveX, COM, DCL, DIESEL. Данная книга выпускается издательством "БХВ-Петербург" в серии "В подлиннике" и является третьей из книг этой серии, посвященных системе AutoCAD фирмы Autodesk (США). Предыдущими книгами были "AutoCAD 2002" и "AutoCAD 2004" (последняя вышла совсем недавно и в этой книге много ссылок на ее главы). Настоящее издание по сути является продолжением книги "AutoCAD 2004", Книга может служить справочным пособием для тех, кто хочет лучше разобраться во взаимоотношениях различных компонентов системы и почувствовать, какие дополнительные инструменты и настройки можно добавить самому. • В этом издании, для того чтобы читателю легче было увидеть отличия системы AutoCAD 2004 от AutoCAD 2002, абзацы, содержащие сведения о новшествах и изменениях, оформлены в виде врезок, аналогично данному абзацу. Книга разделена на две части и 12 глав. Часть ! посвящена большой и сложной проблеме - разработке приложений, функционирующих под управлением системы AutoCAD. Даются подробные сведения об объектной модели AutoCAD и средах программирования на трех основных языках: LISP, Basic и C++. Здесь же приводится информация о применении нетрадиционного средства разработки — языка Pascal (в среде Delphi). В части II разбираются вопросы настройки и адаптации таких элементов системы AutoCAD, как меню, панели инструментов, формы, шрифты, стили л и н и й , штриховки. Описывается процесс настройки и калибровки планшета (дигитайзера). Рассматриваются также проблемы взаимодействия
J2
__^
Предисловие
групп пользователей, заказчиков и исполнителей и возможности работы с Интернетом (в том числе публикации па сайтах). В тексте используются следующие обозначения: П имена английских и русских команд даются в верхнем регистре, например: CONVERTPOLY (ПОЛКОНВЕРТ); П имена системных переменных приводятся в верхнем регистре, например: PEDITACCEPT; П типы примитивов представлены в верхнем регистре, например: WIPEOUT: П названия диалоговых окон, опций команд выделены полужирным шрифтом, их русские аналоги — обычным шрифтом, например: Value (Значение): П наименования режимов рисования выделяются полужирным шрифтом в верхнем регистре (русские аналоги — без полужирного выделения), например: POLAR (ОТС-ПОЛЯР); О определяемые термины и ссылки на другие главы и разделы выделены курсивом, например: объект, метод; П сообщения системы на английском языке приводятся в строку полужирным курсивом, русский текст — курсивом. Автор выражает благодарность Сергею Александровичу Зуеву (г. Курган) за предоставление материалов главы 5 об использовании Delphi.
часть I Разработка приложений Глава 1.
Средства разработки приложений и объектная модель
Глава 2.
Visual LISP
Глава 3.
ObjectARX
Глава 4.
VBA
Глава 5.
Delphi
ГЛАВА 1
Средства разработки приложений и объектная модель Система AutoCAD предоставляет программистам и опытным пользователям обширные возможности создавать свои приложения и строить на базе графического процессора новые системы автоматизированного проектирования. Примерами таких систем могут служить специализированные пакеты, разработанные самой фирмой Autodesk (Mechanical Desktop, Architectural Desktop, Land Development Desktop и т. д.).
Обзор средств программирования Вместе с системой AutoCAD поставляются среда разработки на языке LISP (Visual LISP) и среда разработки на языке Basic (VBA, или Visual Basic for Applications). В главе 2 разбираются вопросы программирования на языке LISP в среде Visual LISP, а также проблемы создания FAS- и VLX-приложеиий. Кроме того, дополнительную информацию вы можете найти в следующих книгах: Полещук Н. Н. "Visual LISP и секреты адаптации AutoCAD" 1 , Полещук Н. Н. "AutoCAD Developer's Guide to Visual LISP"^ Отдельно от системы AutoCAD распространяется пакет ObjectARX 2004, который содержит необходимые описания и библиотеки для программирования на языке C++ (при этом требуется среда Microsoft Visual С версии 7.0). Пакет ObjectARX 2004 или его предыдущие версии любой пользователь может получить бесплатно, зайдя на сайт www.autodesk.com/objectarx/ и заполнив специальную анкету. По предлагаемому лицензионному соглашению вы имеете право установить данный пакет бесплатно на одном компьютере. 1
Полещук Н. Н. Visual LISP И секреты адаптации AutoCAD. — СПб.: БХВ-Петербург, 2001.
2
Polcshchuk N. N. AutoCAD Developer's Guide to Visual LISP. - Wayne: A-L1ST. 2001.
16
Часть I. Разработка приложений
В главе 3 настоящей книги рассмотрены основы разработки приложений с применением ObjectARX (они называются ARX-приложениями), в том числе специальный инструмент — мастер ARX-приложений (ObjectARX Wizard). В главе 4 изучаются основы применения в среде AutoCAD языка Basic (VBA) и создания DVB-приложении. Из нетрадиционных средств программирования в AutoCAD стоит упомянуть язык Java (проект AJaX). Система создания приложений с помощью Java разработана Берндом Фиксом и находится в стадии апробации. В качестве связки используется ObjectARX. В главе 5, материал для которой подготовил Зуев Сергей Александрович, инженер-строитель из г. Кургана, рассмотрены проблемы использования Delphi для разработки приложений, функционирующих в среде AutoCAD. Поскольку для приложений, написанных на Visual LISP, и для ADSприложений (это приложения, написанные на языке С, но для ранних версий системы AutoCAD, до появления ObjectARX), можно создавать специальные файлы диалоговых окон (DCL-файлы), в главе /рассмотрен используемый в них язык DCL. Появились разработки, позволяющие автоматизировать процессы написания DCL-файлов. Отметим здесь пакет ObjectDCL канадской фирмы 3rd Day Software. Сайт фирмы находится по адресу www.objectdcl.com. С этого сайта вы можете загрузить 30-дневную версию ObjectDCL. Пользователь может применять традиционные или нетрадиционные средства для разработки своих приложений, однако в любом случае ему придется изучить язык Visual LISP (не обязательно полностью), поскольку в командной строке и в меню системы AutoCAD допускаются только команды с опциями и выражения на языке LISP (они должны начинаться и заканчиваться круглыми скобками). Кроме того, все приложения программно могут быть загружены только с помощью LISP-выражений. Таким образом, каждый, кто приступает к программированию в среде AutoCAD, должен хотя бы какое-то время уделить изучению Visual LISP. Этот язык, как показывает практика, легко осваивают и непрограммисты.
Объектная модель AutoCAD Система AutoCAD разработана с учетом концепции СОМ (СОМ — Component Object Model, модель компонентных объектов) фирмы Microsoft, что позволяет обращаться к объектам AutoCAD из других систем и их приложений и, наоборот, к объектам других систем из системы AutoCAD (см. примеры в разд. "Применение СОМ" е главе 2). СОМ — это спецификация метода создания компонентов, из которых можно строить приложения. Благодаря СОМ система AutoCAD поддерживает технологию ActiveX (точнее. ActiveX Automation), которая реализует идеологию объектно-ориентирован-
Глава 1. Средства разработки приложений и объектная модель
17
ного программирования и позволяет оперировать не байтами, числами, а объектами прикладной среды и работать с ними на языке, подобном языку обычных манипуляций. В технологии ActiveX объектная модель работающего приложения представляется как совокупность объектов, свойств, методов и событий. Для каждого из элементов этой модели имеется своя реализация в виде данных специальных типов (структур) и операций, обеспечивающих взаимодействие с пользователем.
Объекты и семейства Объекты (objects) ActiveX в системе AutoCAD рассматриваются как иерархия, содержащая не только примитивы, но и прочие элементы (таблицы, словари и т. д.). Однотипные объекты объединяются в семейства (collections). Приводимые далее наименования элементов иерархии используются в системах программирования. Корневым элементом такой иерархии является объект Application (или AcadApplication), остальные находятся на более низких уровнях. Application является родительским объектом для объектов preferences (настройки) и VBE (среда разработки приложений на VBA, которая тоже оформлена как объект), а также следующих семейств: О Documents (документы); "3 мепиБэг (строка меню); О MenuGroups (группы меню). Объект Preferences, в свою очередь, является родительским для объектов различных видов настроек системы AutoCAD. Семейство Documents включает объекты типа Document — открытые документы (рисунки). В семейство MenuGroups входят объекты типа MenuGroup (группа меню), а в семейство Мепиваг — объекты типа РорирМегш (падающие и контекстные меню). Эта иерархия раскрывается дальше. Объект MenuGroup содержит семейства PopupMenus (падающие и контекстные меню) и Toolbars (панели инструментов). Затем следуют цепочки: 3 PopupMenus — РорирМегш (падающее или контекстное PopupMenuitem (пункт падающего или контекстного меню);
меню) —
П Toolbars — Toolbar (панель инструментов) -- Toolbaritem (пункт, или кнопка панели). Самым сложным и интересным является объект Document. Он включает в себя такие семейства:
18
Часть I. Разработка приложений
D Blocks (блоки); 3 Modeispace (пространство модели); П PaperSpace (пространство листа); П Dictionaries(словари); П Dimstyies (размерные стили); О Groups (группы); О Layers (СЛОИ): О Layours (листы); П Linetypes (типы ЛИНИЙ); П pickfirstseiectionset (набор предварительно выбранных объектов); L) plot configurations (конфигурации печати); 3 Registeredfipplications (зарегистрированные приложения); П seiectionSets (наборы выбора); П Textstyies (текстовые стили); П ucss (пользовательские системы координат); П views (виды); П viewports (видовые экраны). Кроме того, объект Document порождает такие объекты: DatabasePreferences (настройки рисунка), Plot (печать), utility (утилита), Summaryinfo (авторские свойства рисунка, недокументированный объект). В семейства Blocks, Modeispace и PaperSpace входят объекты, которые соответствуют графическим примитивам. В табл. 1.1 приведен перечень объектов и семейств. • Новые объекты и Семейства: AcCmColor, FileDependency, FileDependencies, Summarylnfo. АннуПИрОВаННЫЙ Объект: XMLDatabase.
Таблица 1.1. Объекты и семейства Имя объекта
Описание
SDFace SDPolyline 3DSolid
ЗМ-грань ЗМ-полмлиния Тело
AcadState
Состояние системы AutoCAD как приложения
Глава 1, Средства разработки приложений и обьектная модель
10
Таблица 1.1 (продолжение) Имя объекта
Описание
ftcCmColor
Точный цвет
Application
Приложение
fire
Дуга
Attribute
Описание атрибута
f\t t r ibut eRe f e rence
Атрибут
Block
Описание блока
BlockRef
Блок (вхождение блока]
Blocks
Блоки (семейство)
Body
Лекальная поверхность (напрямую в системе AutoCAD не создается)
Circle
Круг
Database
Графическая база внешней ссылки
Database Preferences
Настройки рисунка
Dictionaries
Словари(семейство)
Dictionary
Словарь
Dim3FointAngular
Угловой размер по трем точкам
DimAligned
Выровненный размер Угловой размер
DimDiametric
Диаметральный размер
DimOrdinate
Ординатный размер
DimRadial
Радиальный размер
DimRotated
Повернутый размер
DimStyle
Размерный стиль
DimStyles
Размерные стили (семейство)
Document
Документ(рисунок)
Documents
Документы (семейство)
Ellipse
Эллипс
Ex t e r na 1 Re f e rence
Внешняя ссылка
FileDependency
Элемент из списка файлов зависимостей
-.
Часть I. Разработка приложений Таблица 1.1 (продолжение)
Имя обьекта
Описание
FileDeper.deiicies
Файлы, от которых зависит рисунок (семейство)
Group
Группа
Groups
Группы (семейство]
Hatch
Штриховка
Hyperlink
Гиперссылка
Hyperlinks
Гиперссылки (семейство)
IDPair
Специальный объект метода CopyObjects
Layer
Слой
Layers
Слои (семейство)
LayerStateManager
Диспетчер свойств слоев
Layout
Вкладка
Layouts
Вкладки (семейство)
Leader
Выноска
Lightweight Polу1ine
Компактная двумерная полилиния
Line
Отрезок
Linetype
Тип линий
Linetypes
Типы линий (семейство)
MenuBar
Строка меню (семейство)
MenuGroup
Группа меню
MemjGcoups
Группы меню (семейство)
MinsertBlock
Массив блоков
Mline
Мультилиния
ModelSpace
Пространство модели (семейство)
Mtext
Мультитекст
31eFrame
Контейнер OLE-объекта
Ole2Frame
Контейнер OLE-объекта
PaperSpace
Пространство листа (семейство)
Plot
Набор свойств печати листа
PlotConfiguration
Настройка печати
P1 ot Con f i gu rat ions
Настройки печати (семейство)
Глава 1. Средства разработки приложений и объектная модель
21
Таблица 1.1 (продолжение) Имя объекта
Описание
Point
Точка
PolyfaceMes-b
Многогранная сеть (сеть из полиграней)
PolygonMesh
Полигональная сеть
Polyline
Подробная двумерная полилиния
PopupMenu
Падающее или контекстное меню
PopupMe n u. 11 em
Пункт падающего или контекстного меню
PopupMenus
Падающие и контекстные меню (семейство)
Preferences
Настройки системы AutoCAD
PreferencesDisplay
Экранные настройки
PreferencesDrafting
Настройки рисования
PreferencesFiles
Файловые настройки
PreferencesOpenSave
Настройки открытий и сохранения
P r e fe rence s Output
Настройки вывода
PreferencesProfiles
Настройки профилей
PreferencesSelection
Настройки выбора
PreferencesSystem
Системные настройки
PreferencesUser
Пользовательские настройки
ProxyEntity
Объект-заместитель
PViewport
Видовой экран пространства листа
Raster
Растровое изображение
Ray
Луч
Region
Область
RegisteredApplication
Зарегистрированное приложение
RegisteredApplications
Зарегистрированные приложения (семейство]
SecurityParams
Настройки безопасности
SelectionSet
Набор выбора
SelectionSetS
Наборы (семейство)
Shape
Форма
Solid
Фигура
Spline
Сплайн
22
Часть !, Разработка приложений Таблица 1.1 (окончание)
Имя объекта Sunmarylnf о
Описание Свойства рисунка (автор, заголовок и т. п.)
Text
Текст(однострочный]
TextStyle
Текстовый стиль
Textstyles
Текстовые стили (семейство)
Tolerance
Допуск
Toolbar
Панель инструментов
Toolbarltem
Элемент панели инструментов
Toolbars Trace
UCS
ucss
Панели инструментов (семейство) Полоса
ПСК
Семейство ПСК
Utility
Утилита
VBE
Среда программирования VBA (приложение)
View
Вид
Viewport
Видовой экран
Viewports
Видовые экраны (семейство)
Views
Виды (семейство)
XLine
Прямая
XRecord
Х-запись
Работа с объектами в технологии ActiveX, как правило, ведется на уровне указателей (адресов), которые указывают на начало структур данных этих объектов. Для реализации технологии в модели предусмотрены специальные компоненты, называемые интерфейсами: П _DAcadApplicationEvents — интерфейс событий для приложения AutoCAD; П _DftcadDocumentEvents — интерфейс событий для документа AutoCAD: О lAcadDatabase — интерфейс резидентных объектов графической базы документа AutoCAD; П lAcadDimer.sion — интерфейс размерных объектов AutoCAD; О lAcadEntity — интерфейс примитивов AutoCAD;
Глава Т. Средства разработки приложений и объектная модель
23
П iflcadObject — интерфейс примитивов AutoCAD; П lAcadObjectEverits — Интерфейс Событий примитивов AutoCAD. В ObjcctARX и VBA пользователь может создавать свои объекты.
Свойства Каждый объект в иерархии, используемой технологией ActiveX, имеет свои свойства (properties), которые можно читать или изменять с помощью соответствующих функций. В табл. 1.2 приведены свойства (в алфавитном порядке) и краткие пояснения к н и м . В эту же таблицу включены дочерние объекты и семейства, поскольку получение их указателей тоже является операцией шачечения свойства. Распределение свойств по объектам и семействам показано в табл. 1,3 и 1.4. • Новые свойства, появившиеся в данной версии: Action, AffectsGraphics, Algorithm, Author, Blue, BookName, ColorBookPath, Colorlndex, ColorMethod, ColorName, Comment, Comments, Er.tityColcr, Feature, FileName, FileSize, FingerprintGUID, FoundPath, FullFileName, GradientAngle, GradientCentered. GradieritColorl, GradientColor2, GradientName, Green, HatchObjectType, HyperlinkBase, Issuer, KeyLength, Keywords, LastSavedBy, Password, Red, ReferenceCoont, RevisionNumber, SCMTimeMode, SCNTimeValue, SerialHurnber, StiadePlot, Subject, TimeServer, TiraeStamp, Title, ToolPalettePath, TrueColor. Аннулированные СВОЙСТВа: LicenseServer, ObjectfiRXPath, RemoveHiddenLines.
Таблица 1.2. Перечень свойств Свойство
Описание
Action
Операции, которые должны выполняться над рисунком в соответствии с его параметрами безопасности (шифрование, электронная подпись)
Active
Признак того, что документ является активным (текущим)
ftctiveDimStyle
Текущий
размерный
стиль
ActiveDocument
Активный (текущий) документ
ActiveLayer
Текущий слой
ActiveLayout
Активная вкладка (лист)
ActiveLinetype
Текущий тип линии
Часть I. Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
ActiveProfile
Текущий профиль
Ac tIvePViewport
Активный видовой экран в листе
ftctiveSelectionSet
Указатель текущего набора выбора
ActiveSpace
Текущее пространство (модели или листа)
ActiveTextStyle
Текущий текстовый стиль
ActiveUCS
Текущая система координат (ПСК)
ActiveViewport
Активный видовой экран пространства модели
ADCInsertUnitsDefaultSource
Единицы измерения, которые используются при вставке объектов с помощью DesignCenter (Центра управления), когда в исходном рисунке единицы дли вставки не заданы
ADCInsertOnitsDefaultTarget
Единицы измерения, которые используются при вставке объектов с помощью DesignCenter (Центра управления), когда в целевом рисунке единицы для вставки не заданы
AffectsGraphics
Признак влияния на графику
Algorithm
Алгоритм шифрования
Alignment
Тип вертикального и горизонтального выравнивания для текста, атрибута или описания атрибута
A l i granentPointAcquisition
Тип точек при автоматическом выравнивании
AllowLongS ymboINamea
Признак допустимости имен с расширенными наборами символов или длиной более 31 символа
AltFontFile
Местоположение файла альтернативного шрифта, когда система AutoCAD не может обнаружить оригинальный шрифт, а расположение альтернативного шрифта е acad.fmp не задано
A1 tRo und.0 i s t anc e
Тип округления альтернативных единиц
AltSuppressleadingZeros
Признак подавления ведущих нулей в альтернативных размерах
AltSuppressTrailingZeros
Признак подавления хвостовых нулей в альтернативных размерах
Глава 1. Средства разработки приложений и объектная модель Таблица 1.2 (продолжение) Свойство
Описание
flitSuppressZeroFeet
Признак подавления нуля футов в альтернативных размерах
AltSuppressZeroInches
Признак подавления нули дюймов в альтернативных размерах
AltTabletMenuFile
Путь к альтернативному меню при замене стандартного планшетного меню AutoCAD
AltTextPrefix
Префикс для альтернативных единиц всех размеров, кроме угловых
AltTextSuffix
Суффикс для альтернативных единии всех размеров, кроме угловых
SltTolerancePrecision
Точность в значениях допусков альтернативных единиц
AltToIeranceSuppressLeadingZeros
Признак подавления ведущих нулем в допусках альтернативных единиц
AltToleranceSuppressTrailingZeros
Признак подавления хвостовых нулей в допусках альтернативных единиц
AltTOleranceSuppres s Z e roFeet
Признак подавления нуля футов в допусках альтернативных единиц
AltToleranceSuppressZeroInches
Признак подавления нуля дюймов в допусках альтернативных единиц
AltUnits
Признак наличия альтернативных единиц в размерах
AltUnitsFormat
Формат альтернативных единиц для всех размеров, кроме угловых
Al tUnitsPrecision
Количество десятичных знаков а альтернативных единицах
AltUnitsScale
Масштабный множитель для альтернативных единиц
Angle
Угол наклона отрезка
AngleFormat
Формат единиц для угловых размеров
AngleVertex
Вершина угла для углового размера, заданного по трем точкам
Annotation
Указатель обьекта с текстом пояснения для выноски
Application
Указатель обьекта Application
flrcLeiiath
Длина
5
Часть I. Разработка приложений
26
Таблица 1.2 (продолжение) Свойство
Описание
ftrcSmoothness
Параметр управления аппроксимацией при отображении кругов, дуг и эллипсов
Area
Площадь замкнутой фигуры, образуемой дугой, кругом, эллипсом, компактной или подробной полилиниями, областью или замкнутым плоским сплайном
ArrowheadlBlock
Блок, используемый в качестве пользовательской стрелки первого конца размерной линии
Ar rowhead1Туре
Тип стрелки первого конца размерной лиши
Ar r owhe ad2E1осk
Блок, используемый в качестве пользовательской стрелки второго конца размерной пинии
Arrowhead2Type
Тип стрелки второго конца размерной линии
Ar rowiieadB1осk
Блок, используемый в качестве пользовательской стрелки для радиальных размеров и быносок
ArrowheadSize
Величина стрелок в размерах и выносках
Ar rowh e a dT ype
Тип стрелки для радиальных размеров и выносок
AssociativgHatch
Признак ассоциативности штриховки
AttachmentPoint
Тип выравнивания мультитекста
Author
Автор
AutoAudit
Признак необходимости автоматической проверки рисунка после команд импорта DXF- и DXB-файлов
AutoSavelnterval
Интервал времени для автосохранения, мин.
AutoSaveFath
Путь к файлу, который образуется в результате автосохранения
Aut о S n a pApe rture
Признак показа мишени аатопривязки
Аи toSnapApertureSi2е
Размер мишени аатопривдзки
Au to S napMag ne t
Признак включения функции автопривязки
ftutoSnapMarker
Признак маркера автоприаяэки
Глава 1. Средства разработки приложений и объектная модель
27
Таблица 1.2 (продолжение) Свойство
Описание
AutoSnapMarkerColor
Цвет маркера автопривязки
AutoSnapMarkerSize
Размер маркера автопривязки
Аи t О SnapToo1Tip
Признак вывода подсказок автопривязки
AutoTrackingVecColor
Цвет вектора автоотслеживания
AutoTrackTooltip
Признак вывода подсказок автоотслеживания
Backward
Направление генерации текста
BasePoint
Базовая точка луча или прямой
BatchPlotProgress
Признак прерывания печати s пакетном режиме
BeepOnError
Признак подачи звукового сигнала при обнаружении ошибок ввода
BigFontFile
Имя файла большого шрифта, связанного с текстом или атрибутом
Block
Имя блока, связанного с вкладкой
Blocks
Указатель семейства Blocks
Blue
Значение синей компоненты цвета
BookName
Имя альбома цветов
Brightness
Текущее значение яркости для растровых изображений
Canon i с aIMedi aName
Имя формата листа
Caption
Текст, который выводится в заголовок приложения или пункт меню
Center
Центр дуги, круга, эллипса, вида или видовогоэкрана
centerMarkSize
Размер маркера центра для радиального и диаметрального размеров
CenterPlot
Признак центрирования чертежа при печати
CenterType
Тип маркера центра для радиального и диаметрального размеров
Centroid
Центр площади для области или центр масс для тела
Check
Признак установленного флажка слева от наименования пункта раскрывающегося меню
Часть I. Разработка приложений
28
Таблица 1.2 (продолжение) Свойство
Описание
Circumference
Длина окружности
Clipped
Признак наличия подрезки видового экрана
ClippingEnabled
Признак включения контура подрезки
Closed
Признак замкнутости для ЗМ-полилинии, компактной (легкой) или обычной (тяжелом) полилиний, сплайна
Co Юс
Цвет примитива или слоя
ColorBookPath
Путь к файлу альбома цветов
Colorlndex
Номер цвета в полной палитре
ColorMethod
Метод, выбранный для задания цвета
ColorName
Имя цвета
Columns
Число столбцов 8 массиве блоков
Co1umnSpасing
Расстояние между столбцами в массиве блоков
Comment
Комментарий к цифровой подписи
Comments
Комментарии в свойствах рисунка
ConfigFile
Местоположение конфигурационного файла с информацией драйвера оборудования
ConfigName
Имя конфигурации принтера
Constant
Признак постоянности атрибута или описания атрибута
ConstantWidth
Глобальная ширина всех сегментов полилинии
ContourlinesPerSurface
Число образующих линий (изолиний] на лекальной поверхности тела
Contrast
Значение контрастности растрового изображения
ControlPoints
Массив управляющих точек сплайна
Coordinate
Координаты точки (вершины) примитива
Coordinates
Массив координат точек примитива
Count
Количество объектов в семействе, словаре, группе или наборе
CreateBackup
Признак создания копии файла рисунка с расширением bak
Глава i. Средства разработки приложений И объектная модель Таблица 1.2 (продолжение) Свойство
Описание
CursorSize
Размер перекрестия В процентах от размера экрана
CustomDictionary
Имя файла пользовательского словаря, указываемого в настройке системы AutoCAD
CustomScale
Пользовательский масштаб видового экрана
Database
Указатель базы, которой принадлежит обьект
DecimalSeparator
Символ десятичного разделителя в размерах И допусках
DefaultlnternetURL
URL-адрес открываемого по умолчанию сайта в Интернете
DefauItOutputDevice
Устройство печати, назначаемое по умолчанию вкладкам новых листов и вкладке модели
DefaultPlotStyleForLayer
Стиль печати, присваиваемый по умолчанию слою 0 в новом рисунке и слоям рисунков, созданных в рисунках более ранних версий И не сохраненных в формате системы AutoCAD 2000 или более поздней
DefaultPlotStyleForObjects
Текущее знамение стиля печати
De faultPlotStyleTable
Таблица стиля печати, назначаемая новым рисункам
Degree
Порядок полиномиального представления сплайна
Delta
Трехмерная точка с дельта-разностью координат концов отрезка
Г е.-в л dLO a dARXApp
Признак вызова системой AutoCAD другого приложения при обнаружении обьектов или команд этого приложения
Description
Строка с описанием типа линии
Diameter
Диаметр круга
Dictionaries
Указатель семейства Dictionaries
DimensionLineColor
Цвет размерной линии для размера, выноски или допуска
DimensionLineExtend
Расстояние, на которое продлевается размерная линия за выносную линию при использовании засечек
Часть I. Разработка приложений
30
Таблица 1.2 (продолжение) Свойство
Описание
DimensionLineWeight
Вес для размерных линий
DimLinelSuppress
Признак подавления первой размерной линии
DimLirie2 Suppress
Признак подавления второй размерной линии
DimLinelnside
Признак размещения размерных пиний только внутри выносных линий
D imL i ne Suppres s
Признак подавления размерной линии для радиальных размеров
DimStyles
Указатель семейства DimStyles
Direction
Вектор направления взгляда (точки зрения)
DirectionVector
Вектор направления луча, допуска или прямой
Display
Указатель
DisplayGrips
Признак показа ручек
DisplayGripsWIthinBlocks
Признак показа ручек примитивов внутри блоков
D i splayLayoutTabs
Признак показа наименований вкладок модели и листов в графическом экране
DisplayLocked
Признак блокирования видового экрана
DisplayOLEScale
Признак показа диалогового окна масштабирования при вставке OLE-объектов в рисунок
DisplayScreenMenu
Признак показа экранного меню
DisplayScrollBars
Признак показа горизонтальной и вертикальной полос прокрутки графического экрана
Displaysilhouette
Признак показа образующих линий и линий силуэта в режиме каркаса
DockedVisibleLines
Число строк в зоне командных строк
DockStatus
Признак фиксированного или плавающего положения панели
Document
Указатель документа (рисунка], которому при надле житобъект
Documents
Указатель семейства Documents
объекта
PreferencesDisplay
Глава 1. Средства разработки приложений и объектная модель Таблица 1.2 (продолжение) Свойство
Описание
Drafting
Указатель обьекта PreferencesDrafting
DrawingDirection
Признак направления мультитекста (по горизонтали, как обычно, или по вертикали, как для иероглифического письма)
DriversPath
Путь к папке драйверов внешних устройств
Elevation
Значение уровня для штриховку или 2М-ПОЛИЛИНИИ
E1evat ionMode1Spасе
Текущее значение уровня пространства модели
ElevationPaperSpace
Текущее значение уровня пространства листа
Enable
Признак разблокировки пункта меню
EnablestartupDialog
Признак показа окна начала работы при запуске системы AutoCAD или создании нового рисунка
Er.dAngle
Конечный угол дуги окружности или эллипса
EndParameter
Конечное значение параметра для эллипса
EndPoint
Конечная точка дуги, отрезка или эллипса
E ndS ubMe mi Leve1
Указатель последнего пункта подменю
EndTangent
Вектор конечной касательной к сплайну
EntityColor
Цвет а полной палитре
ExtensionLineColor
Цвет выносных линий размера
Ext e ng i onL i neE x t end
Выступ выносной линии за размерную
ExtensionLineOffset
Отступ начала выносной линии от точки указания
..:•:• ~ir.si.cr.
Бес выносных линий
- eWei ::'"
ExtLi nelEndPoint
Конечная точка первой выносной линии
ExtLinelPoint
Точка указания первой выносной линии
ExtLinelStartPoint
Начальная точка первой выносной линии
Ex t Line1Suppress
Признак подавления первой выносной линии
ExtLine2EndPoint
Конечная точка второй выносной линии
ExtLine2Point
Точка указания второй выносной линии
Часгь I, Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
ExtLine2StartPoint
Начальная точка второй выносной линии
ExtLirie2 Suppress
Признак подавления второй выносной линии
Fade
Коэффициент слияния с фоном растрового изображения
Feature
Имя характеристики
FieldLength
Длина поля атрибута
F i1eDependencies
Указатель обьекта FileDependencies
FileName
Имя файла
Files
Указатель обьекта Preferences Files
FileSize
Размер файла
Fiiige r p r i n tGU ID
Глобально уникальный идентификатор (QUID)
Fit
Положение текста и стрелок внутри или снаружи выносных линий, в зависимости от расстояния между выносными линиями
FitPoints
Массив опорных точек сплайна
FitTolerance
Преобразует сплайн по существующим точкам, но с другим допуском
FloatingRows
Число рядов кнопок панели, находящейся з плавающем положении
Flyout
Указатель панели, связанной с групповой кнопкой
FontFile
Полное имя первичного шрифта
FontFileMap
Путь к файлу с указанием замены шрифтов
ForceLinelnside
Признак черчения размерной линии внутри выносных линий, даже когда текст располагается вне их
FoundPath
Альтернативный путь
FractionFormat
Формат дробных величин в размерах и допусках
Freeze
Признак замороженное™ слоя
FullCRCValidatiori
Признак необходимости проверки структуры при чтении обьекта
Глава 1. Средства разработки приложений и объектная модель
33
Таблица 1.2 (продолжение) Свойство
Описание
Full;ileName
Полное имя файла
FullName
Полное имя приложения или документа, с путем
FullScreenTrackingVector
Признак показа векторов отслеживания
GradientAngle
Угол градиента
GradientCentered
Признак центрования градиента
GradientColorl
Первый цвет градиента
GradientColor2
Второй цвет градиента
GradientName
Имя образца градиентной заливки
GraphicsWinLayoutBackgrndColor
Цвет фона вкладок листов
GraphicsWinModelBackgrndColor
Цвет фона вкладки пространства модели
Green
Значение зеленой составляющей цвета
GridOn
Признак показа сетки
GripColorSelected
Цвет выбранных ручек
Gr ipColorUns e1 ected
Цвет невыбранных ручек
GripSiae
Размер ручек
Groups
Указатель семейства Groups
Handle
Метка
HasAttributes
Признак наличия у блока атрибутов
HasExtensionDictionary
Признак наличия у объекта словаря
HatchObjectType
Признак штриховки или заливка
HatchStyle
Стиль штриховки
Height
Высота атрибута, формы, текста, растрового изображения, панели инструментов или окна приложения
HelpFilePath
Путь к файлу справки системы AutoCAD
HelpString
С трока-подсказка для панели или пункта меню (панели)
HistoryLines
Предельное количество строк, сохраняемое в текстовом окне
ttoriz oiita lAlignme tit
Тип горизонтального выравнивания текста, атрибута или описания атрибута
2 Зэк 1311
Часть I. Разработка приложений
34
Таблица 1.2 (продолжение) Свойство
Описание
HorizontalTextPositiori
Тип горизонтального выравнивания для размерного текста
HWND
Метка окна открытого документа (для WindowsAPl)
HyperlinkBase
5аза для относительных гиперссылок
HyperlinkDisplayCursot
Признак показа значка гиперссылки
HyperlinkDisplayTooltip
Признак показа текста гиперссылки (при включенном значке)
Hyperlinks
Указатель семейства Hyperlinks
ImageFile
Полное имя файла вставленного растроаого изображения
Ima ge F rameH ighlight
Признак показа только рамки или всего растрового изображения при выборе как объекта
ImageHeight
Высота растрового изображения
TmageVisibility
Признак видимости всего растрового изображения или только его рамки
ImageWidth
Ширина растрового изображения
Increment a1SaveРе гсеnt
Максимальный процент устаревших данных, при достижении которого необходимо выполнить полное сохранение рисунка
Index
Внутренний номер меню или пункта панели инструментов
InsertionPoint
Точка вставки для допуска, текста, блока или формы
Invisible
Признак невидимости атрибута или описания атрибута
IsCloned
Признак того, что данный объект уже скопирован (в методе CopyObjects)
IsLayout
Признак соответствия блока вкладке листа
IsModified
Признак изменения
ISOPenWidth
Ширина пера по ISO (для штриховки)
IsOwnerXlated
Признак того, что объект пересчитан в базе нового рисунка (в методе CopyObjects)
IsPeriodic
Признак периодичности сплайна
Глава 1. Средства разработки приложений а объектная модель
35
Таблица 1.2 (продолжение) Свойство
Описание
IsPlanar
Признак того, что сплайн плоский
Is Primary
Признак принадлежности обьекта, первичного набору в операции копирования (CopyObjects)
IsQuiescent
Признак того, что система AutoCAD неактивна и готова принять вызов другого приложений (ActiveX)
IsRational
Признак того, что сплайн рациональный
Issuer
Наименование сертификата подписи
IsXRef
Признак того, что объект (вхождение) является вхождением внешней ссылки, а не блока
Key
Указатель объекта-источника операции CopyObjects
KeyboardAccelerato'
Признак стандартного набора горячих клавиш
KeyboardPriority
Признак способа интерпретации системой AutoCAD координат, вводимых с клавиатуры (учет объектной привязки)
KeyLength
Длина ключа шифрования
Keywords
Ключевые слова
Knots
Узловой вектор сплайна
Label
Метка пункта раскрывающегося меню (может содержать выражения на языке DIESEL)
LargeButtons
Признак большого размера кнопок панелей инструментов
LastHeight
Высота букв последнего текста
LastSavedBy
Пользователь, выполнивший последнее сохранение
Layer
Слой
LayerOn
Признак включенности слоя
Layers
Указатель семейства Layers
Layout
Вкладка
LayoutCreateViewport
Признак автоматического создания видового экрана в новых листах
Часть I. Разработка приложений Таблица 1.Z (продолжение) Свойство
Описание
LayoutCrosshairColor
Цвет перекрестия и текста вкладок пространства листа
Layout D i sp1ауМагgins
Признак показа полей отступа в листах
LayoutDisplayPaper
Признак показа подложки формата листов
Layou t D i s piayPaperShadow
Признак показа тени вокруг границ листов
Layouts
Указатель семейства Layouts
LayoutShowPlotSetup
Признак вывода окна параметров для новых листов
LeaderLength
Длина выноски для диаметральных и радиальных размеров
Left
Положение левой границы панели
Length
Длина отрезка
LensLength
Фокусное расстояние для перспективного вида
Limits
Лимиты рисунка
LinearScaleFactor
Масштабный коэффициент для линейных размерой
LineSpacingFactor
Коэффициент межстрочного расстояния для мультитекста
LineSpacingStyle
Способ выбора промежутков между строками мультитекста
Linetype
Тип линии
LinetypeGeneration
Стиль генерации отрезков типа линии для компактных и обычных полилиний
Linetypes
Указатель семейства Linetypes
LinetypeScale
Собственный масштаб типа линий примитива
Lineweight
Вес
LineweightDisplay
Признак показа весов линий в пространстве листа
Loa dAc adL s pInAl1Document s
Признак загрузки файла acad.lsp с каждым открываемым рисунком
LocalelD
Локальный указатель текущей сессии системы AutoCAD
Lock
Признак блокированности слоя
Глава 1, Средства разработки приложений и объектная модель
37
Таблица 1.2 (продолжение} Свойство
Описание
LogFileOn
Признак копирования строк текстового окна в файл протокола
LogFilePath
Путь к файлу протокола
LowerLeftCorner
Координаты левого нижнего угла текущего видового экрана
Mac re
Строка макроса, связанного с пунктом меню или панели
MainDictionary
Основной словарь проверки правописания
MajorAxis
Направление большой полуоси эллипса
MajorRadius
Длина большой полуоси эллипса
Mask
Маска для восстановления свойств слоя
MaxActiveViewports
Максимальное количество активных видовых экранов
MaxAu t oCADW i ndow
Признак максимизации окна системы AutoCAD При старте
MClose
Признак замкнутости сети в М-направлении
MDensity
Плотность сети в М-направлении
Measurement
Признак типа единиц размерного примитива (линейные или угловые)
MenuBar
Указатель строки меню (MenuBar)
MenuFile
Имя текущего MNU-файла
MenuFileName
Имя MNU-файла, в котором описана данная группа меню
MenuGroups
Указатель семейства t-ienuGroups
Menus
Указатель семейства popupMenus
MinorAxis
Направление малой полуоси эллипса
MinorRadius
Длина малой полуоси эллипса Режимы атрибута в описании
ModelCrosshairColor
Цвет перекрестия и текста в пространстве модели
ModelSpace
Указатель семейства ModelSpacs?
ModelType
Тип вкладки (модели или листа), с которой связана данная конфигурация печати
Часть I. Разработка приложений
38
Таблица 1.2 (продолжение) Свойство
Описание Момент инерции твердотельного объекта
MRUKumber
Число последних открывавшихся файлов, имена которых выводятся в раскрывающееся меню File (Файл)
MSpace
Признак активизации режима Model (Модель) для видового экрана в листе
MVertexCount
Номер вершины сети в М-направлении
Name
Имя
N ameNoMnemon i с
Заголовок раскрывающегося или контекстного меню без служебных символов [& и т, д.)
NClose
Признак замкнутости сети в М-направлении
«Density
Полность сети в N-направлении
Normal
Единичный вектор нормали к примитиву
NumberOfControlPoints
Количество управляющих точек сплайна
NumberQfCopies
Число копий, выводимых на печать
NumberOfFaces
Число полиграней в многогранной сети
N umbe rOfFitPoints
Число опорных точек сплайна
Numbe rOfLoops
Число циклов в границе штриховки
NumberCfVertices
Число вершин многогранной сети
MVertexCount
Номер вершины в N-направлении сети
ObjectID
Указатель объекта
Obj ectName
Тип (имя класса) объекта
ObjectSnapMode
Состояние режима SNAP (ШАГ)
ObjectSortByPlotting
Признак сортировки объектов при печати
ObjectSortByPSOutput
Признак сортировки объектов при выводе з PS-файлы
ObjectSoTtByRedraws
Признак сортировки объектов при освежении экрана
ObjectSortByRegens
Признак сортировки объектов при регенерации экрана
ObjectSortBySelection
Признак сортировки объектов при операции выбора объектов
Глава 1. Средства разработки приложений и объектная модель
39
Таблица 1.2 (продолжение) Свойство
Описание
ObjectSortBySnap
Признак сортировки объектов при объектной привязке
ObliqueAngle
Угол наклона букв текста, атрибута и т. л,
OLELaunch
Признак запуска родительского приложения при печати OLE-объектов
OLEQuality
Коэффициент качества вывода OLE-обьектов
OnMenuBar
Признак присутствия заголовка раскрывающегося меню в строке меню
OpenSave
Указатель объекта PreferencesOpenSave
Origin
Точка начала (ПСК, блока, листа или растрового изображения)
OrthoOn
Состояние режима ORTHO (ОРТО) для видового экрана
Output
Указатель объекта PreferencesOutput
OwnerIC
Указатель владельца объекта
PaperSpace
Указатель семейства paperSpace
PaperUnits
Единицы измерения, используемые при показе свойств листа и конфигурации печати
Parent
Указатель родительского объекта (относится к меню и панелям)
Password
Пароль
Path
Путь к файлу документа, приложения или внешней ссылки
PatteriiAngle
Угол образца штриховки
PatternDouble
Признак наложения штриховки "крест-накрест"
PatternName
Ими образца штриховки
PatternScale
Масштаб штриховки
PatternSpace
Отстояние линий пользовательской штриховки
PatternType
Имя образца, использованного в штриховке
Perimeter
Суммарный периметр внешнего и внутренних контуров области
Часть I. Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
PickAdd
Признак добавления в набор объектов с помощью клавиши <Shift>
PickAuto
Признак допустимости использования рамки в операции выбора объектов
PickBoxSiae
Высота прицела выбора объектов
PickDrag
Способ создания рамки выбора
PickFirst
Признак допустимости предварительного выбора объектов
PickfirstSelectionSet
Указатель набора предварительно выбранных объектов
PickGroup
Признак выбора сразу всех объектов группы, если был указан один из них
Plot
Указатель объекта Plot (образ печати)
PlotConfigurations
Указатель семейства PlotConf igurations
PlotHidden
Признак скрытия невидимых объектов при печати из пространства листа
PlotLegacy
Признак допустимости использования файлов печати предыдущих версий
PlotQrigin
Положение левого нижнего угла зоны печати относительно границ листа
PlotPolicy
Признак назначения по умолчанию цветоэависимых или именованных стилей печати новым рисункам и файлам, конвертируемым из форматов старых версий системы AutoCAD
PlotRotation
Признак поворота чертежа при выводе на печать
PlotStyleName
Имя стиля печати для примитива, группы или слоя
Plottable
Признак того, что слой выводится при печати
PlotType
Границы зоны, выводимой при печати
PlotViewportBorders
Признак печати границ видовых экранов
PlotViewportsFirst
Порядок вывода обьектов при печати листа (сначала осуществляется вывод примитивов пространства листа, а затем — пространства модели, или наоборот)
Глава 1- Средства разработки приложений и объектная модель Таблица 1,2 (продолжение) Свойство
Описание
PlotWithLineweights
Признак выбора весов линий (из стиля печати или из объектов)
PlotWithPlotStyles
Признак использования собственных стилей печати при выводе объектов
Ро1агТгасkingVector
Признак полярного отслеживания
PostScriptPrologFile
Имя управляющей секции в файле acad.psl для настройки команды PSOUT {ЭКСПОРТНО]
Preferences
Указатель объекта Preferences
Preset
Признак установленное™ атрибута или определения атрибута
PrimaryUnitsPrecision
Количество десятичных знаков в основных единицах
PrincipalDirections
Главные направления для тела или области
PrincipalMoments
Главные моменты для тела или области
PrinterConfigPath
Строка с путями к файлам конфигурации принтеров
PrinterDescPath
Строка с путями к файлам описания принтеров
PrinterPaperSizefllert
Признак предупреждения пользователя о несоответствии размеров листа размерам в РСЗ-файле
FrinterSpoolAlert
Признак предупреждения о перенаправлении печати на системный принтер а связи с ошибками порта
printerStyleSheetPath
Строка с путями к файлам параметров листа
PrintFile
Альтернативное имя для файла печати
PrintSpoolerPath
Папка для буферизации печати
PrintSpoo1Executable
Имя приложения, используемого для фоновой печати
ProductOfInertia
Центробежный момент инерции для тела или области
Profiles
Указатель объекта PreferencesProfiles
Prompt String
Строка подсказки для атрибута
Часть I. Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
Provide r Name
Имя провайдера цифровой подписи
Р г о v i de г Т уре
Тип провайдера цифровой подписи
Proxy Image
Признак управления показом объектов, созданных другими приложениями
JuietErrorMode
Признак вывода сообщений об ошибках печати не на экран, а в файл
RadiiOfGyration
Радиус инерции для тела или области
Radius
Радиус
RadiusRatio
Отношение полуосей эллипса
Readonly
Признак невозможности перезаписи документа ("только для чтения")
Red
Значение красной составляющей цвета
Re f e ren с eCo unt
Относительный номер в списке зависимостей
RegisteredApplications
Указатель семейства RegisteredApplications
Rende rSmoothnes s
Коэффициент регулировки гладкости раскрашенных и тонированных объектов, а также объектов с подавленными скрытыми линиями
Revi s ionNumber
Номер изменения
Rotation
Угол поворота
RoundD i s t ance
Точность округления для линейных размеров
Rows
Число рядов в массиве блоков
RowSpacirig
Расстояние между рядами в массиве блоков
SaveAsType
Формат сохранения документа
Saved
Признак сохраненное™ всех изменений документа
SavePreviewThuiribna i1
Признак сохранения растрового образца вместе с документом
ScaleFactor
Масштабный коэффициент для объекта
ScaleLineweights
Признак масштабирования весов линий вместе со всеми объектами рисунка при печати
Глава 1. Средства разработки приложений и объектная модель
43
Таблица 1.2 (продолжение) Свойство
Описание
S CMComma n dMode
Смысловая нагрузка правой клавиши в режиме выполнения команды
SCMDefaultMode
Смысловая нагрузка правой кнопки мыши в режиме редактирования (нет выполняемых команд, но есть выбранные объекты]
SCMEditMode
Смысловая нагрузка правой кнопки мыши, когда нет выбранных объектов и выполняемых команд
SecondPoint
Вторая точка луча или прямой
SegmentPerPolyline
Число прямолинейных сегментов, которыми аппроксимируется полилиния при сглаживании сплайном в команде PEDIT (ПОЛРЕД)
Selection
Указатель обьекта Preferencesselection
SelectionSets
Указатель семейства SelectionSets
SerialNuirber
Серийный номер подписи
ShadePlot
Режим печати тонированного экрана
ShortcutMeiiu
Признак того, что меню является не падающим, а контекстным
ShortCutMenuDisplay
Признак вызова контекстного меню при щелчке правой кнопкой мыши в зоне графического экрана
ShowPlotStyles
Признак отображения имен стилей печати
S howF roxyDi a1оgBox
Признак вывода предупреждающего сообщения при открытии рисунка с объектами других приложений
ShowRasterImage
Признак показа растрового изображения во время операций панорамирования \л зумирования
Shot/Rotation
Признак показа растрового изображения в соответствии со своим углом поворота
ShowWarningMessages
Установка в диалоговых окнах флажка вывода предупреждающего сообщения Don't Display This Warning Again (Выводить это предупреждение в дальнейшем)
SingleDocumentMode
Признак о дно доку мент но го режима
Часть I. Разработка приложений
44
Таблица 1.2 (продолжение) Свойство
Описание
SnapBasePoint
Точка начала сетки для режимов SNAP (ШАГ) и GRID (СЕТКА) в видовом экране
SnapOn
Состояние режима SNAP (ШАГ)
SnapRo t a t i onAngIe
Угол наклона сетки
SolidFill
Состояние режима заливки для мультилиний, трасс, фигур, полилиний и штриховок типа Solid
StanclardScale
Масштаб из списка стандартных масштабов печати
StartAngle
Начальный угол дуги, эллипса
StartParaaieter
Начальное значение параметра эллипса
StartPoirit
Начальная точка дуги, отрезка или эллипса
StartTangent
Начальная касательная к сплайну
StatusID
Признак текущего (активного) видового экрана
StoreSQLIndex
Признак сохранения в рисунке SQL-индекса
StyleName
Имя стиля (текстового, размерного и т, п.)
Stylesheet
Имя стиля с параметрами печати
Subject
Имя субъекта цифровой подписи или тема в свойствах рисунка
SubMenu
Раскрывающееся меню, связанное с подменю
SummerуInfo
Указатель объекта SummaryInfc
SupportPath
Строка путей к файлам поддержки
SuppressLeadingZeго3
Признак подавления ведущих нулей в основных размерах
SuppressTrailingZeros
Признак подавления хвостовых нулей в основных размерах
SuppressZeroFeet
Признак подавления нулей футов в основных размерах
Suppre s sZeroInches
Признак подавления нулей дюймов в основных размерах
System
Указатель обьекта PreferencesSystem
Глава 1. Средства разработки приложений и объектная модель
45
Таблица 1.2 (продолжение) Свойство
Описание
TablesReadonly
Признак открытия таблиц базы данных в режиме "только для чтения"
TabOrder
Номер вкладки в порядке расположения в списке вкладок (вкладка Model (Модель! всегда имеет номер 0}
TagString
Строка с тегом атрибута, пункта меню, панели и т. п.
Target
Точка цели вида или видового экрана
Temp Fi1eExtens ion
Расширение, используемое для имен временных файлов
TempFilePath
Папка для хранения временных файлов
TemplateDwgPath
Путь к файлам шаблонов, используемый Мастером начала работы
TempXRefPath
Путь к файлам внешних ссылок
Tex tД1igranent Point
Вторая точка выравнивания текста или атрибута
TextColor
Цвет текста размера или допуска
TextEditor
Ими текстового редактора, используемого командой МТЕХТ (МТЕКСТ)
TextFont
Имя шрифта для нового текста
TextFontSiee
Размер шрифта для нового текста
TextFontStyle
Имя стиля для нового текста
TextFrameDisplay
Признак показа рамки вместо текста
TextGap
Расстояние между текстом и размерной линией (линией выноски)
TextGenerationFlag
Флаг генерации текста атрибута
TextHeight
Высота текста размера или допуска
Textlnside
Признак расположения размерного текста между выносными линиями
TextlnsideAlign
Признак положения текста относительно размерной линии (горизонтально или параллельно) для всех размеров, кроме ординатного
TextMovement
Изменение оформления размера при перемещении размерного текста
Часть I. Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
TextOutsideAlign
Признак расположения размерного текста вне выносных линий
TextDverride
Строка изменения размерного текста
TextPosition
Точка положений размерного текста
TextPrecision
Точность углового размерного текста
TextPrefix
Префикс размерного текста
TextRotation
Угол наклона размерного текста
TextString
Строка (значение) для текста, мультитекста, выноски, атрибута или определения атрибута
TextStyle
Стиль для текста размера или допуска
TextStyles
Указатель семейства TextStyles
TextSuffix
Суффикс размерного текста
TextureMapPath
Строка с путями поиска текстур для тонирования
TextWinBackgrndColor
Цвет фона текстового окна
TextWinTextColor
Цвет текста в текстовом окне
Thickness
Зысота выдавливания плоского обьекта
TimeServer
Имя сервера времени, используемого для цифровой подписи
TimeStamp
Время файла из списка зависимостей
Title
Заголовок
ToleranceDisplay
Признак показа допусков в размере
ToleranceHeightScale
Масштабный коэффициент высоты букв текста допуска относительно высоты букв основного размерного текста
ToleranceJustification
Тип вертикального выравнивания текста допуска относительно основного размерного текста
То1eraneeLowe rLirai t
Минимальный предел допуска в размере
ToierancePrecision
Точность допуска в основных размерах
ToleranceSuppressLeadingZeros
Признак подавления ведущих нулей в допусках основных размеров
Глава 1. Средства разработки приложений и объектная модель
47
Таблица 1,2 (продолжение) Свойство
Описание
ToleranceSuppressTrailiiigSeros
Признак подавления хвостовых нулей в допусках основных размеров
ToleranceSuppressZeroFeet
Признак подавления нулей футов в допусках основных размеров
ToleranceSuppressSerolnches
Признак подавления нулей дюймов в допусках основных размеров
ToleranceUpperLimit
Максимальный предел допуска в размере
Toolbars
Указатель семейства Toolbars
ToolPalettePath
Путь к инструментальным палитрам
Top
Положение верхней границы панели инструментов
TotalAngle
Полный центральный угол дуги
TranslatelDs
Признак преобразования указателей объектов во время операций клонирования (копирования)
Transparency
Состояние прозрачности растрового изображения
TrueColor
Точный цвет объекта
ТrueColorImages
Признак показа растровых и тонированных изображений с максимальным цветовым разрешением
TwistAngle
Угол поворота вида Е видовом экране листа
Type
Тип выноски, полилинии, сети, группы меню, пункта меню или пункта панели
DCSIconAtOrigin
Признак показа знака ПСК в начале координат
UCSIconOn
Состояние включения знака ПСК
OCSPecViewport
Признак сохранения ПСК вместе с видовым экраном
UnitsFormat
Формат единиц для всех размеров, кроме угловых
UpperRightCorner
Положение верхнего правого угла активного видового экрана
UpsideDown
Ориентация букв текста (нормальная или вверх ногами)
Часть!. Разработка приложений Таблица 1.2 (продолжение) Свойство
Описание
ORL
Адрес страницы или имя файла гиперссылки
URLDescription
Пояснение к гиперссыпке
URLK amedLo cation
Закладка в документе или вид в рисунке для объекта гиперссылки
UseLastPlotSettings
Признак использования настроек предыдущей операции печати
User
Указатель объекта Preferencesuser
UserCoordinateSysterns
Указатель семейства ucss
UseStandardScale
Признак использования стандартного или пользовательского масштаба печати
Utility
Указатель объекта Utility
" aiUe
Указатель нового объекта, созданного в результате операции копирования [клонироаания)
VBE
Указатель приложения VBA IDE
Verify
Признак контролируемости атрибута или описания атрибута
Version
Версия текущего приложения системы AutoCAD
VersioriGGID
Глобально уникальный идентификатор (GU1D) версии
Vertiсa1Alignment
Признак вертикального выравнивания текста, атрибута или описания атрибута
VerticalTextPosition
Положение текста по вертикали относительно размерной линии
ViewportDefault
Признак автоматического замораживания слоя в новых видовых экранах пространства листа
ViewportQn
Признак включенности видового экрана
Viewports
Указатель семейства viewports
Views
Указатель семейства views
ViewToPlot
Имя печатаемого вида
VisibilityEdgel
Признак видимости первой кромки грани
VisibilityEdge2
Признак видимости второй кромки грани
Глава 1. Средства разработки приложений и объектная модель
49
Таблица 1.2 (окончание) Свойство
Описание
visibilityEcige3
Признак видимости третьей кромки грани
Vi sibi1ityEdge4
Признак видимости четвертой кромки грани
Visible
Признак видимости обьекта или приложения
V ." ._-.
О бьем тела
Weights
Массив весов точек сплайна
Width
Ширина текста, вида, растрового изображения, панели или главного окна приложения
WindowLeft
Положение левой границы окна приложения
WindowState
Состояние окна приложения или документа
WindowTitle
Заголовок окна документа
WindowTop
Положение верхней границы окна приложения
Wor К spa с е Pa th
Полное имя рабочего файла базы
XRefDatabase
Указатель обьекта Database, определяющего содержимое вхождения внешней ссылки
XRefDemandLoad
Режим подгрузки внешних ссылок
XRefEdit
Признак доступности текущего документа для редактирования его на месте как внешней ссылки из другого рисунка
XRefFadelnterisity
Управление снижением интенсивности отображения объектов при редактировании вхождений внешних ссылок
XRefLayerVisibility
Управление видимостью зависимых от внешних ссылок слоев, а также сохранением путей доступа для вложенных ссылок
XScaleFactor
Масштабный коэффициент по оси X вхождения блока или внешней ссылки
XVector
Направление оси Сданной ПСК
YScaleFactor
Масштабный коэффициент по оси Y вхождения блока или внешней ссылки
iVector
Направление оси Уданной ПСК
ZScaleFactor
Масштабный коэффициент по оси 2 вхождения блока или внешней ссылки
Часть I. Разработка приложений
50
Табл. 1.3 показывает объекты (в алфавитном порядке) и наименования их свойств. Добавлена информация по некоторым недокументированным объектам. Таблица 1.3. Объекты и свойства Объект
Доступные свойства
SDFace
Application, Color, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, PlotStyleName, TrueColor, Visible, VisibilityEdgel, VisihilityEdge2, VisibilityEdge3. VisibilityEdge4
3DPolyline
Application, Closed, Color, Coordinate, Coordinates, Document, Handle, HasExteneionDictionary, Hyperlinks, Layer, Length, Linetype, LinetypeScale, Lineweight, CbjectID, ObjectName, OwnerlD, PlotStyleName, TrueColor, Type, Visible
3DSolid
Application, Centroid, Color, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, MomentOfInertia, ObjectID, ObjectName, OwnerlD, PlotStyleName, PrincipalDirections, PrincipalMoments, ProductOfInertia, RadiiOfGyration, TrueColor, Visible, Volume
AcadState
Application, IsQuiescsnt
AcCmColor
Blue, BookName, Colorlndex, ColorMethod, ColorName, EntityColor, Green, Red
Application
ActiveDocument, Application, Caption, Documents, FullName, Height, HWND, LocalelD, MenuBar, MenuGroups, Name, Path, Preferences, StatusID, VBE, Version, Visible, Width, WindowLeft, WindowState, WindowTop
Arc
Application, ArcLength, Area, Center, Color,
Document, EndAngle, EndPoint, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, PlotStyleName, Radius, Star^Angle, StattPoint, Thickness, TotalAngle, TrueColor, Visible Attribute
Alignment, Application, Backward, Color, Constant, Document, FieldLength, Handle, HasExtensionDictionary, Height, Hyperlinks, InsertionPcint, Invisible, Layer, Linetype,
Глава 1. Средства разработки приложений и обьектная модель
51
Таблица 1.3 (продолжение) Объект
Доступные свойства
(пред,)
LinetypeScale, Lineweight, Mode, Normal, ObjectID, ObjectName, ObliqueAngle, OwnerlD, Preset, PlotStyleName, PromptString, Rotation, ScaleFactor, StyleName, TagString, TextAlignmentPoint, TextGenerationFlag, TextString, Thickness, TrueColor, UpsideDown, Verify, Visible
Att r ibuteRe f e r eric e
Alignment, Application, Backward, Color, Constant, Document, FieldLength, Handle, HasExtensionDictionary, Height, Hyperlinks, InsertionPoint, Invisible, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, ObliqueAngle, OwnerlD, PlotStyleName, Rotation, ScaleFactor, StyleName, TagString, TextAlignmentPoint, TextGenerationFlag, TextString. Thickness, TrueColor, UpsideDown, Verify, Visible
Block
Application, Count, Document, Handle, HasExtensionDictionary, IsLayout, IsXRef, Layout, Name, ObjectID, Origin, OwnerlD, XRefDatatase
BlockRef
Application, Color, Document, Handle, HasAttributes, HasExtensionDictionary, Hyperlinks, InsertionPoint, Layer, Linetype, LinetypeScale, Lineweight, Name, Normal, ObjectID, ObjectName, OwnerlD, PlotStyleNarae, Rotation, TrueColor, Visible, XScaleFactor, YScaleFactor, ZScaleFactor
Body
Application, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, PlotStyleName, TrueColor, Visible
Circle
Application, Area, Center, Circumference, Color, Diameter, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, OwnerlD, PlotStyleMame, Radius, Thickness, TrueColor, Visible
Database
Application, Blocks, Dictionaries, DimStyles, ElevationModelSpace, ElevationPaperSpace, Groups, HandleToObject, HasExtensionDictionary, Layers. Layouts, Limits, Linetypes, MocfelSpace, ObjectlDToObject, OwnerlD, PaperSpace, PlotConfigurations, Preferences, RegisteredApplications, TextStyles, UserCoordinateSystems, Viewports, Views
Часть I. Разработка приложений
52
Таблица 1.3 (продолжение) Объект
Доступные свойства
DatabasePreferences
AllowLongSymbolNameg, Application, Contourlin.esPerSurface, Displaysilhouette, Lineweight, LineweightDisplay, MaxActiveViewportg, QbjectSortByPlotting, ObjectSortByPSOutput, QbjectSortByRedraws, obje-ctSortByRegens, ObjeetSortBySelection, ObjectSortBySnap, OLELaunch, RenderSmoothness, SegmentPerPolyline, SolidFiil, TextFrameDisplay, XRefEdit, XRefLayerVisibility
Dictionary
Application, Count, Document, Handle, HasExtensionDictionary, Name, ObjectID, ObjectName, OwnerlD
D im3 Po intAngu1a r
AngleFormat, AngleVectex, Application, ArrowheadlBlock;, ArrowheadlType, Arrowhead2Block, Arrowhead2Type, ArrowheadSize, Color, DecimalSeparator, DimensionLineColor, DimensionLineWeight, DimLinelSuppress, DimLine2Suppress, DimLineInside, Document, ExtensionLineColor, ExtensionLineExtend, ExterisionLineuffset, ExtensionLineWeight, ExtLineiEndPoint, ExtLine1Suppress, ExtLine2EndPoint, ExtLine2Suppress, Fit, ForceLineInside, Handle, HasExtengionDictionary, HoriaontalTextPosition, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Measurement, Normal, ObjectID, Objecttlame, OwnerlD, Plot Sty leNarr.e, Rotation, ScaleFactor, StyleName, SuppcessLeadingZeros, SuppressTrailingZeros, TextColor, TextGap, TextHeight, Textlnside, TextlnsideAlign, TextMovement, TextOutsideAlign, TextOverride, TextPosition, TextPrecision, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToleranceHeightScale, ToleranceJustification, ToleranceLowerLimit, ToleranceFreeision, ToleranceSuppressLeadingZeros, ToleranceSuppressTrailingZeros, ToleranceUpperLimit, TrueColor, VerticalText, Posit ion, Visible
DimAligned
AltRoundDistance, AltSuppressLeadingSeros, AltSuppressTrailingZeros, AltSuppressZeroFeet, AltSuppressZeroInches, AltTextPrefix, AltTextSuffix, AltTolerancePrecision, AltToleranceSuppressLeadingzeros, AltToleranceSuppressTrailingZeros,
Глава1.Средства разработки приложений и объектная модель
53
Таблица 1.3 (продолжение) Объект
Доступные свойства
(пред.)
AltTOleranceSuppres.sZeroFeet, Al tTOleranceSuppressZeroInches, AltUnits, filtUnitsFormat, AltUnitsPrecision, AltUnits Scale, Application, ArrowheadlBlock, ArrowheadlType, Arrowhead2Block, Arrowhead2Type, Arrowheadsize. Color, DecimalSeparator, DimensionLineColor, DimensionLineExtend, DimensionLineWeight, BimLinelSuppress, DimLine2Suppress, DimLineInside, Document, ExtensionLineColor, ExtensionLineExtend, ExtensionLir.eOffset, Ext ens ionLine Weight, ExtLinelPoint, EKtLinelSuppress, ExtLine2Point, ExtLine2Suppress, Fit, ForceLinelnside, Fraction Format, Handle, HasExtensionDicT;ionary, HorizoncalTextPosition, Hyperlinks, Layer, LinearScaleFactor, Linetype, LinetypeScale, Lineweight, Measurement, Wormal, ObjectID, ObjectName, OwnetrlD, PlotStyleMame, PrimaryUnitsPrecision, Rotation, RoundDistance, ScaleFactor, StyleHame, SuppressLeadingSeros, SuppressTrailing2eros, SuppressZeroFeet, SuppressZeroInches, TsxtColor, TextGap, TextHeight, Textinsiae, TextInsideAIign, TextMoveroent, ТеxtCutsideAlign, TextOverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToleranceHeightScale, ToleranceJustification, ToleranceLowerLimit, TolerancePrecision, ToleranceSuppressLeadingZeros, ToleranceSuppressTrailingZeros, ToleraiiceSuppressZeroFeet,
ToleranceSuppress2eroiriches, ToleranceUpperLimit, TrueColor, Units Format, VerticalTextPosirion, Visible
DimAngular
AngleFormat, Application, ArrowheadlBlock, Arrowhead!Type, Arrowhead2Block, Arrowhead2Type, Arrowheads!ze, Color, DecimalSeparator, DimensionLineColor, DimensionLineWeight, DimLine1Suppress, DimLine2Suppress, DimLineInside, Document, ExtensionLineColor, ExtensionLineExtend, ExtensionLineOffset, ExtensionLineWeight, ExtLinelEndPoint, ExtLinelStartPoint, ExtLinelSuppress, ExtLine2EndPoint, ExtLine2StartPoint, ExtLine2Suppress, Fit, ForceLinelnside, Handle, HasExtensionDictionary. HorizontalTextPosition, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Measurement,
Часть I. Разработка приложений Таблица 1.3 (продолжение) Обьект
Доступныесвойства
<лрод.)
Normal, ObjectlD, ObjectName, OwnerlD, PlotStyleName, Rotation, ScaleFactor, StyleName, SuppressLeadir.gZeros, SuppressTrailingZeros, TextColor, TextGap, TextHeight, Textlnside, TextInsideAlign, TextMovement, TextOutsideAlign, TextOverride, TextPosition, TextPrecision, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToletanceHeightScale, ToleranceJustification, ToleranceLowerLimit, TolerancePrecision, ToleranceSuppressLeadingzeros, ToleranceSuppressTrailingSeros, ToleranceUpperLimit, TrueColor, VerticalTextPcsition, visible
DimDiametric
AltRoiindDistance, AltSuppressLeadingZeros, AltSuppressTrailingZeros, AltSuppressZeroI'eet, AltSuppressZeroInches, AltTextPrefix, AltTextSuffix, AltTolerancePrecision, AltToleranc&SuppressLeadingZeros, AltToleranceSuppressTrailingZeros, AltToleranceSuppressZeroFeet, AltToleranceSuppressZeroInches, AltUnits, AltUnitsFormat, AltUnitsPrecision, AltOnitsScale, Application, ArrowheadlBlock, ArrowheadlType, ArrowheadZBlcck, Arrowhead2Type, ArrowheadSize, CenterMarkSize, CenterType, Color, DeciroalSeparator, DimensionLineColor, DimensionLineWeight, DimLinelSuppress, DiraLine2Suppress, Document, Fit, ForceLineInside, FractionFormat, Handle, HasExtensionDictionary, Hyperlinks, Layer, LeaderLength, LinearScaleFactor, Linetype, LinetypeScale, Lineweight, Measurement, Normal, ObjectlD, ObjectName, OwnerlD, PlotStyleName, primaryUnitsPrecision, Rotation, RounciDistance, ScaleFactor, StyleNair.e, SuppressLeadingZeros, SuppressTrailingZeros, SuppressZeroFeet, SuppressZeroInches, TextColor, TextGap, TextHeight, Textlnside, TextlnsideAlign, TextMovement, TextOutsideAlign, TextOverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToleranceHeightScale, ToleranceJustification, ToleranceLowerLimit, TolerancePreeision, ToleranceSuppressLeacingZeros, ToleranceSuppressTrailingZeros, ToleranceSuppressZeroFeet, ToleranceSuppressZeroInches, ToleranceUpperLimit, TrueColor, OnitsForrnat, VerticalTextPosition, Visible
Глава 1. Средства разработки приложений и объектная модель
55
Таблица 1.3 (продолжение) Объект
Доступные свойства
DimOrdinate
AltRoundDistance, AltSuppressLeadingZeros, Д11 SuppressTra i1ingZe ros, AltSuppres s2e roFeet, AltSuppressZeroInches, AltTextPrefix, AltTextSuffix, AltTolerancePrecision, AltToleranceSuppressLeadingSeros, AltToleranceSuppressTrailingZeros, AltTolerenceSuppressZeroFeet; AltToleranceSuppressZeroInches, AltUnits, AltUnitsFormat, AltUnitsPrecision, AltUnitsScale: Application, ArrowheadSize, Color, DecimaiSeparator, Document, ExCensionLineColor, ExtensionLineOffset, FractionFormat, Handle, HasExtensionDictionary, Hyperlinks, Layer, linearScaleFactor, Linetype, LinetypeScale, Lineweight, Keasurement, Normal, ObjectID, ObjectName, OwnerlD, PlotStyleHame, PrimaryUnitsPrecision, Rotation, RoundDistance, ScaleFactor, StyleName, SuppressLeadingZeros, SuppressTrailingZeros, S-jppressSercFeet, SuppressZeroInches, TeKtColor, TextGap, TextHeight. TextMovement, TextOverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToleranceHeightScale, ToleranceJustification, ToleranceLowerLimit, TolerancePrecision, ToleranceSuppressLeadingZeros, ToleranceSuppressTrailingSeros, ToleranceSuppressZeroFeet, roleranceS'JppressZeroInches, ToleranceOpperLimit, TrueColor, UnitsFormat, VerticalTextPosition, Visible
DimRadial
AltRoundDistance, AltSuppressLeaciingZeros, altSuppressTrailingSeros, AltSuppressZeroFeet, AltSuppressZeroInches, AltTextPrefix, AltTextSuffix, AltTolerancePrec is ion, AltToleranceSuppressLeadingZeros, AltToleranceSuppressTrailingZeroa, AltToleranceSuppressZeroFeet, AltToleranceSuppressZeroInches, AltUnits, AltUnitsFormat, AltUnitsPrecision, AltUnitsScale, Application, ArrowheadBlock, ArrowheadSise, ArrowheadType, CenterMarkSize, CenterType, Color, DecimalSeparator, DimensionLineColor, DimensionLineWeight, DimLineSuppress, Docianent, Fit, ForceLinelnside, FractionForrnat, Handle, HasExtensionDictionary, HorizontalTextPosition.
Часть /. Разработка приложений
Таблица 1.3 (продолжение) Объект
Доступные свойства
(лрод.)
Hyperlinks, Layer, LeaderLength, LinearScaleFactor, Linetype, LinetypeScale, Lineweight, Measurement, Normal. ObjectID, ObjectName, OwnerlD, PlotstyleName, PrimaryUnitsPrecision, Rotation, RoundDistance. ScaleFactor, StyleMame, SuppressLeadingZeros, SuppressTrailingSeros, SuppressZeroFeet, SuppressSeroInches, TextColor, TextGap,TextHeight, Textlnside, TextInsideAlign, TextMovement, TextOutsideAlign, TextOverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, TolerariceDisplay, ToleranceHeightScale, ToleranceJustification, ToleranceLowerLimit, TolerancePrecision, ToleranceSuppressLeadingZeros, ToleranceSuppressTrailingZeros, ToleranceSuppressZeroFeet, ToleranceSuppress3eroInches, ToleraneeUpperLimit, TrueColor, UnitsFormat, VerticalTextPosition, Visible
DimRotated
AitRoundDistance, ftltSuppresaLeadingZeros, AltSuppressTrailingZeros, AltSuppressZeroFeet, AltSuppressZsroInches, AltTextPrefix, AltTextSuffix, AltTolerancePrecision, AltToleranceSuppressLeadingZeros, ftltToleranceSuppressTrailingZeros, AltToleranceSuppress2eroFeet, AltTolecanceSuppressZeroInches, AltUnits, AltUnitsFonr^t, AltDnitsPrecision, AltUnitsScale, Application, ftrrowheadlBlock, ArrowheadlType, ArrowheadSBlock, Arrowhead2Type, ArrowheadSize, Color, DecimalSeparator, DimensionLineColor, DitnensionLineExtend, DimensionLineWeight, DimLinelSuppress, DimLine2Suppress, DimLineinside, Document, ExtensionLineColor, ExtensionLineExtend, ExtensionLineOffset, ExtensionLineWeight, ExtLinelSuppress, ExtLine2Suppress, Fit, ForceLineInside, FractionFormat, Handle, HasExtensionDictionary, HorizontalTextPosition, Hyperlinks, Layer, LinearScaleFactor, Linetype, LinetypeScaLe, Lineweight, Measurement, Normal, ObjectID, CbjectHame, OwnerlD, PlotstyleName, PrimaryUnitsPrecision, Rotation, RoundDistance, ScaleFactor, StyleName, SupptessLeadingZeros, SuppressTrailingZeros, SuppressZeroFeet, SuppressZecoInches, TextColor, TextGap, TextHeight,
Глава 1. Средствз^зрабогки приложений и объектная модель
57
Таблица 1.3 (продолжение) Объект
Доступные свойства
(пред.)
TextInside, TextInsideAlign, TextMovement, TextQutsideAlign, Textoverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay. ToleranceHeightScale, ToleranceJustification, TolerariceLowerLimit, TolerancePrecision, ToleranceSuppressLeadingZeros, ToleranceSupprsssTrailingZeros, TolerariceSuppressZeroFeet, roleranceSuppressZeroInch.es, ToleranceOpperLimit, TrueColor, UnitsFormat, VerticalTextPosition, Visible
DimStyle
Application, Document, Handle, HasExtensionDictionary, Name, ObjectID, ObjectName, OwnerlD
Document
Active, ActiveDimStyle, ActiveLayer, ActiveLayout, ActiveLinetype, ActivePViewport, ActiveSelectionSet, ActiveSpace, ActiveTextStyle, ActiveUCS, ActiveViewport, Application, Blocks, Database, Dictionaries, DimStyles, ElevationModelSpace, ElevationPaperSpace, FileDependencies, FullHame, Groups, Heigh-, HWND, Layers, Layouts, Limits, Linetypes, ModelSpace, MSpace, Name, ObjectSnapMode, PaperSpace, Path, PickfirstSelectionSet, Plot, PlotConfigurations, Preferences, Readonly, RegisteredApplications, Saved. SelectionSets, Sunimarylnfo, TextStyles, UserCoordinateSystems, Utility, Viewports, Views, Width. WindowState, WindowTitle
Ellipse
Application, Area, Center, Color, Document, EndAngle, EndParameter, EndPoirit, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, MajorAxis, MajorRadius, MinorAxis, MinorRadius, Normal, ObjectID, ObjectName, OwnerlD, PlotSCyleName, RadiusRatio, StartAngle, StartParameter, StartPoint, TrueColor, Visible
Ex t e rna1Reference
Application, Color, Document, Handle, HasAttributes, HasExtensionDictionary, Hyperlinks, InsertionPoint, Layer, Linetype, LinetypeScale, Lineweight, Name, Normal, ObjectID, ObjectName, OwnerlD, Path, PlotStyleName, Rotation, TrueColor, Visible, XScaleFactor, YScaleFactor, ZScaleFactor
Часть I. Разработка приложений
58
Таблица 1.3 (продолжение) Объект
Доступные свойства
FiIeDependency
AffectsGcaphics,Feature, Filename, FileSize, FingerprintGUID, FoundPath, FullFileName, Index, IsModified, ReferenceCount, TimeStamp, VersionGUID
Group
Application, Color, Count, Document, Handle, HasExtensionDictionary, Layer, Linetype, LinetypeScale, Name, ObjectlD, ObjectName, OwnerlD, PlotStyleName, TrueColor,Visible
Hatch
Application, AssociativeHatch, Color, Document, Elevation, Gradientfingle, GradientCentered, GradientCoIorl, GradientColor2, GradientName, Handle, HasExtensionEictionary, HatchObjectType, HatchStyle, Hyperlinks, ISOPenWidth, Layer, Linetype, LinetypeScale, Lineweight, Normal, Nijjnber Of Loops, ObjectID, ObjectName, OwnerlD, PatternAngle, PatternDouble, PatternMame, PatternScale, PatternSpace, PatternType, Plot Sty leNaw-e, TrueColor, Visible
Hyperlink
Application, URL, URLDescription, URLNamedLocation
IDPair
Application, IsCloned, IsOwnerXlated, IsPrimary, Key, Value
Layer
Application, Color, Document, Freeze, Handle, HasEx.tensionDictionary, LayerOn, Linetype, Lineweight, Lock, Name, ObjectID, ObjectName, OwnerlD, PlotStyleName, Plottable, TrueColor, ViewportDefault
LayerStateManager
Mask
Layout
Application, Block, CanonicalMediaName, CenterPlot, ConfigNaire, Document, Ge t Canonic a IMediaNames, GetLocaieMediaName, GetPlotDeviceNames, GetPlotStyleTableNames, Handle, HasExtensionDictionary, ModelType, Name, ObjectID, ObjectName, OwnerlD, PaperUnits, PlotHidden, PlotOrigin, PlotRotation, PlotType, PlotViewportBorders, PlotViewportsFirst, PlotWithLineweights, PlotWithPlotStyles, RefreshPlotDevicelnfo, ScaleLineweights, ShowPlotstyles, StandardScale, StyleSheet, TabOrder, UseStandardScale, ViewToPlot
Глава 1, Средства разработки приложений и объектная модель
59
Таблица 1.3 (продолжение) Объект
Доступные свойства
Leader
Annotation, Application, ArrowheadBlock, Arrowheadsize, ArrowheadType, Color, Coordinate, Coordinates, Document, DimensionLineColor, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, Ob j ectName, OwnerlD, PlotstyleName, ScaleFactor, StyleName, TextGap, TrueColor, Type, VerticalTextPosition, Visible
LightweightPolyline
Application, Area, Closed, Color, ConstantWidth, Coordinate, Coordinates, Document, Elevation, Handle, HasExtensionDictionary, Hyperlinks, Layer, Length, Linetype, LinetypeGeneration, LinetypeScal», Lineweight, Normal, ObjectID, ObjectName, OwnerlD, PlotstyleName, Thickness, TrueColor, Visible
Line
Angle, Application, Color, Document, Delta, EndPoint, Handle, HasExtensionDictionary, Hyperlinks, Layer, Length, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, PlotstyleName, StartPoint, Thickness, TrueColor, Visible
Llnetype
Application, Document, Description, Handle, HasExtensionDictionary, Name, ObjectID, ObjecttJaree, OwnerlD
MenuGroup
Application, MenuFileName, Menus, Name, Parent, Toolbars, Type
MInsertBlock
Application, Color, Columns, ColumnSpacing, Document, Handle, HasAttributes, HasExtensionDictionary, Hyperlinks, InsertioriPoinL, Layer, Linetype, LinetypeScale, Lineweight. Name, Normal, ObjectID, ObjectName, OwnerlD, PlotstyleName, Rotation, Rows, RowSpacing, TrueColor, Visible, KscaleFactor, YscaleFactor, ZscaleFactor
MLine
Application, Color, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, PlotstyleName, StyleName, TrueColor, Visible
MText
Application, AttachmentPoint, Color, Document, DrawingDirection, Handle, HasSxtensionDictionary, Height, Hyperlinks, InsertionPoint, Layer, LineSpacingFactor, LineSpacingStyle, Linetype,
ее
Часть I. Разработка приложений
Таблица 1.3 (продолжение) Объект
Доступные свойства
(прод.)
LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, Plot Sty leName, Rotation, StyleNanif;, Tex:;String, TrueColor, Visible, Width
01e2F!:ame
Application, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, PlotStyleName, TrueColor, Visible
Plot
Application, BatchPlotProgress, NumberOfCopies, Qu i etE г г о rKod Q
PlotConfiguration
Application, CanonicalMediaName, CenterPlot, ConfigName, Document, Handle, HasExtensionDictionary, ModelType, Name, ObjectID, ObjectName, OwnerlD, PaperUnits, PlotHidden, PlotOrigin, PlotRotation, PlotType, PlotViewportBorders, PlotViewportsFirst, PlotWithLineweights, PlotWithPlotStyles, Refresh?lotDeviceInfo, ScaleLineweights, ShowPlctStyleg, StandardScale, Stylesheet, UseStandardScale, ViewToPlot
"
Application, Color, Coordinate, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlinks. Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, GbjectName, OwnerlD, Thickness, TrueColor, Visible
PolyfaceMesh
Application, Color, Coordinate, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, Linetyp^Scaie, Lineweioht, KjmberOfFaces, NumberOfVertices. ObjectID, Ob j «ctNajne, OwnerlD, PlotStyleName, TrueColoi, Visible
PolygonMesh
Application, Color, Coordinate, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlirks, Layer, Linetype, LinetypeScale, Lineweight, MClose, MDensity, MVertexCount, HClose, NDensity, NVertexCount, ObjectID, ObjectName, OwnerlD, PlotStyleNarae, TrueColor, Type, Visible
Polyline
Application, Area, Closed, Color, ConstantWidth, Coordinate, Coordinates, Document, Elevation, Handle, HasExtensionDictionary, Hyperlinks, Layer, Length,Linetype, LinetypeGenecation, LinetypeScale, Lineweight, Normal, ObjectID, ObjectHame, OwnerlD, PlotStyleName, Thickness, TrueColor, Type, Visible
Глава 1. Средства разработки приложений и обьектная модель
61
Таблица 1.3 (продолжение) Объект
Доступные свойства
PopupMenu
Application, Count, Name, NameNoMnemonic, OnMenuBar, Parent, ShortcutMenu, TagString
Р opupMe nu11em
Application, Caption, Check, Enable, EndSubMenuLeve., HelpString, Index, Label. Macro, Parent, SubMenu, TagString, Type
Preferences
Application, Drafting. Display, Files, OpenSave, Output, Profiles. Selection, System, User
PreferencesDisplay
Application, AutoTrackingVecColor, Cursorsize, DisplayLayoutTabs, DisplayScreenMenu, DisplayScrollBars, DockedVisibleLines, Graphi с sWinLayoutBackg rndColo r, GraphicsWinModelBackgrndColor, HistoryLines, ImageFrameHighlight, LayoutCreateViewport, LayoutCrosshairColor, LayoutDisplayMarqins, LayoutDisplayPaper, LayoutDisplayPaperShadow, LayoutShowPlotSetup, MaxAutoCADWindow, ModelCrosshairColor, ShowRasterImage, TextFont, TextFontSiEe, TextFontStyle, TextWinBackgrndColor, TextWinTextColor, TrueColorimages, XRefFadeIntensity
PreferencesDrafting
AlignmentPointAcguisition, Application, AutoSnapAperture, AutoSnapApertureSize, AutoSnapMagnet, AutoSnapMarker, AutoSnapMarkerColor, AutoSnapMarkerSiEe,
AutoSnapToolTip, AutoTrackToolTip, FullScreenTrackingVector, PolarTrackingVector Prefe renee s Fi1e s
AltFontFile, AltTabletMenuFile, Application, AutoSavePath, ColorBoofcPath, ConfigFile, CustomDictionary, DefaultInternetURL, DriversPath, FontFileMap, HelpFilePath, LogFilePath, MainDictionary, MenuFile, PostScriptPrologFile, PrinterCorifigPath, PrinterDescPath, PrinterStyleSheetPath, PrintFile. PrintSpoolerPath, PrintSpoolExecutable, SupportPath, TempFilePath. TemplateDWGPath, TempXrefPath, TextEditor, TextureMapPath, WorkspacePath
P re fe rence s Opens ave
Application, AutoAudit AutoSavelnterval, GreateBackup, DemandLoadARXApp, FullCRCValidation, IncrementalSavePercent, LogFileOn, MRUHumber, ProxyImage, SaveAsType, SavePreviewThumbnai1, ShowProxyDialogBox, TempFileExtension, XRe f DernandLoad
Часть I. Разработка приложений
Таблица 1.3 (продолжение) Объект
Доступные свойства
PreferencesOutput
Application, DefaultOutputDevice, DefaultPlotStyleForLayer, DefaultPlotStyleForQbjects, OLEQuality, PlotLegacy, PlotPolicy, PrinterPaperSizeAlert, PrinterSpoolAlert, UseLastPlotSettings
PreferencesProflies
ActiveProflie, Application
PreferencesSelection
Application, DisplayGrips, DisplayGripsWithinBlocks, GripColorSelected, GripColorUnselected, GripSize, PickAdd, PickAuto, PickBoxSize, PickDrag, PickFirst, PickGroup
PreferencesSystem
Application, BeepCnError, DisplayOLEScale, EnableStartupDialog, LoadAcadLspinAllDocurnents, ShowWarningKessagss, SingleDocumentMode, StoreSQLindex, TablesReadOnly
preferencesUser
ADCInsertUnitsDefaultSource, ADCInsertUriitsDefaultTarget, Application, HyperlinkDisplayCursor, HyperlinkDisplayTooltip, KeyboardAccelerator, KeyboardPriority, SCMCommandMode, SCMDefaultMode, SCMEditMode, ShortCutMenuDisplay
PViewport
Application, ArcSmoothness, Center, Clipped, CustomSc;ale, Direction, DisplayLocked, GridOn, Handle, HasExtensionDictionary, Height, Layec, LensLength, Linetype, LinetypeScale, ObjectID, ObjectName, OwnerlD, RemoveHiddenLines, ShadePlot, SnapBasePoint, SnapOn, SnapRotationAngle, Standardscale, Target, TrueColor, TwistAngle, UCSIcocAtOrigin, DCSIConOn, UCSPerViewport, ViewportOn, Visible, Width
Raster
Application, Brightness, ClippingEnabled, Color, Contrast, Document, Fade, Handle, HasExtensio.iDictionary, Height, Hyperlinks, ImageF:le, ImageHeight, ImageVisibility, Imagewidth, Layer, Linetype, LinetypeScale, Lineweight, Hame, ObjecCID, OfcjectMame, Origin, OwnerlD, PlcstStyleNaine, Rotation, ScaleFactor, ShowRotation, Transparency, TrueColor, Visible, Width
Ray
Application, BasePoint, Color, DirectionVectot, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, SecondPoint, TrueColor, Visible
Глава 1, Средства разработка приложений и^>бьектнзя модель
63
Таблица 1.3 (продолжение) Объект
Доступные свойства
Region
Application, Area, Ceritroid, Color, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight:, MomentOfInertia, Normal, ObjectID, ObjectNarae, OvmerlD, Perimeter, PlotStyleName, PrincipalDirections, PrincipalMoments. ProductOfInertia, RadiiOfGyration, TrueColor, Visible
RegisteredApplication
Application, Document, Handle, HasExtensionDictionary, Name, ObjectID, CbjectName, Ovmerld
Securi t уPa raws
Action, Algorithm, Comment, Issuer, KeyLength, Password, Provide rNarrte, ProviderType, SerialNumber, Subject, TimeServer
SelectionSet
Application, Count, Name
Shape
Application, Color, Document, Handle, HasExtensionDictionary, Height, Hyperlinks, InsertionPoint, Layer, Linetype, LinetypeScale, Lineweight, Hame, Normal, ObjectID, ObjectName, ObliqueAngle, OwnerlD, PlotStyleName, Rotation, ScaleFactor, Thickness, TrueColor, Visible
Solid
Application, Color, Coordinate, Coordinates, Document, Handle, HasExtensionDictionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, Thickness, TrueColor, Visible
Spline
Application, Area, Closed, Color, ControlPoints, Degree, Document, EndTangent, FitPoints, FitToleranee, Handle, HasExtensionDictionary, Hyperlinks, IsPeriodic, IsPlanar, IsRational, Knots. Layer, Linetype, LinetypeScale, Lineweight, HumberOfControlPoints, NumberOfFitPoints, ObjectID, ObjectName, OwnerlD, StartTangent, TrueColor, visible, Weights
SummaryInfo
Author, Comments, HyperlinkBase, Keywords. LastSavedBy, RevisionNumber, Subject, Title
Text
Alignment, Application, Backward, Color, Document, Handle, HasExtensionDictionary, Height, HorizontalAlignment, Hyperlinks, InsertionPoint, Layer, Linetype, LinetypeScale, Lineweight, Normal,
Часть I. Разработка приложений Таблица 1.3 (продолжение)
Обьект
Доступные свойства
(прод.)
PlotStyleKame, Rotation, ScaleFactor, StyleName, TextAlignmentPoint, TextGenerationFlag, TextString, Thickness, TrueColor, UpsideDown, VerticalAlignment: Visible
TextStyle
Application, BigETontFile, Document, FontFile, Handle, HasExiiensionDictionary, Height, LastHeight, Wame, QbjectID, QbjectName, ObliqueAngle, OwnerlD, TextGeneraticnFlag, Width
Tolerance
Application, ArrowheadlType, Color, Decimal Separator, DimensionLineColor, DirectionVector, Document, FractionFormat, Handle, HasExtensionDictionary, Hyperlinks, InsertionPolnt, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, PlotStyleName, PrimaryUnitsPrecision, ScaleFactor, StyleName, TextCoIor, TextHeight, TextString, TextStyle, TrueColcr, Visible
Toolbar
Application, Count, DockStatus, FloatingRows, Height, HelpStrinc, I.rjrgeButtons, Left, Name, Parent, TaqStrir.g, Tcp, Visible, Width
ToolbarItern
Application, Flyout, HelpString, Index, Macro, Name, Parent, TagString, Type
Trace
Application, Color, Coordinate, Coordinates, Document, Handle, HasExtensionDictionary, Layer, Linetype, LinetypeScale, Lineweight, Normal, ObjectID, ObjectName, OwnerlD, PlotStyleName. Thickness, TrueColor, Visible
OCS
Application, Document, Handle, HasExtensionDictionary, Name, ObjectID, ObjsctName, Origin, OwnerlD, XVector, YVector
. :. ' --
Application
VBE
ActiveСodePane, ActiveVBProject, ActiveWindow, Addins, CodePanes, CoramandBars, Events, MainWindow, SelectedVBComponent, VBProjects, Version, Windows
View
Application, Center, Direction, Document, Handle, HasExtensionDictionary, Height, Name, ObjectID, ObjectKairie, OwnerlD, Target, Width
Глава 1. Средства разработки приложений и объектная модель _
-*5
Таблица 1.3 (окончание) Объект
Доступные свойства
Viewport
Application, ArcSmoothness, Center, Direction, Document, GridOr:, Handle, HasExtensionDiCtionary, Height, LowerLeftCorner, Name, ObjectID, ObjectName, OrthoOn, OwnerlD, SnapBasePoint, SnapOn, SnapRotationAngle, Target, UCSIconAtOrigin, UCSIconOn, Upper Right Corner, Width
XLine
Application,
XRecord
BasePoint, Color, Direction Vector, Document, Handle, HasExtensionDiCtionary, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, ObjectID, ObjectName, OwnerlD, PlotStyleName, SecondPoint, TrueColor, Visible Application, Document, Handle, HasExtensionDiCtionary, Name, ObjectID, ObjectName OwnerlD, TranslatelDs
Семейства тоже обладают свойствами, которые перечислены в табл. 1.4. Таблица 1.4. Семейства и свойства Семейство
Доступные свойства
Blocks
Application, Count, Document, Handle, HasExtensionDiCtionary, ObjectID, ObjectName, OwnerlD
Dictionaries
Application, Count, Document, Handle, HasExtensionDiCtionary, ObjectID, ObjectNaaie, OwnerlD
DimStyles
Application, Count, Docrtunent, Handle, HasExtensionDiCtionary, ObjectID, ObjectName, OwnerlD
Documents
Application, Count
Groups
Application, Count, Document, Handle, HasExtensionDiCtionary, ObjectID, ObjectName, OwnerlD
Hyperlinks
Application, Count
Layers
Application, Count, Document, Handle,
HasExtensionDiCtionary, ObjectID, ObjectName, OwnerlD
66
Часть I. Разработка приложений Таблица 1.4 (окончание)
Семейство
Доступные свойства
Layouts
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, OwnerID
Linetypes
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, DwnerlD
MenuBar
Application, Count, Parent
MenuGroups
Application, Count, Parent
ModelSpace
Application, Count, Document, Handle, HasExtensionDictionaty, Layout, Name
PaperSpace
Application, Count, Document, Handle, HasExtensionDictionary, Layout, Name
PlotCofigurations
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, OwnerID
PopupMenus
Application, Count, Parent
RegisteredApplications
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, Obj&ctName. OwnerlD
SelectioriSets
Application, Count
TextStyles
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, OwnerID
Toolbars
Application, Count, LargeButtons, Parent
UCSs
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, OwnerID
Viewports
Application, Count, Document, Handle, HasExtensLonDictioriary, ObjectID, ObjectName, OwnerID
Views
Application, Count, Document, Handle, HasExtensionDictionary, ObjectID, ObjectName, OwnerID
Такие компоненты объектной модели, как интерфейсы, не все обладают свойствами. Это видно из табл. 1.5.
Глава 1. Средства разработки приложений и объектная модель Таблица 1.5. Интерфейсы и свойства Интерфейс
Доступные свойства
_DAc adApplieationEvents _DAcadDocumentEvents lAcadDatabase
Application, Blocks, Dictionaries, DimStyles, ElevationModelSpace, ElevationPaperSpace, Groups, HandleToObject, Layers, Layouts, Limits, Linetypes, ModelSpace, ObjectlDToObject, OwnerlD, PaperSpace, PlotConfiguraticns, Preferences, RegisteredApplications, TextStyles, UserCoordinateSystems, Viewports, Views
IAcadDrmensi on
DecimalSeparator, Normal, Rotation, ScaleFactor, StyleHame, SuppressLeadingZeros, SuppressTrailingSeros, TaxtColor, TextGap, TextHeight, TextMovement. TextOverride, TextPosition, TextPrefix, TextRotation, TextStyle, TextSuffix, ToleranceDisplay, ToleranceHeightScale, ToleranceJustification, ToleraneeLowerLimit, TolerancePrecision, ToleranceSuppressLeadingZeros, ToleranceSuppressTrailingZeras, To!eranceUpperLimit, TrueColor, VerticalTextPosition
lAcadEntity
Color, Hyperlinks, Layer, Linetype, LinetypeScale, Lineweight, PlotStyleMame, TrueColor. Visible
lAcadObj ect
Application, Document, Handle, HasExtensioriDictionary, ObjectID, QbjectName,
: :.-.
lAcadObjectEvents
Методы Каждый объект в технологии ActiveX имеет методы (methods), которые можно применять, совершая операции над объектами. Практически любая команда системы AutoCAD соответствует некоторому методу. В табл. 1.6 приведены методы (в алфавитном порядке) и краткие пояснения к ним. Аргументы, которые требуют методы, даны в табл. 2.3 следующей главы. Распределение методов по объектам и семействам показано в табл. 1.7 и 1.8
Часть I. Разработка приложений
68
Новые методы: AddCustomlnfo, CreateEntry, GetCustomByIndex, GetCustomByKey, IndexOf, NureCustomlnfo, RemoveCustomByIndex, RemoveCustomByKey. RemoveEntry, Set.ColorBookColor, SetCustomBy]ndex, SetCustomByKey, SetNames, SetRGB, UpdateEntry.
Аннулированные методы: xmiin, xmiout. Таблица 1.6. Перечень методов Метод
Описание
Activate
Активизирует документ
Add
Создает объект и добавляет его в соответствующее семейство (в том числе создает новый документ в многодокументном режиме)
Add3Dface
Создает объект 3DFace аналогично команде 3DFACE (3-ГРАНЬ)
Add3Dmesh
Создает объект PolygonMesh аналогично команде 3DMESH (3-СЕТЬ)
Add3Dpoly
Создает объект SDPolyline аналогично команде 3DPOLY (3-ПЛИНИЯ)
AddArc
Создает обьект дгс аналогично команде ARC (ДУГА)
AddAttribute
Создает объект Attribute аналогично команде ATTDEF (АТОПР)
AddBox
Создает объект 3D3olid в форме ящика аналогично команде BOX (ЯЩИК)
AddCircle
Создает обьект circle аналогично команде CIRCLE (КРУГ)
AddCone
Создает объект SDSolid в форме кругового конуса (вариант работы команды CONE (КОНУС))
AddCustomlnfo
Добавляет информацию пользователя
AddCustomObj ect
Создает пользовательский обьект
AddCylinder
Создает объект 3DSolid в форме кругового цилиндра (вариант работы команды CYLINDER (ЦИЛИНДР))
Add D im3 Po i nt Arigu 1 a r
Создает объект Dini3 Point Angular (вариант работы команды DIMANGULAR (РЗМУГЛОВОЙ))
AdciD imAl i gne d
Создает обьект DimAligned аналогично команде DIMALIGNED (РЗМПАРАЛ)
AddDimAngular
Создает объект DimAngular (вариант работы команды DIMANGULAR (РЗМУГЛОВОЙ))
Глава 1. Средства разработки приложений и объектная модель
••9
Таблица 1.6 (продолжение) Метод
Описание
AddDimD i ame trie
Создает обьект DimDiametric аналогично команде D1MDIAMETER (РЗМДИАМЕТР)
AddD imO rd i na t e
Создает объект DimOrdinate аналогично команде DIMORDINATE (РЗМОРДИНАТА)
AddDiffiRadial
Создает обьект nimRadial аналогично команде DIMRADIUS (РЗМРАДИУС)
AddDimRotated
Создает обьект DimRotated аналогично команде DIMLINEAR (РЗМЛИНЕЙНЫЙ]
AddEllipse
Создает обьект Ellipse аналогично команде ELLIPSE (ЭЛЛИПС)
AddE11ipt i caICone
Создает обьект 3DSolid в форме эллиптического конуса (вариант работы команды CONE (КОНУС)!
AddEllipticalCylinder
Создает объект 3DSolid В форме эллиптического цилиндра (вариант работы команды CYLINDER (ЦИЛИНДР))
AddExtrudedSolid
Создает обьект 3DSolid с помощью выдавливания двумерного обьекта на заданную высоту (вариант работы команды EXTRUDE (ВЫДАВИТЬ))
AddExtrudedSolidAlongPath
Создает обьект 3DSolic с помощью выдавливания двумерного обьекта по траектории (вариант работы команды EXTRUDE (ВЫДАВИТЬ))
AddFitPoint
Добавляет опорную точку к сплайну (вариант работы команды SPLINEDIT (РЕДСПЛАЙН))
AddHaCch
Создает объект Hatch аналогично команде HATCH (ШТРИХ)
fiddltems
Добавляет объекты к набору (вариант работы команды SELECT (ВЫБРАТЬ!]
AddLeader
Создает объект Leader аналогично команде LEADER (ВЫНОСКА]
AddLightweightPolyline
Создает обьект Lightweight Poly line по списку вершин (вариант работы команды PLINE (ПЛИНИЯ])
AddLine
Создает объект Line аналогично команде LINE (ОТРЕЗОК)
AddMenultem
Добавляет пункт к раскрывающемуся или контекстному меню
AddMInsertBlock
Создает объект MinsertBlock аналогично команде MINSERT (МВСТАВИТЬ)
Часть I. Разработка приложений
70
Таблица 1.6 (продолжение) Метод
Описание
AddMLirie
Создает объект MLine аналогично команде MLINE (МЛИНИЯ)
AddMText
Создает объект MText аналогично команде МТЕХТ (МТЕКСТ)
AddObject
Добавляет объект к словарю
AddPoint
Создает объект Point аналогично команде POINT (ТОЧКА]
AddPo1уfaceMesh
Создает объект PoiyfaceMesh аналогично команде PFACE (ПГРАНЬ)
AddPolyiir.e
Создает объект Polyline no списку вершин (вариант работы команды PL1NE (ПЛИНИЯ)}
AddPViewport
Создает объект PViewport аналогично команде MVIEW (СВИД)
AddRaster
Создает объект Raster аналогично команда IMAGEATTACH (ИЗОБВСТАВИТЬ)
AddRay
Создает объект Ray аналогично команде RAY (ЛУЧ]
AddRegion
Создает обьект Region аналогично команде REGION (ОБЛАСТЬ)
AddRevolvedSolid
Создает объект 3D3olid с помощью вращения двумерного объекта относительно оси аналогично команде REVOLVE (ВРАЩАТЬ)
AddSeparator
Добавляет разделитель к меню или панели
AddShape
Создает обьект Shape аналогично команде SHAPE (ФОРМА)
AddSolid
Создает объект solid аналогично команде SOLID (ФИГУРА!
AddSphere
Создает обьект 3DSolid в форме шара аналогично команде SPHERE (ШАР)
Addspline
Создает объект Spline аналогично команде SPLINE (СПЛАЙН)
AddSubMenu
Добавляет подменю
AddText
Создает объект Text аналогично команде DTEXT (ДТЕКСТ)
AddToleranee
Создает объект Tolerance аналогично команде TOLERANCE(ДОПУСК)
Глава 1. Средства разработки приложений и объектная модель
71
Таблица 1,6 (продолжение) Метод
Описание
AddToolbarButton
Добавляет пункт (кнопку) к панели инструментов
AddTorus
Создает объект 3D3olid в форме тора аналогично команде TORUS (TOP)
AddTrace
Создает объект Trace аналогично команде TRACE (ТРАССА)
AddVertex
Добавляет вершину к компактной полилинии
AddWedge
Создает объект 3DSolid в форме клина аналогично команде WEDGE (КЛИН)
AddXLine
Создает обьект XLine аналогично команде XLINE (ПРЯМАЯ!
AddXRecord
Создает обьект XRecord
Ang1eFromXAxis
Вычисляет угол, образуемый отрезком с осью X
AngleToReal
Преобразует значение угла из строкового вида в вещественный (doable)
AngleToString
Преобразует значение угла из вещественного (double)вида в строку
Appe ndlnnerLoop
Добавляет внутренний островок к штриховке
Append!terns
Добавляет объекты к группе
Appe ndOuterLoop
Добавляет внешний островок к штриховке
AppendVertex
Добавляет вершину в конец 2М- или ЗМ-полилинии или ряд вершин к сети
ArrayPolar
Размножает объекты в форме кругового массива (вариант команды ARRAY (МАССИВ)]
ArrayReotangular
Размножает объекты в форме прямоугольного массива (вариант команды ARRAY (МАССИВ))
AttachExternalReference
Создает вхождение внешней ссылки аналогично команде X ATTACH (CC В СТАВИТЬ)
AttachToolbarToFlyout
Связывает панель с групповой кнопкой другой панели
AuditInfo
Проверяет целостность структуры документа аналогично команде AUDIT (ПРОВЕРИТЬ!
Bind
Внедряет внешнюю ссылку в документ аналогично команде XBIND (ВНЕДРИТЬ)
Boolean
Выполняет булевы операции (объединение, пересечение или вычитание) над телами или областями
Часть I. Разработка приложений Таблица 1.6 (продолжение) Метод
Описание
Checklnterference
Проверяет пересечение двух тел и образует новое тело из их общей части аналогично команде INTERFERE (ВЗАИМОД)
"lea r
Очищает набор
ClipBoundary
Формирует линию подрезки растрового изображения
Close
Закрывает открытый документ или все документы
Copy
Копирует объекты внутри того же документа аналогично команде COPY (КОПИРОВАТЬ)
С ору From.
Копирует данные из обьекта Dimstyle или PlotConfiguartion
CopyObj ects
Копирует объекты в другой документ (операция клонирования)
CopyProfile
Копирует профиль
CreateEntry
Создает элемент в списке зависимостей
CreateTypedArray
Создает вариант из массива
Delete
Удаляет объект или настройку слоев
DeleteCorifiguration
Удаляет конфигурацию видовых экранов
DeleteFitPoint
Удаляет опорную точку сплайна
DeleteProfile
Удаляет профиль
Detach
Выгружает внешнюю ссылку
Display
Переключает состояние видового экрана а листе на противоположное (выключает включенный экран и наоборот)
DigplayPlotPreview
Вызывает окно предварительного просмотра печати (в режиме полного или контурного просмотра)
DistanceToReal
Преобразует значение расстояния из строкового представления в вещественное (double)
Dock
Фиксирует панели у края соответствующего окна
ElevateOrder
Повышает порядок сплайна
EndUndoMark
Устанавливает конечную метку для работы команды UNDO (ОТМЕНИТЬ)
Erase
Удаляет объекты, включенные в набор, аналогично команде ERASE (СТЕРЕТЬ)
Eval
Выполняет выражение на языке VBA
Глава 1. Средства разработки приложений и объектная модель
73
Таблица 1.6 (продолжение) Метод
Описание
Evaluate
Рассчитывает штриховку или выноску по форме граничного объекта
Explode
Расчленяет составной объект аналогично команде EXPLODE (РАСЧЛЕНИТЬ)
Export
Экспортирует рисунок в другой формат или свойства слоев в текстовый файл
ExportProflie
Экспортирует активный профиль
Float
Переводит панель в плавающее положение
GetAcadState
Получает состояние системы AutoCAD из других приложений
GetAllProfileNames
Получает имена всех профилей системы
GetAngle
Получает в интерактивном режиме угол с учетом значения системной переменной ANGBASE
Get Attributes
Получает атрибуты вхождения блока
GetBitmaps
Получает изображение для большой или малой кнопки панели
GetBoundingBox
Вычисляет две диагональные точки для прямоугольника, описанного вокруг объекта
GetBuige
Вычисляет кривизну(bulge)участка полилинии
GetCanonicalMediaNames
Получает имена форматов для принтера
GetConstantAttributes
Получает постоянные атрибуты вхождения блока или внешней ссылки
GetControlPoint
Получает координаты управляющей точки сплайна
GetCorner
Получает в интерактивном режиме точку, подсвечивая прямоугольную рамку, начинающуюся из другой точки
GetCustcmBylndex
Получает пользовательскую информацию по номеру
GetCustomByKey
Получает пользовательскую информацию по ключу
GetCustomsсale
Получает пользовательский масштаб для листа или конфигурации печати
GetDistance
Получает в интерактивном режиме значение расстояния
GetEntity
Получает объект, указанный в интерактивном режиме
GetExtensionDictionary
Получает словарь, связанный с объектом
;!
Часть I. Разработка приложений Таблица 1.6 (продолжение)
Метод
Описание
GetFitPoint
Получает координаты опорной точки сплайна
GetFont
Получает параметры шрифта текстового стиля
GetGridSpacing
Получает параметры сетки для видового экрана
GetInput
Сопоставляет текст, введенный пользователем, с набором ключевых слов
Getlnteger
Получает целое число в интерактивном режиме
GetlnterfaceQbject
Пытается загрузить другое приложение как сервер автоматизации
GetInvisibleEdge
Получает состояние видимости кромки грани
GetKeyword
Получает строку с ключевым словом в интерактивном режиме
GetLocaleMediaNarae
Получает локализованное имя формата листа
GetLoopAt
Получает островок штриховки по номеру
GetName
Получает имя объекта в словаре
GetQbject
Получает по имени обьект в словаре
GetOrientation
Получает в интерактивном режиме угол, игнорируя значение системной переменной ANGBASE
SetPaperMargins
Получает величины полей листа или конфигурации печати
GstPaperSize
Получает размеры листа или конфигурации печати
GetPlotDeviceNames
Получает имена всех доступных принтеров
Ge t PI о t S t у 1 eTabl eName s
Получает имена таблиц стилей печати
GetPoirit
Получает в интерактивном режиме точку
GetProjectFilePath
Получает папку, в которой система AutoCAD должна искать файлы внешних ссылок
GetReal
Получает в интерактивном режиме вещественное (double)число
GetRemoteFile
Загружает файл, имя которого было указано в гиперссылке (URL)
GetSnapSpacing
Получает параметры режима SNAP (ШАГ) для видового экрана
GetString
Получает в интерактивном режиме строку
GetSubEntity
Получает в интерактивном режиме примитив или подпримитив
Глава 1. Средства разработки приложений И объектная модель
75
Таблица 1.6 (продолжение) Метод
Описание
SetL'CSMatriX
Получает матрицу для преобразований в указанную ПСК
GetVa triable
Получает текущее значение системной переменной
GetWeight
Получает вес управляющей точки сплайна
GetWidth
Получает начальную и конечную ширину участка компактной или обычной полилинии
GetWindowToPlot
Получает координаты окна, которое будет выводиться на принтер
GetXData
Получает расширенные данные примитива, созданные приложением ObjectARX или Visual LISP
GetXRecordData
Получает Х-эапись
HandleToObject
Получает объект по метке
Highlight
Устанавливает режим подсветки для объектов
Import
Импортирует рисунок или свойства слоев из файла
ImportProfile
Импортирует профиль
IndexOf
Получает номер в списке зависимостей
InitializeUserlnput
Инициализирует режим ввода для метода GeeKeyword
InsertBlock
Вставляет файл или блок аналогично команде INSERT (ВСТАВИТЬ]
In s e r 11 riMenuBa r
Вставляет раскрывающееся меню в строку меню
InsertLoopAt
Добавляет островок к штриховке в заданном месте
Inse rtMenuInMenuBar
Вставляет имя раскрывающегося меню в строку меню
IntersectWith
Пересекает объекты (с возможностью продолжения)
IsRemoteFile
Возвращает URL загруженного файла
IsURL
Проверяет URL на соответствие HTTP и другим протоколам
Item
Получает по номеру или имени элемент семейства, группы или набора
La urichBrowser Dialog
Загружает браузер Web-страниц
ListflRX
Получает список загруженных ARX-приложений
Load
Загружает базовое или фрагментное меню или тип линии из LIN-файла
Часть I, Разработка приложений
76
Таблица 1.6 (продолжение) Метод
Описание
LoadARX
Загружает ARX-приложение
LoadDVB
Загружает DVB-файл (проект VBA)
LoadShapeFile
Загружает форму (SHX-файл)
Mirror
Зеркально отображает объекты относительно оси текущей плоскости построений аналогично команде MIRROR (ЗЕРКАЛО)
Mirror3C
Зеркально отображает обьекты относительно плоскости аналогично команде MIRROR3D (3-ЗЕРКАЛО)
Move
Перемещает обьекты вдоль вектора аналогично команде WOVE (ПЕРЕНЕСТИ)
New
Создает новый документ в о дно документном режиме
N umCu 51 omlri f о
Количество данных пользователя в свойствах рисунка
ObjectlDToObject
Получает обьект по указателю (Ю)
Offset
Создает подобный (параллельный) обьект аналогично команде OFFSET (ПОДОБИЕ)
Open
Открывает существующий DWG-файл, содержимое которого становится активным документом
PlotToDevice
Выводит чертеж на устройство печати
PlotToFile
Выводит образ чертежа в файл
PolarPoint
Рассчитывает точку, отстоящую от другой точки на заданное расстояние в заданном направлении
Prompt
Выводит подсказку в командную строку
PurgeAll
Удаляет из рисунка все неиспользуемые слои, описания блоков и т. п. обьекты (вариант работы команды PURGE (ОЧИСТИТЬ))
PurgeFitData
Удаляет определяющие точки сплайна
PutRemoteFile
Выгружает файл по заданному URL
Quit
Закрывает рисунок и заканчивает сеанс работы системы AutoCAD
RealToString
Преобразует вещественное (double) число в строку
RefreshPlotDevicelnfo
Обновляет настройки печати, листа или стиля печати
Re gen
Регенерирует изображение в активном экране илм во всех экранах
Глава 1. Средства разработки приложений и объектная модель
77
Таблица 1.6 (продолжение) Метод
Описание
Reload
Обновляет внешнюю ссылку
Remove
Удаляет объект иэ словаря
Remove Си s tomBуIndex
Удаляет данные пользователя по номеру
RemoveCust omByKeу
Удаляет данные пользователя по ключу
RemoveEntry
Удаляет элемент иэ списка зависимостей
Remove FromMenuBa r
Удаляет падающее меню из строки меню системы AutoCAD
RemoveIterns
Удаляет элементы группы или набора
RemoveMenuFromMenuBar
Удаляет падающее меню с заданным номером из строки меню системы AutoCAD
Rename
Переименовывает элемент словаря или набор свойств слоев
Rename Profile
Переименовывает профиль
Replace
Заменяет элемент словаря
ResetProfile
Возвращает активному профилю значения по умолчанию
Restore
Восстанавливает свойства группы слоев
Reverse
Изменяет направление сплайна
Rotate
Поворачивает объекты относительно точки аналогично действию команды ROTATE (ПОВЕРНУТЬ)
Rotate3D
Поворачивает объекты относительно оси в пространстве аналогично действию команды ROTATE3D (3-ПОВЕРНУТЬ)
RunMacro
Выполняет макрос, написанный на языке VBA
Save
Сохраняет документ, группу меню или группу свойств слоев
SaveAs
Сохраняет документ или группу меню в файл с задаваемым именем (в том числе в формате другой версии системы AutoCAD)
ScaleEntity
Масштабирует объект в равных пропорциях по осям X,Yv\ 2 аналогично команде SCALE (МАСШТАБ]
SectionSolid
Создает обьект Region путем сечения тела плоскостью аналогично команде SECTION (СЕЧЕНИЕ)
та
Часть I. Разработка приложений Таблица 1.6 (продолжение)
Метод
Описание
Select
Выбирает объекты с помощью рамки, предыдущего набора или фильтра
SelectAtPoint
Выбирает объект, проходящий через точку
SelectByPolygon
Выбирает объекты с помощью ломаной линии, замкнутого многоугольника или секущего многоугольника
SelectOnScreen
Выбирает на экране объекты с помощью указания или фильтра
SendCoitimand
Посылает выражение или команду в командную строку системы AutoCAD
SetBitmaps
Связывает файлы пиктограмм с большими и малыми кнопками панели
SetBulge
Задает значение кривизны (bulge) для сегмента несглаженной полилинии (компактной или обычной)
SetColorBookColor
Вычисляет значение цвета по названию из альбома цветов
Se tCont го1Foint
Задает контрольную точку сплайна
SetCustomByIndex
Изменяет данные пользователя а свойствах рисунка по номеру
SetCustomByKey
Изменяет данные пользователя по ключу
SetCustomScale
Задает пользовательский масштаб листа или конфигурации печати
SetDatabase
Связывает базу системы AutoCAD с обьектом LayerStateManager
SetFitPoint
Задает опорную точку сплайна
SetFont
Задает шрифт и настройки для текстового стиля
SetGridSpacing
Задает параметры сетки для видового экрана
SetlnvisibleEdge
Задает состояние видимости или невидимости для кромки грани
SetLayoutsToPlot
Задает вкладку или вкладки, которые надо печатать
SetNames
Задает имя элементу альбома цветов
SetPatterri
Задает для штриховки тип и имя образца
SetProjectFilePath
Задает папку для поиска файлов внешних ссылок
SetRGB
Вычисляет значения красной, зеленой и синей составляющих цвета
Глава 1. Средства разработки приложений и объектная модель
79
Таблица 1.6 (продолжение) Метод
Описание
SetSnapSpacing
Задает параметры режима SNAP (ШАГ]
SetVariable
Задает значение системной переменной
SetView
Устанавливает в видовом экране вид по имени
SetWeight
Задает вес управляющей точки сплайна
SetWidth
Задает начальную и конечную ширину сегмента полилинии (компактной или обычной)
SetWindowToPlot
Задает координаты рамки, которая определяет фрагмент чертежа, выводимого на печать
SetXData
Связывает с обьектом расширенные данные
SetXRecordData
Формирует Х-запись
SliceSolid
Выполняет разрез тела аналогично команде SLICE (РАЗРЕЗ)
Split
Делит видовой экран на часты
StartBatchMode
Запускает печать в пакетном режиме
StartUndoMark
Устанавливает начальную метку для команды UNDO (ОТМЕНИТЬ)
TransformBy
Преобразует объект согласно матрице преобразования размером 4x4
TranslateCoordinates
Преобразует координаты точки из одной ПСК в другую
Unload
Выгружает группу меню или внешнюю ссылку
UnloadARX
Выгружает ARX-приложеше
UnloadDVB
Выгружает DVB-файл с проектом VBA
Update
Корректирует объект в графическом экране
UpdateEntry
Заменяет элемент в списке зависимостей
Wblock
Выводит объекты набора в новый файл рисунка
ZoomAll
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией АИ (Все)
ZooraCenter
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Center (Центр)
SoomExtents
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Extents (Границы)
80
Часть I. Разработка приложений
Таблица 1.6 (окончание) Meiо ч
Описание
ZoomPickWindow
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Window (Рамка) с запросом границ рамки
ZoomPrevious
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Previous (Предыдущий]
ZoomScaled
Выполняет в видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Scale (Масштаб)
" . : ~ •'-•... .
Выполняет s видовом экране команду ZOOM (ПОКАЗАТЬ) с опцией Window (Рамка)
В табл. 1.7 показаны объекты (в алфавитном порядке) и наименования методов, которые могут к ним применяться. Таблица 1.7. Объекты и методы Объект
Доступные методы
3DFace
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetlnvisibleEdge, GetXData, Highlight, IritersectWith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetlnvisibleEdge, SetXData, TransformBy, Update
SDPolyline
AppendVertax, ArrayPolar, ArrayRectangular, Copy, Delete, Explode, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, RotateBD, ScaleEntity, SetXData, TransfontiBy, Update
3DSolid
ArrayPolar, ArrayRectangular, Boolean, Checklnterference. Copy, Delete, Explode, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, MirrorSD, Move, Rotate, Rotate3D, ScaleEntity, SectionSolid, SetXData, SliceSolid, TransformBy, Update
AcadState
—
AcCmColor
Delete, SetColorBookColor, SetHames, SetRGB
Application
Eval, GetAcadState, GetlnterfaceObject, ListArx, LoadArx, LoadDVB, Quit, RunMacro, UnloadArx, UnloadDVB, Update, ZoomAll, ZoomCenter, ZoomExtents, ZoomPickWindow, ZoomPrevious, ZooraScaled, ZoomWindow
Глава 1. Средства разработки приложений и объектная модель
81
Таблица 1.7 (продолжение) Объект
Доступныеметоды
Дгс
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move. 3ffset, Rotate, RotateSD, ScaleEntity, SetXData, TransformBy, Update
Attribute
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetXData. TransformBy. Update
AttributeReference
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData. Highlight, IntersectWith, Mirror, Mirror3D, Move. Rotate, Rotate3D, ScaleSntity, SetXData, TransformBy, Update
Block
Add3DFace, Add3DMesh, Add3DPoly, AddArc, AddAttribute, AddBox, AddCircle, AddCone, AddCustoTvObject, AddCylinder, AddDimS Point Angular, AddDimAligned, AddDimAngular, AddDimDiametric, AddDimOrdinate, AddDimRadial, AddDimRotated, AddEllipse, AddElliptic.^lCone, ftddEllipticalCylinder, AcidExtrudedSolidAlongPath, AddExtrudedSolid, AddHatch, AddLeader, AddLightweightPolyline, AddLine, AddMIrisertBlock, AddMLine, AddMText, AddPoint, AddPolyfaceMesh, AddPolyline, AddRaster, AddRay, AddRegion, AddRevolvedSolid, AddShape, AddSolid, AddSphere, AddSpline, AddText, AddTolerance, AddTorus, AddTrace, fiddWedge, AddXLine, AttachExternalReference, Bind, Delete, Detach, GetXData, Ir.sertBlock, Item, Reload, SetXData, Unload
BlockRef
ArrayPolar, ArrayRectangular, Copy, Delete, Explode, GetAttributes, GetBoundingBox, GetConstantAttributes, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Body
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetXData, TransformBy. Update
Часть I. Разработка приложений
82
Таблица 1.7 (продолжение) Объект
Доступные методы
Circle
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, interseetwith, Mirror, MirrorSD, Move, Offset, Rotate, Rotate3D, ScaleEntity, SetXData, TransforraBy, Update
Database
CopyObjects
DatabasePreferences Dictionary
AddObject, AddXRecord, Delete, GetExtensionDicLionary, GetName, GetObject, GetXData, Item, Remove, Rename, Replace, SetXData
DimSPointAngular
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Interseetwith, Mirror, Mirror3D, Move, Rotate, RotateS", ScaleEntity, SetXData, TransformBy, Update
DimAligned
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectHith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetXData, TransformBy, Update
DimAngular
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Interseetwith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
DimDiametric
ArrayPolar, ArrayRectangular,Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData. Highlight, Intersectwith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetXData, TransformBy, Update
DimOrdinate
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Intersectwith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
JimRadial
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Interseetwith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Глава 1, Средства разработки приложений и объектная модель
83
Таблица 1.7 (продолжение) Объект
Доступные методы
DimRctated
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, MirrorSD, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
DimStyle
CopyFrom, Delete, GetExtensionDictionary/GetXData, SetXData
Document
Activate, AuditInfo, Close, CopyObjects, EndUndoMark, Export, GetVariable, HandleToObjecC, Import, LoadShapeFile, Hew, ObjectlDToObject, Open, PurgeAll, Regen, Save, SaveAs, SendCorrmand, setVariable, StartUndoMark, Wblock
Ellipse
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Offset, Rotate, Rotate3D, ScaleEntity, SetXData, TransforraBy, Update
ExternalReference
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetConstantAttributes, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransfonrBy, Update
FileDependency Group
Appendlterns, Delete, GetExtensionDictionary, GetXData, Highlight, Item, Removeltems, SetXData, Update
Hatch
AppendInnerLoop, AppendOuterLoop, ArrayPclar, ArrayRectangular, Copy, Delete, Evaluate, GetBoundingBox, GetExtensionDictionary, GetLoopAt, GetXData, Highlight, InsertLoopAt, IntersectWith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetPattern, SetXData, TransformBy, Update
Hyperlink
Delete
IDPair
Layer
Delete, GetExtensionDictionary, GetXData, SetXData
LayerStateManager
Delete, Export, Import, Rename, Restore, Save, SetDatabase
Часть I. Разработка приложений Таблица 1.7 (продолжение)
Обьект
Доступные методы
Layout
CopyFrom, Delete, GetCustomScale, GetExtensionDictionary, Get Paper-Margins, SetPaperSize, GetWindowToPlot, GetXData, Se'tCustomScale, SetWindowToPlot, SetXData
Leader
ArrayPolar, ArrayRectangular, Copy, Delete, Evaluate, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, InnersectWith, Mirror, MirrorSD, Move. Rotate, Rctate3D, ScaleEntity, SetXData, TransforinBy, Update
LightweightPolyline
Addvertex, ArrayPolar, ArrayRectangular, Copy, Delete, Explcde, GetBoundingBox, GetBulge, GetExtensionDictionary, GetWidth, GetXData, Highlight, IntersectWith, Mirror, MirrorSD, Move, Offset, Rotate, Rotate3D, ScaleEntity, SetBulge, SetWidth, SetXData, TransformBy, Update
Line
ftrrayPolar, ArrayRect angular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Inr.ersectWith, Mirror, Mirror3D, Move, Offset, Rotate, ItotateSD, ScaleEntity, SetXData, TransformBy, Update
Linetype
Delete, GetExter.sionDictionary, GetXData, SetXData
MenuGroup
Save, SaveA.s, Unload
MInsertBlock
ArrayPolar, ArrayRectangular, Copy, Delete, Explode, GetAttributes, GetBoundingBox, GetConstantAttributes, GetExtensionDictionary, GetXData, Highlight, IntersectWLth, Mirror, Mirror3D, Move, Rotate, Rotate3D, EcaleEntity, SetXData, TransformEy. Update ArrayPolar. ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData. Highlight, ir-.tersectWith, Mirror, Mirror3D, Move, Rotate, Ro-a-еЗЗ, ScaleEntity, SetXData, TransformBy, Update
MText
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Глава 1. Средства разработки приложений и объектная модель
Таблица 1.7 (продолжение) Объект
Доступные методы
Э1е2Frame
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData. Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Plot
DisplayPlctPreview, PlotToDevice, PlotToFile, SetLayoutsToPlot, StartBatchMode
PlotConfiguration
Delete, CopyFrom, GetCanonicalMediaNanes, GetCustomScale, GetExtensionDictionary. GetLocaleMediaName. GetPaperMargins, GetPaperSize, GetPlotDeviceNames, GetPlotStyleTableNames, GetWir.dowToFlot, GetXData, SetCustomScale, SetWindcwToP]ot, SetXData
Point
ArrayPolar, AcrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary. GetXData. Highlight, IntersectHith, Mirroc, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
PolyfaceMesh
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictioriary, GetXData, Highlight, 7ntersectWith, Mirror, MirrorSD, Move. Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
PolygcnMesh
AppondVertex, ArrayPolar, ftrrayRectangvilar, Copy, Delete, Explode, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, Mirror. Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Polyline
AppendVertex, ArrayPolar, ArrayRectangular, Copy, Delete, Explode, GetBoundingBox, GetBulge, GetExter.sior.Dictionary, GetWidth, GctXData, Highlight, IntersectWith, Mirror, MirrorSD, Move, Offset, Rotate, Rotate3D, ScaleEntity, SetBulge. SetWidth, SetXData, TransformBy, Update
PopupMenu
AddMenuItem, AddSeparator, AddSubrcer.u, InsertinMenuBar, Item, RemoveFromMenuBar
PopupMenuItem
Delete
Prefefences PreferencesDisplay
Часть I. Разработка приложений
86
Таблица 1.7 (продолжение)
Объект
Доступные методы
PreferencesDrafting PreferencesFiles
GetProjectFilePath, SetprojectFilePath
PreferencesOpenSave P r e f e rence s Outpu t PreferencesProfiles
CopyProfile, DeleteProfile, ExportProfile, GetAllProfileNames, ImportProfile, RenameProfile, ResetProfile
PreferencesSelection
—
PreferencesSystem
—
PreferencesUser
—
PViewport
Raster
ArrayPoIa^, ArrayRectangular, Copy, Delete, Display, GetBoundingBo*, GetExtensionDictionary, GetGridSpacing,GetSnapSpaeing, GetXData, Highlight, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetGridSpacirig, SetSnapSpacing, SetXData, TransformBy, Update firrayPolar, ArrayReсtangular, ClipBoundary, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Ray
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData. Highlight, IntersectWith, Mirror, MirrorSD, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Region
ArrayPolar, ArcayRectangular, Boolean, Copy, Delete, Explode, GetBojndingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
RegisteredApplication Delete, GetExtensionDictionary, GetXData, SetXData SecurityParams SelectionSet
— Addltems, Clear, Delete, Erase, Highlight, Item, Remove Iterns, Select, SelectAtPoint, SelectByPolygon, jreeyi, Update
Глава 1. Средства разработки приложений и обьектнаямодель
8,
Таблица 1.7 (продолжение) Объект
Доступные методы
Shape
Arraypolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Solid
ArrayPolar, ArrayRectangular. Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, RotateSD, ScaleEntity, SetXData, Тrans fоrmBy, Update
Spline
AddFitPoint, ArrayPolar, ArrayRectangular, Copy, Delete, DeleteFitPoint, ElevateOrder, GetBoundingBox, GetControlPoint, GetExtensionDictionary, GetFitPoint, GetWeight, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Hove, Offset, PurgeFitData, Reverse, Rotate, Rotate3D, ScaleEntity, SetControlPoint, SetFitPoint, SetWeight, SetXData, TransformBy, Update
S штата ry Info
AddCustornlnfo, GetCustomByIndex, GetCustomByKey, NumCustomlnfo, ReraoveCustomBylndex, RemoveCustomByKey, SetCustomBylndex, SetCustomByKey
Text
ArrayPolar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, MirrorSD, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformByi Update
TextStyle
Delete, GetExtensionDictionary, GetFont, GetXData, SetFont, SetXData
Tolerance
ArrayPclar, ArrayRectangular, Copy, Delete, GetBoundingBox, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, SetXData, TransformBy, Update
Toolbar
AddToo 1 bar-Button, AddSeparator, Delete, Dock, Float, Item
ToolbarItern
AttachToolbarToFlyout, Delete, GetBitmaps, SetBitmacs
-
Часть I. Разработка приложений
Таблица 1.7 (окончание) Объект
Доступные методы ArrayPola1:, AnayRectangular, Copy, Delete, 3etBoundingBox, GetExtensionDictionary, GetXData, Highlight, Tnt^rsectwith, Mirror, Mirror3D, Move, Rotate, RoLateSD, ScaleEntity, SetXData, TransformBy, Update
UCS
Delete, GetExtensionDictionary, GetUCSMatrix, GetXQats, SetXData
Utility
AngleFrcmXAxis, AngleToReal, AngleToString, CreateTypedArray, DlstanceToReal, GetRngle, GetCorner, GetlJistance, GetEntity, GetInput, GetInteger, GetKeyword, GetOrientation, GetPoint, GetReal, GatRerr.oteFile, GetString, GetSubEiitity. InitializeDserInput, IsRemoteFile, IsURL, LaunchBrcwserCialog, PolarPoint, Prompt, PutRemote?iie, RealToString, TranslateCoordinates
VBE
view
Delete, GettixtensionDictioriary, GetXData, SetXData
viewport
Delete, GetExtensionDictionary, GetGridSpacing, GetSnapSpacing, GetXData, SetGridSpacing, SetSnapSpacing, SetView, SetXData, Split
XLine
ArrayPolar, ArrayRectangular, Copy, Delete, SetBoundingBcx, GetExtensionDictionary, GetXData, Highlight, IntersectWith, Mirror, Mirror3D, Move, Offset, Rotate, Rotate3D, ScaleEntity, SetXData, TranaforrrBy, Update
XRecord
Delete, GetExtensionDictionary, GetXData, GetXRecordData, SetXData, SetXRecordData
К семействам применимы те методы, которые приведены в табл. 1.8. Таблица 1.8. Семейства и методы Семейство
Доступные методы Add, GetExtensionDictionary, GetXData, Item, SetXData
Dictionaries
Add,GetExtensionDictionary, GetXData, Item, SetXData
DimStyles
Add, GetExtensionDictionary, GetXData, Item, SetXData
Глава 1. Средства разработки приложений и объектная модель
89
Таблица 1.8 (продолжение) Семейство
Доступные методы
Documents
ftdd, Close, Item, Open
FileDependencies
CreateEntry,IndexOf, Item, RemoveEntry, UpdateEntry
Groups
Add, GetExtensionDictionary, GetXData, Item, SetXData
Hyperlinks
Add, Item
Layers
Add, GetExtensionDictionary, GetXData, Itorn, SetXData
Layouts
Add, GetExtensionDictionary, GetXData, Item, SetXDala
Unetypes
Add, GetExtensionDictionary, GetXData, Item, Losd, SetXData
МепиЗаг
Item
MenuGroups
Item, Load
Models-Dace
Add3DFace, Add3DMesh, Add3DPoly, AddArc, AddAttribute, AddBox, AddCircle, AddCone, AddCustomObject, AddCylinder. AddDin\3 Point Angular, AddDimAligned, AddDimAngular, AddDimDiametrio, AddDimOrdinate, AddDimRadial, AddDimRotated, AddEllipse, AddEllipticalCone, AddEllipticalCyUnder, AddExtrudedSolid, AddExtrudedSolidAlcmgPath, AddHatch, AdcLeader, AddLightweightPolyline, AddLine, AddMLine, AddMTex-, AddPoint, AddPolyfaceMesh, AddPolyline, AddRaster, AddRay, AddRegion, AddRevolvedSolid, AcdShape, AddSolid, AddSphere, AddSpline, AddText, AddTolerance, AddTorus, AddTrace, AddWedqe, AddXLine, AttachExternalReference, InsertBlock, Item
PaperSpace
Add3DFace, Add3DMesh, Add3DPoly, AddArc, AddAttribute, AddEox, AddCircle, AddCone, AddCustomObject, AddCylinder, AddDim3PolntAngular, AddDimAligned, AddDimAngular, AddDirnDiametric, AddDimOrdir.ate, AddDimPadial, AddDimRotated, AddEllipse, AddEllipticalCone, AddEllipticalCylinder, AddExtrudedSoIid, AddExtrudedSolidAlongPath, AddHatch, AddLeader, AddLightweightPolylane, AddLine, AddMLine, AddMText, AddPoint, AddPolyfaceMesh, AddPolyline, AddPViewport, AddRaster, AddRay, AddRegion, AddRevolvedSolid, AddShape, AddSolid, AddSphere, AddSpline, AddText, AddToler.ance, AddTorus, AddTrace, AddWedge, AddXLine, AttachExternalReference, InsertBlock, Item
Часть I. Разработка приложений
90
Таблица 1.8 (окончание) Семейство
Доступные методы
PlotCofigurations
Add, GetExtensionDictionary, GetXData, Item, SetXData
PopupMenus
Add, InsertMenuInKenuBar, Item, Remo v eMe riu F г ояКе n uB a r
RegisteredApplications Add, GetExtensionDictioriary, GetXData, Item, SetXData SelectioriSets
Add, Item
Textatyles
Add, GetExtensionDictionary, GetXData, I tent, SetXData
Toolbars
Add, Item
UCSs
Add, GetExtensionDictionary, GetXData, Item, SetXData
Viewports
Add, DeleteConfiguration, GetExtensionDictionary, GetXData, Item, SetXData
Views
Add, GetExter.sionDictionary, GetXData, Item, SetXData
Методы, применяемые к интерфейсам, приведены в табл. 1.9. Таблица 1.9. Интерфейсы и методы Интерфейс
Доступные методы
_DAca dApplicationEvents _D Аса dDo cume ritEvents lAcadDatabase lAcadDimension IftcadEntity
ArrayPolar, AcrayRectangular, Copy, GetBoundingBox, Highlight, Intersectwith, Mirror, Mirror3D, Move, Rotate, Rotate3D, ScaleEntity, TransformBy, Update
lAcadObject
Delete, GetExtensionDictionary, GetXData, SetXData
lAcadObjectEvents
Глава 1. Средства разработки приложений и объектная модель
91
События Программа может отслеживать события (events), о которых сообщает система AutoCAD. Они возникают в результате действий пользователя, и программа может реагировать на них. События тоже являются элементами объектной модели. В табл. 1.10 приведен перечень событий. Таблица 1.10. Перечень событий Событие
Описание
Activate
Активировано окно документа
AppActivate
Получен запрос на активизацию главного окна приложения
AppDeactivate
Получен запрос на деактивацию главного окна приложения
AFXLoaded
Загружено ARX-приложение
ARXUnloaded
Выгружено ARX-Приложение
BeginClose
Получен запрос на закрытие рисунка
BeginCommand BeginDoubleClick
Выполнение команды началось Выполнен двойной щелчок на объекте
BeginFileDrop
Начата загрузка файла в главное окно приложения
BeginLISP
Получен запрос на вычисление LISP-выражения
BeginModal
Будет загружено модальное окно
BeginOpen
Получен запрос на открытие файла существующего
рисунка BeqinPlot
Получен запрос на печать рисунка
BeginQuit
Будет закрыт документ или завершен сеанс системы AutoCAD
BeginRightClick
Начат щелчок правой кнопкой мыши в графическом
экране BeqinSave
Получен запрос на сохранение рисунка
BeginShortcutMenuCommand
Закончен щелчок правой кнопкой МЫШИ В Графическом экране и ожидается вывод контекстного меню в режиме работы команды
BeginShortcutMenuDefault
Закончен щелчок правой кнопкой мыши в графическом экране и ожидается вывод контекстного меню в режиме работы по умолчанию
Часть !. Разработка приложений Таблица 1.10 (окончание) Событие
Описание
BeginShortcutMenuEdit
Закончен щелчок правой кнопкой мыши в графическом экране и ожидается вывод контекстного меню в режиме редактирования
Be g inS ho r t cutMenuG r ip
Закончен щелчок правой кнопкой мыши в графическом экране и ожидается вывод контекстного меню в режиме ручек
Beg inSho rtcutMenuOsnap
Закончен щелчок правой кнопкой мыши в графическом экране и ожидается вывод контекстного меню в режиме объектной привязки
Deactivate
Окно деактивировано
EndCommand
Команда завершена
EndLISF
Закончено вычисление LISP-выражения
EndModal
Модальное окно закрыто
EndOpen
Существующий файл рисунка открыт
EndPlot
Документ отправлен на принтер
EndSave
Сохранение рисунка закончено
EndShortcutMenu
Контекстное меню закрылось
La yo-jt Switched
Активизирована другая вкладка
LISPCancelled
Вычисление LISP-выражения прервано
Modified
Изменен объект или семейство
NewDrawing
Получен запрос на создание нового рисунка
Obj ectAdded
К рисунку добавлен объект
ObjectErased
Обьект удален из рисунка
ObjectModified
Объект изменен
SelectionChanged
Изменен набор предварительно выбранных объектов
SysVarChanged
Изменено значение системной переменной
Wi ridowCh a n g e d
Изменено окно приложения или документа
WindowMove do rRe s i z e d
Окно приложения или документа перемещено или изменены размеры окна
Табл. 1.11 показывает объекты и наименования событий, которые с ними могут быть связаны.
Глава 1. Средства разработки приложений и объектная модель Таблица 1.11. Объекты и события
Обьект
Связанные события
3DFace
Modified
BDPolyline
Modified
3DSolid
Modified
AcadState Application
AppActivate, AppDeactivate, ASXLoaded. ARXUnloaded. BegirsComraand, BeginFileDrop, BeginLISP, BeginModa"., BeginOpen, BeginPlot, BeginQuit. BeginSave, EndCommar.d, EndLISP, EndModal, EndOpen, HidPlot, EndSave, :,ISPCancelled, NewDrawing, SysVarChangad, WindowChanged, WindowMovedOrResized
Arc
Modified
Attribute
Modified
At t r ibut eRe fe ren ce
Modified
Block
Modified
BlockRef
Modified
Circle
Modified
Database DatabasePreferences Dictionary
Modified
Dim3 Poi ntAngula r
Modified
DimAligned
Modified
DimAngular
Modified
DimDiarnetric
Modified
DimOrdinate
Modified
DimRadial
Modified
DimRctated
Modified
DimStyle
Modified
Document
Activate, BeginClose, BeginCommand, BeginDoubleclick, BeginLISP, BeginPlot, BeginRightClick, BeginSave. BeginShortcu№enuCornmand, BeginShortcutMenuDefault BeginShortcutMenuEdit, BeginShortcutMenxiGrip, BeginShortcutMenuOSnap, Deactivate, EndCcmmand. EndLISF, EndPlot, EndSave, EndShortcutMenu,
Часть I. Разработка приложений
94
Таблица 1.11 (продолжение) Объект
Связанные события
(прав.)
LayoutSwitched, LISPCancelled, ObjectAdded, ObjectErased, ObjectModified, SelectionChanged, W indowChangec., W indowMovedOrRe s i zed
Ellipse
Modified
ExternalReference
Modified
Group
Modified
Hatch
Modified
Hyperlink IDPair Layer
Modified
LayerstateManager Layout
Modifies
Leader
Modified
LightweightPolyline
Modified
Line
Modified
Linetype
Modifiec
MenuGroup MinsertBlock MLine MText
Modified 1
Modified Modified
Plot ЕЧ otCon£iguration
Modified
Point
Modified
PolyfaceMesh
Modified
PolygoriMesh
Modified
Polyline
Modified
PopupMenu PopupMenu11 em Preferences PreferencesDisplay
Глава 1. Средства разработки приложений и объектная модель
96
Таблица 1.11 (окончание) Объект
Связанные события
PreferencesDrafting
—
PreferencesFiles
—
PreferencesOperiSave
—
PreferencesOutput PreferencesProfiles
—
PreferencesSelection
—
PreferencesSystem
—
PreferencesUser PViewport
Modified
Raster
Modified
Ray
Modified
Region
Modified
RegisteredApplication Modified SelectionSet
—
Shape
Modified
Solid
Modified
Spline
Modified
Text
Modified
Textstyle
Modified
Tolerance
Modified
Toolbar
—
Toolbarltem
—
Trace
Modified
UCS
Modified
Utility View
Modified
Viewport
Modified
XLine
Modified
XmlDatabase
XRecord
—
Modified
Часть!. Разработка приложений
96
С некоторыми семействами может быть связано событие Modified (табл. 1.12). Таблица 1.12. Семейства и события Семейство
Связанные события
Blocks
—
Dictionaries
Modified
DimStyles
Modified
Docurients
Groups
Modified
Hyperlinks Layers Layouts Lirietypes
Modified
MenuBar
—
MenuGroups ModelSpace
Modified
PaparSpace
Modified
PlotCofiguratioris
Mcdifiec
PopupMemis
—
RegisteredApplications
Modified
SelectionSets
—
TextStyles
Modified
Toolbars OCSs
Modiiie^
Viewports
Mod", f ied
views
Modified
События, связанные с интерфейсами, приведены в табл. 1.13. Таблица 1.13. Интерфейсы и события Интерфейс
Связанные события
_№cadApplicationEverits
AppActiva';e, AppDeactivate, ARXLoaded, ARXUnloaded, BegiriConmand, BeginFileDrop : Begir.LISP, BeginModal, BeginOpen, BeginPlot, BeginQ-j.it. BeginSave, EndCommand, EndLISP,
Глава 1. Средства разработки приложений и объектная модель
Таблица 1.13 (окончание/ Интерфейс
Связанные события
(пред.)
EndModal, EndGpen, EndPlor, EndSave, LISPCancelled, NewDrawing, SysVarChanged, WindowChanged, WindowMovedOrResized
DAcadDocumeritEvents
Activate, BeginClose, BeginCorranand, BeginDoubleClick, BeginLISP, BeginPlot, BeginRightClick, BeginSave, BeginShortcutMenuCommand, Begi nSho rt cutMenuDe fanIt, BeginShortcutMenuEdit, BeginShortcutMenuGrip, BeginShortcutMenuOSnap, Deactivate. Er.dCorranand, EridLISP, EndPlot, EndSave, EndShortcutMenu, LayoutSwitched, LISPCancelled, ObjectAdded. DbjectErased, ObjectModified, SelectionChanged. WindowChanged, WindowMovedOrResized
IficadDatabase lAcadDimension ZAcadEntity lAcadObject IficadObj ectEvents
Modified
Простой пример использования объектной модели Все разбираемые в следующих главах системы программирования дают возможность использовать рассмотренную объектную модель. Приведем два варианта примера (два фрагмента программ), как прочитать имя текущего слоя активного документа. В Visual LISP: ivla-get-name (vla-get-activelayer ac_docl]
Здесь ac_doc - переменная, содержащая указатель (VLA-объект) активного документа, который может быть получен с помощью функции vla-get-activedocument.
В Visual Basic for Applications: ThisDrawing.ActiveLayer.Name
Здесь ThisDrawing — стандартный указатель активного документа. Аналогичные действия можно запрограммировать для воспроизведения данного примера в программе на C++ (ObjectARX). 4 Яак 1.111
ГЛАВА 2
Visual LISP Основным средством разработки приложений в системе AutoCAD является язык программирования Visual LISP — вариант языка LISP, в который добавлены функции доступа к объектам и таблицам AutoCAD. В более ранних версиях системы язык назывался AtHoLISP. Основой языка является работа со списками, которые могут иметь произвольную длину и включать элементы разной природы (числа, текстовые строки и т. д.). В то же время пользователю доступны обычные арифметические вычисления, логические операции, работа с файлами и т. д. Начиная с тринадцатой версии системы AutoCAD, язык заметно расширил свои возможности, в первую очередь за счет функций, реализующих возможности технологии ActiveX. Он получил свою интегрированную среду разработки (доступ к ней осуществляется посредством пункта AutoLISP | Visual LISP Editor (AutoLISP | Редактор Visual LISP) падающего меню Tools (Сервис) или с помощью команд VLISP и VLIDE). Сейчас название Visual LISP укоренилось за языком вместо привычного AutoLISP, хотя последний термин еще иногда используют для обозначения традиционного ядра (примерно в объеме языка двенадцатой версии), без функций с префиксами via-, vlax-, vlr-. С помощью языка Visual LISP (далее будем называть его просто LISP) можно писать программы или вводить в командной строке выражения, которые затем вычисляет система AutoCAD. Для чтения и разбора выражений в систему AutoCAD встроен интерпретатор LISP. Для тех, кто собирается заниматься адаптацией системы AutoCAD, знакомство с языком Visual LISP является обязательным, поскольку подключение программ пользователя возможно только через LISP. Загрузка и выполнение программ посредством командной строки AutoCAD тоже требует минимального знания LISP.
Глава 2. Visual LISP
99
В данной главе приводятся основные сведения о языке LISP и справочная информация. Дополнительные подробности можно найти в следующих книгах: "Visual LISP и секреты адаптации AutoCAD" 1 и "AutoCAD Developer's Guide to Visual LISP'4
Интерпретатор LISP В состав программного обеспечения системы AutoCAD входит интерпретатор языка LISP, начинающий работать в том случае, если вы в командной строке в ответ на стандартную подсказку Command: (Команда:) введете текст, начинающийся круглой открывающей скобкой — "(". В этот момент система AutoCAD настраивается на чтение и вычиыение LfSP-выражения, которое должно иметь форму списка, т. е. начинаться открывающей скобкой и заканчиваться закрывающей скобкой - ")", а элементы списка должны отделяться друг от друга пробелами. После того как вы, введя выражение, нажмете на клавишу <Enter>, система AutoCAD вычислит его и выдаст в командную строку результат. Вычисляемые LlSP-выражения должны удовлетворять такой форме: !<функция> [<аргумент1> 1<аргумент2> . . .
[<аргументЫ>]...]]!
Где <функция? — И М Я функции, <аргумент!>, <аргумент2>, . . . . <аргументЫ> —
аргументы функции, разделяемые, по крайней мере, одним пробелом, Квадратные скобки в приведенной форме указывают на то, что, начиная с некоторого места, аргументы могут быть опушены. Количество аргументов зависит от синтаксиса функции. Существуют функции, которые вызываются без аргументов. Каждый аргумент может, в свою очередь, быть LISPвыражеиием. Список функций языка Visual LISP приведен ниже в разд. "Перечень функций"данной главы. Основное правило LISP— баланс скобок, т.е. сколько скобок открыто, столько должно быть и закрыто. Иначе AutoCAD, обнаружив дисбаланс (например, если пользователь забыл ввести конечную скобку), выдаст об этом соответствующее сообщение. LISP-выражения могут быть как простыми, так и составными, т. е. в выражениях могут в качестве элементов использоваться другие выражения, причем разделяющими знаками в выражениях являются круглые скобки, пробелы и двойные кавычки (двойные кавычки должны ограничивать с двух сторон текстовые константы). Например: (-
1
<+
14.2
3.09)
(*
12.5
0.93))
Полещук Н. Н. Visual LISP и секреты адаптации AutoCAD. — СПб.: БХВ-Петербург, 2001.
- Poleshchuk N. N. AutoCAD Developer's Guide to Visual LISP. - Wayne: A-L1ST, 2001.
100
Часть I. Разработка приложений
Здесь "-" -- имя функции (вычитание), имеющей два аргумента в виде выражений, первое из которых является операцией сложения (н нем использована функция сложения "+"), а второе — операцией умножения (в нем использована функция умножения "-"). Сначала интерпретатор языка LISP вычислит выражения во внутренних скобках (в нашем примере получатся такие значения — 17.29 и 11.625). а затем подставит эти значения и вычислит выражение (- 17.29 и . 6 2 5 1 , что должно дать результат 5.655 (вещественное число). Интерпретатор языка LISP вычисляет значение каждого введенного выражения и возвращает его в среду AuloCAD. Возвращаемое значение, в свою очередь, либо может быть передано лля дальнейших вычислений в выражение более высокого уровня, как в последнем примере (аргументы функции верхнего уровня были вычисляемыми выражениями), либо может быть сохранено в переменной с помощью функции присвоения setq, имеющей следующий синтаксис: [setq <переменная!> <выражснис!> [<переменная2> <выраженис2> . . . •<переменнаяМ> <выражением>) . . . ] )
Функция .setq может использоваться с любым количеством аргументов, которое должно быть обязательно четным и не менее 2. В качестве аргументов <переменная!>, ..., <переменнеяК> могут использоваться любые символы LISP, т. е. имена, не занятые в наименованиях функций. В качестве аргументов <выражение!>, ..., <выра*-екиек> могут использоваться LISP-выражения, имена переменных или константы (например, числа). Функция setq —- основное средство для сохранения значений, возвращаемых другими выражениями. Пример: (setq my_result (-
!+ 14.2 3.09)
('
12.5 0.93)))
Значение выражения, которое вычислялось в примере, приведенном выше, будет сохранено в переменной rry_rcsult. В дальнейшем прочитать значение переменной my_resuit можно с помощью операции ! (восклицательный знак). Если в командной строке системы AutoCAD в ответ на стандартную подсказку Command: (Команда:) ввести : ! н у _ result, система выдаст текущее значение переменной my_result.
Программа и комментарии Ввод с клавиатуры выражений LiSP не всегда удобен, поэтому лучше записать предварительно свои строки на языке LISP в простом текстовом редакторе в файл с расширением Isp (текст располагается в файле произвольным образом построчно, не обязательно каждое новое выражение начинать с новой строки; желательно заканчивать строку на разделителе — пробеле или
Глава 2. Visual LISP скобке), а затем загрузить это г файл с помощью функции load. Основной способ написания программ на языке LISP — написание их в текстовом редакторе среды Visual LISP, в которой вам предоставляются средства контроля синтаксиса и отладки. Программа является текстом, содержащим LISP-выражения и некоторые комментарии. В текст программы полезно вставлять комментарии, поясняющие, например, особенности алгоритма. Комментарием считается часть строки, начиная с символа ",-" (точка с запятой), после которого не следует сразу же символ "Г, и кончая последним символом строки. Закомментированной может быть вся строка программы. Если комментарий нужно вставить в середину строки, тогда началом комментария должны быть символы ",- Г', а концом комментария — символы " | ; " (причем конец комментария может располагаться на другой строке). Примеры (для наглядности комментарии выделены полужирным шрифтом) ; Закомментирована вся строка
(setq two_pi (+ pi p i } ) ; Закомментирован конец строки isetq md {+ 5 6 . 0 2 2 ; | внутренний комментарии I ; 7 8 . 1 1 ) )
(command "_CIRCLE" ' ( 0 0) 50}; рисование окружности
Символы Символы языка LISP— это слова, состоящие из группы буквенно-цифровых знаков и являющиеся именами функций или переменных, используемых для хранения данных пользователя. В символах языка LISP не должны использоваться разделители выражений, к которым относятся круглые скобки, пробелы и двойные кавычки, и служебные знаки- "." (точка), "," (запятая), ",-" (точка с запятой), "'" (апостроф), "/" (косая черта), "\" (обратная косая черта). Написание символов не должно соответствовать написанию чисел (например, символ не должен состоять из одних цифр). Зарезервированными являются символы, используемые как имена функций, а также некоторые обозначения констант,
(~
Замечание
}
В именах символов языка LISP регистр (верхний или нижний) не имеет значения. Поэтому setq, SETQ, SETq, setq, SETQ обозначают одну и ту же функцию setq. LISP работает с объектами следующих типов: П целое число; П вещественное число;
102 О П О П О О
Часть /. Разработка приложений
строка; список, точечная пара, точечный список; дескриптор файла; указатель функции, приложения; примитив AutoCAD; набор. Замечание Тип символа может быть получен с помощью функции type.
В разделе, посвященном технологии ActiveX, описываются еще некоторые типы объектов (варианты, безопасные массивы, VLA-объекты, VLR-объекты). Символ языка LISP может в ходе программы менять тип своего значения (для программистов, работающих в других языках, это может быть непривычно). Пользователь в явном виде может задавать константы следующих типов: целые, вещественные, строковые и списковые. Целые числа могут быть как положительными, так и отрицательными или нулями. Допустимые значения находятся в диапазоне от -2147483648 до +2147483647 (крайние значения включены в допустимые; запятые могут использоваться как разделители триад иифр). Замечание Функция getint, запрашивающая ввод целого числа, допускает только значения в диапазоне между -32768 и +32767. К целым числам относятся слова, состоящие только из цифр. Кроме того, целые числа могут иметь знак "+" или "-". Если пользователь пытается задать целое число, не лежащее между описанными выше предельными значениями, вводимое число отвергается или преобразуется в вещественное. Вещественные числа — это слова, которые состоят из цифр и содержат внутри только одну десятичную точку. Могут впереди иметь знак "+" или "— ", В состав вещественного числа может входить латинский символ V или "Е" с показателем степени числа 10 (научная форма представления вещественных чисел). Строковые константы начинаются и заканчиваются кавычками (сами кавычки в длину константы не входят) и содержат внутри себя текст, который может состоять из любых знаков, в том числе пробелов, скобок, апострофов. Особо рассматривается знак "\", который является служебным и используется для ввода в текстовую строку некоторых специальных знаков (например, кавычек и самого знака "\"). Константа "" считается строкой нулевой длины. В строковые константы могут входить управляющие знаки
Глава 2. Visual LISP
юз
печати, например: "\п" - - переход на новую строку, " \ t " - - символ табуляции. Списковые константы — это списки, состоящие из постоянных элементов любого типа (списки открываются и закрываются круглыми скобками). Для того чтобы система AutoCAD не вычисляла их как функции (в выражениях первый элемент является именем функции), постоянные списки предваряются апострофом перед открывающей скобкой. Примеры констант: 86 -21002 12.92307 1.5е+8 "symbols from"
"4\\о_а" (первая косая черта является служебной, вторая — значащим символом; если распечатать такую строку, то мы получим 4\0а) 1
(-41 -5 2199) ( " А а " "Бб" "Вв" "Гг" "Дд" "Ее") 1 ("Under" 15 "ground" 3 . 3 "") 1
Особые списки, в которых только два элемента и разделителем между ними является точка, называются точечными парами. Примеры точечных пар: [О . "CIRCLE"]
;62 . 4) Списки, которые состоят из трех или более элементов и у которых последн и й элемент отделяется точкой, называются точечными списками. Они могут создаваться с помощью функции vi-iist*. Пример:
;эо 34 . 12; Функция setq возвращает значение, совпадающее со значением выражения, присваиваемого последней переменной (<переменнаян>), поэтому тип результата также совпадает с типом этого выражения. Есть функции, которые преобразуют значения из одного типа в другой (например, функции atoi, fix, float, rtos И Т. Д.). К основным зарезервированным символам, значения которых пользователям не рекомендуется изменять, помимо имен функций, относятся следующие: П т — логическая константа, имеющая значение "истина"; D nil — пустое значение (оно же в логических операциях играет роль и значения "ложь"), такое значение не эквивалентно числу 0 или пустой строке ("");
104
Часть I. Разработка приложений
О pi - - постоянная, равная отношению длины окружности к диаметру (3,14159.-.); П pause — постоянная, позволяющая ввести паузу при работе команды системы AutoCAD (ИСПОЛЬЗуеТСЯ В фуПКЩШ command). Эти символы называются еще предопределенными символами. Более редкие зарезервированные символы рассмотрены далее в разд. "Зарезервированные символы" настоящей главы. Для хранения данных пользователь может вводить свои символы (переменные), не совпадающие по н а п и с а н и ю с зарезервированными или ранее занятыми. Появление новых переменных осуществляется с помощью функции setq, например: isetq raaius 15.33 area9 879!
Здесь вводятся переменные radios и агеаЭ, получающие, соответственно, значения 15.33 (вещественное) и 875 (целое). При этом к той части оперативной памяти, которая отведена для текущего рисунка, добавляются участки, занимаемые переменными. Если переменной присвоить значение nil, то такая переменная будет удалена ш памяти, а ее место освобождено для других операций языка LISP. Переменные могут использоваться в любых выражениях, например: [setq d i s t 2 (+ 2 0 . 5 6 v l w l O ) )
Загрузка программы Загрузить файл программы (или LSP-файл) можно с помощью функции load. Синтаксис функции load следующий: :' load [<сообщение>]
Здесь <:имя_фаЯла> — это строка с именем загружаемого файла, а <сообщение> — это строка с текстом сообщения, которое нужно вывести, если загружаемый файл не будет обнаружен. Возвращаемое значение в случае удачной загрузки — результат последнего выражения или имя последней функции, если в файле находятся определения функций (см. описание функции defuri долее в разд. "Примеры программ" этой главы). В случае если загружаемый файл не найден, возвращается текст сообщения об ошибке. Например: (load "weight calc.lsp" "Файл с программой :че найден")
Аргумент опушен, в этом случае при ошибке загрузки выдается стандартное сообщение AutoCAD. Аргумент <сооешение> может быть не только строкой сообщения, но и любым выражением, которое должно выполниться в случае ошибки загрузки.
Глава 2. Visual LISP
^___
105
Аргумент <имя_файла> обычно содержит только имя файла, который ищется в соответствии с настройкой рабочего каталога и путей поиска файлов поддержки (см. главу 9). Однако можно указать и полное имя с путем — например. "c:\\Ang4\\Progs\\iid.isp". В качестве разделителя каталогов используется удвоенный символ "\". Если расширение в имени файла опущено, система AutoCAD пытается выполнить загрузку, поочередно добавляя следующие расширения:
П vlx; П fas; С! Isp. Расширение vlx соответствует файлам VLX-приложений, f a s — компилированным LlSP-файлам, !sp — исходным LISP-файлам. Для непосредственного редактирования пользователю доступны только файлы с расширением Isp, т. к. файлы с расширениями vlx и fas не являются текстовыми. Другие варианты загрузки программ — пункт Load Application (Приложения) меню Tools (Сервис) или пункт AutoLISP | Load (AutoLISP j Загрузить) того же меню.
Перечень функций В табл. 2.1 приведен перечень основных функций, описанных в документации фирмы Autodesk, типы аргументов и возвращаемого значения, назначение (в сжатой форме). Необязательные параметры даются в квадратных скобках. Если указано несколько возвращаемых значений, это означает, что возвращается одно из них, в зависимости от значений аргументов. В таблице использованы следующие условные обозначения: 3
— VLA-объект (указатель элемента объектной модели AutoCAD); 3 — VLR-объект (реактор); 3 <арг> — произвольное значение аргумента: 3 <бм> — безопасный массив; 3 <в> — целое число или имя примитива (в функции trans); П <вариан-> — вариант; П <вещ> — вещественное число; а <выражение> — LiSP-выражение; П <иэ> — целое число или имя примитива (в функции trans); П <имя_прил> — строка или символ с именем приложения; О <ключ> — ключевой аргумент (число и т. и.), используемый гс качестве признака;
Часть I. Разработка приложений
106
П <код> — строка с кодом поля диалога; О <лог> — логическое значение (т или nil); П <набор> — набор примитивов; П <ошибка> — специальный объект с информацией об ошибке, создаваемый функцией vl-catch-all-apply;
О <прим> — имя примитива; П <снмвол> — символ языка LISP; П <список> — список; П <строка> — строка; П <тпара> — точечная пара; П <тсписок> — точечный список; П <файп> — дескриптор файла; П <функция> — символ с именем функции; 3 <целое> — целое число; П <число> — вещественное или целое число; П <экран> — указатель видового экрана: П <элемент> — элемент списка. Недокументированные функции приводятся в следующем разделе. • Новые
функции,
появившиеся
в
AutoCAD 2004:
acad_truecoioreii,
асad_trueсо1сгdlg.
Аннулированные функции: acet-attsync. В главах. 6 и 7 дается обзор приемов работы с LISP-функцилмй в меню и диалоговых окнах. Таблица 2.1. Список основных функций Visual LISP Возвращаемое значение
Назначение
[<число!> [<число2:> . . . [<числоН>] . . . ] ]
<число>
Сложение
[<число!> [<число2> ... (<числоЫ>] . . . 1 1
<число>
Вычитание
[<число!> [<число2> . . .
<ЧИСЛО>
Умножение
< число
Деление
Функция
Аргументы
+-
*
[<ЧИСЛОЫ>]
/
...
] ]
(';число1> [<число2> . . . [<чнслоН>] . . . ] :
Глава 2. Visual LISP
107
Таблица 2.1 (продолжение) Возвращаемое значение
Назначение
[ [ . . . [] ... )]
<ЛОГ>
Равенство
/=
[ [ ... ... 11
[]
<лог>
Неравенство
<
[ [<зрг2> . . . [<аргЫ>] ... 11
<лог>
Меньше
<=
Г<арг1> [<арг2> . . . [i ... II
<лог>
Меньше или равьо
>
Харг1> [<арг2> . . . [<аргЫ>1 ... ]]
,
Больше
>=
(<арг!> [<арг2> . . . [<аргн>[
<лог>
Больше или равно
Функция
Аргументы
=
.-. ]]
-
<число>
<число^
Дополнение до 1
1+
<число>
<число?
Увеличение на 1
1_
<число>
<число>
Уменьшение на 1
abs
<число>
<число>
Абсолютная величина
a cad со lor dig
<целое> |<лог>]
<иелое>,
acad_helpdlg (устаревшая)
<строка!> <строка2>
<строка>,
nil Вызов справки
acad strlsort
<список>
<список>,
nil Сортировка
<список>,
nil Вызов диалогово-
<список>,
nil Запрос цвета из
acad truecolorcli
acad true со lor dig
acdimenable update
<тпара> [<лог>]
<тпара> [<лог>]
<ЛОГ>
[<целое>]
[<строка>]
nil
Вызов диалогового окна с палитрой основных цветов
списка строк го окна с полной палитрой цветов
полной палитры цветов, з режиме командной строка
<лог>
Изменение режима ассоциативности размеров
acet-layerp-mark
1<лог>]
<лог>
Установка метки команды LAYERP (СЛОЙП)
a ce t - 1 а у e rp-mode
[<лог>]
<лог>
Изменение режима команды LAYERP (СЛОЙП!
Часть I. Разработка приложений
108
Таблица 2.1 (продолжение) Функция
Аргументы
Воз вращаемое значение
Назначение
acet-laytrans
<строка> [<целое>]
<лог>
Трансляция слоев
ас е t -ms - to -ps
[<вещ>]
[<эхран>]
<чнсло>,
acet-ps-to-ms
[<вещ>]
[<экран>]
<число>, nil
Преобразование длины из пространс-ва листа в пространство модели
action tile -
<код> <строк£>
Т
Действие элемента DCL-cpaii;ia
add_list
<строка>
<строка>,
alert
<строка>
nil
Вызов окна с сообщением
alloc
<целое>
<целое>
Размер сегмента памяти
and
[<арг!> (<арг2> . . . |<аргН>] . . . ] ]
<лог>
Логическое "И"
angle
<точка!> <то';ка2>
<вещ>
Вычисление угла
angtof
<строкэ> [<иелое>]
<вещ>,
angtos
<веш> [<целое> [<1'елое>]]
<строка>,
append
[<спнсок!> [<спксс:<2> , . , [<спис<жН>] ... ] 1
<спнсок>, nil Добавление к списку
apply
1
Результат работы функции
<функция>
ЭГХ
arxlcad
nil
nil Добавление строки в список диалогового окна
nil
Перевод угла в вещественное число nil Перевод угла в строку с заданными представлением и точностью
<СЛИС(Ж>
<нмя г:р^л> [>:ЕыраЯ1?ыие>]
Преобразование длины из пространства модели в пространство листа
Имя приложения или результат вычисления выражения
Применение операции к элементам списка Список загруженных ARX-приложений Загрузка ARX-приложения
Глава 2. Visual LISP
109
Таблица 2.1 (продолжение'* Функция
Аргументы
arxunload
<имя прил> [<вь:ражение>]
Возвращаемое значение Имя приложе-
ния пли
Назначение Выгрузка ARX-приложенмй
результат вычисления выражения ascii
<строка>
<целое>
Вычисление кода буквенно-цифрового символа
35SOC
<кл?оч> <список">
Элемент списка или nil
Выбор элемента списка по ключу
atan
<чХ1:ло!>
<вещ>
Арктангенс угла в радианах
atof
< строкам
<еещ>
Перевод из символьного представления в вещественное
atoi
< с трока >
< целое >
Перевод из символьного представления в целое
atom
<арг>
<лог>
Проверка атома (т. е. несписка]
atoms - family
< не лое > [ < спис ок> ]
<список>,
autoarxload
< строка > < спи с он >
nil
Автозагрузка ARX- приложения
autoload
<строка> <списск>
nil
Автозагрузка LISP-приложения
boole
<целое!> <иелое2> [<целоеЗ> . . . [<целоеЫ>] . . . ]
<иелое>
Булева операция
boundp
<символ>
<лог>
Проверка значения символа
caaar, caddr . . .
<список>
<элемент>^ ^список>,
nil
<эдемент>, <список>,
nil
caar, cadr
<список>
[<чи;:ло2>]
car
<список>
<^лем^нт>, nil
cdr
<список>
<элемент>, <список>,
nil Список символов
(саг icar i car . . . ) ) ) , (cai icdr (cdr . . . ] ! ) (car (car . . . ) ! , (car (cdr . . .) ) Извлечение первого элемента списка
Получение остатка nil списка без первс' го элемента или извлечение второго элемента точечной пары
часть /. Разработка
110
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
ch r
<целое>
<строка>
Получение буквенно-цифрового символа по его коду
client data tile
<код> <строка>
nil
Привязка пользовательских данных к элементу диалога
close
<файл>
nil, сообщеиие об ошибке
Закрытие файла
command
l [<арг2> . . . [<аргЫ>] ... ]]
nil
Передача команд и параметров в командную строку системы AutoCAD
cond
[ ( <выра*еиие!>) Результат ( (<арг2> <выражение2>( . . . выполненного 1 (<аргН> <выра?ение;1> ) ] . . . J ] выражения
Проверкаусловий и выполнение нужного выражения
cons
<элемент> <целое> <целое> или <целое> <ие.юе>
<список>, <тпара>
Создание списка пли точечной пары
cos
<число>
<вещ>
Косинус
cvunit
<число> <отрока1> <строка2> <вещ>, или <список>, <список> <строке!> «строка2>
defun
defun-q
<символ> ( [<символ!арг> ... ] 1/ [<символ1раб> ... ]) <выраз«ние1> [ ... <выражениеК> ] ] <СИЫВСЛ>
( [<СИНВОл1|1рГ>
...
]
nil
Назначение
Перевод в другие единицы измерения Определение новой функции
<СИМБОЛ>
Определение некомпилированной функции посредством списка
<СИМЕОЛ>
[/ [<символ1раб> . . . ] ) < выр аже ние 1 > i ... <выражекиеК> ;
deEun-q-list-ref
' <функцкя>
<список>,
defun-q-list-set
'<функция> <список''
<символ>
Передача списка в тело функции
dictadd
<пр!1М> < строк J> <элемент>
<прим>
Добавление к словарю
dictnext
<прим> <лог>
<прим>,
nil
nil
Получение списка тела функции
Переход на следующую запись словаря
Глава 2, Visual LISP
1 I Таблица 2.1 (продолжение)
Функция
Аргументы
Возвращаемое значение
iict remove
<прим> <строка>
<прим>,
diet rename
<прим> <строка> <строка>
<с трока >,
dictsearch
<прим> <строка> [Оюг>]
<прим>, nil
Поиск в словаре
dirox tile
<код>
< целое >
Горизонтальный размер элемента диалога
dimy tile
<код>
<целое>
Вертикальный размер элемента диалога
Назначение Удаление из словаря
nil
nil
Переименование в словаре
Расстояние
distance
<список> <список>
<вещ>
distof
<строка> <целое>
<вещ>,
done dialog
[<целое>]
<список>
Закрытие диалогового окна
nil
Конец операции над графическим элементом диалога
end image
Перевод стропи в вещественное представление
nil
end list
-
nil
Конец операции над списком
entdel
<прим>
<прин>
Удаление (восстановление) примитива
entget
< прим> [ < спис ок> ]
<список>
Получение списка основных и, возможно, расширенных данных примитива
entlast
<прим>,
Извлечение последнего неудаленного примитива рисунка
nil
entmake
[]
<список>, nil
Создание примитива
entmakex
(<список>!
<прим>,
Создание примитива или неграфического объекта
entmod
<список>
<список>,
nil
nil
Изменение примитива
Часть I. Разработка приложений
112
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение Назначение
sntnext
[ <прин> ]
<прим>,
entsel
[< строка >]
<список>. nil
Выбор обьекта с указываемой точной
entupd
<прим>
<лриы>,
Перерисовка измененного примитива
eq
<арг2>
<лог>
Равенство (совпадение) объектов
equal
fapr2> 1<ве«>1
<лог>
Равенство с допуском
•error*
<строка>
-
Обработка ошибок
eval
<арг>
Вычисленное значение
Вычисление списка как функции или вычисление выражения
exit
-
-
Выход из приложения
exp
<вещ>
<вещ>
Натуральный антилогарифм
expand
<целое>
<целое>
Расширение памяти дли символов LISP
expt
<число>
<число>
Возведение в степень
fill image
<целое!> <целое>> '-:иелоеЗ> <иелое4> <цслое=>
<целое>
Заполнение изображения графического элемента диалога
findfile
<строка>
<строка>,
fix
<число>
<целое>
Усечение вещественного числа до целого
float
<число>
<аещ>
Преобразование числа в вещественное
foreach
=:символ> <спис:ок> ;<выраже:-!ие1> ... ;
Значение последнего выражения
Применение операции к элементам списка
ИЛИ nil
Имя следующего примитива (подпрммитмва)
nil
nil
nil
Поиск файла
Глава 2. Visual LISP
113
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
function
<символ> или <выражэние>
<СИМЕОЛ>,
<спнсок>
Назначение Ссылка на функцию с возможностью оптимизации кода
gc
-
nil
Сбоока мусора
gcd
<целое!> <целое2>
< целое?
Наибольший общий делитель
get_attr
<код> <строка>
<строка>
Значение атрибута элемента диалога
get tile
•!код> <строка>
<строка>
Текущее содержимое элемента диалога
getangle
;<список>] [<сгрокд>]
Ввод угла или <вещ>, <строка>, nil выбор опции из списка
getcfg
< с трока >
<строка>. nil Извлечение параметров приложения
getcname
<строка>
<стрска>, nil Получение синонимов имен команд
get corner
< списо к> [ <с тр ока > 1
<список>, nil
yetdist
[<список>] [<строка>!
Ввод расстояния <вещ>, <строка>, nil или выбор опции из списка
get en v
< строка?
<строка>, nil Значение леременнойокружения
getfiled
<строка!> <строка2> <строкаЗ> <целое>
<строка>, nil Вызов диалоговС' го окна поиска файла
getint
;<строка>]
<целое>, Ввод целого числа < строкам, nil или выбор опции из списка
getkword
[<строкэ>]
< строка >, nil Ввод опции из списка
getorient
[<список>] |<строка>]
Ввод угла или <вещ>, < строка >. nil выбор опции из списка
getpoint
[<список>] [<строка>]
Ввод iwi-и или <список>, <строка>, nil ВЫбОр С.ГЦИИ из списка
Ввод точки с рамкой
Часть I. Разработка приложений
П4
Таблица 2.1 (продолжение) Функция
Аргументы
getreal
{< строка >]
getstring
[<лог>]
getvar
<строка>
Возвращаемое значение <вещ>, <строка>,
[<строка>]
nil
Назначение Ввод вещественного числа или выбор опции из списка
< строка >
Ввод строки
Значение
Значение системной переменной
или nil graphs с г
-
nil
Переход е графический экран
grclear
-
nil
Очистка видового экрана
grdraw
<список!> <спиеок2> <иелое!> nil [<целое2>) -
Рисование вектора
grread
[ <лог> ] [ <целое! > [<целое2>]]
<список>
Чтение данных посредством произвольного устройства ввода
grtext
[<целое!> <строка> [<целое2>] ]
<список>,
grvecs
< список! > [ <списо к 2 > ]
nil
hands nt
< строка >
<прим>,
help
[<с!рока!> 1<строка2> [<строкаЗ>] ] ]
< строка >,
if
<лог> <выражение!> [ < вщ>ажение 2 > ]
Значение Условный выражения или оператор
nil
Запись в пункт меню или зону графического экрана Рисование множества векторов Имя примитива, соответствую щее метке
nil
nil
Вызов раздела справки
nil
initdia
[<целое>^
nil
Управление диалоговым режимом следующей команды
initget
[<целое>] [<строка>;
nil
Установка опций функций ввода
inters
<список!> <списокЭ> <СПИСОКЗ> <СПИСОК'Э>
<строка>, [<ЛОГ>]
nil
Пересечение отрезков или прямых
Глава 2. Visual LISP
115
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
itoa
<целое >
< строка>
lambda
<список> <выражение!> . . . [ < выражениеЫ> ]
last
<список>
<элемент>
Извлечение последнего элемента списка
layoutlist
—
<список>
Перечень листов текущего рисунка
length
<список>
<целое>
Длина списка
list
[<арг1> [<арг2> . - . [<аргН>] ... ]]
<список>,
liatp
<арг>
<лог>
Проверка на список
load
<строка> [<выражение>1
<строка>. значение выражения или сообщение об ошибке
Загрузка файла с функциями VLX-, FAS- или LSP-npiiложения
load dialog
<строка>
<целое>
Загрузка DCL-файла
log
<&ещ>
<вещ>
Натуральный логарифм
logand
[<«елое!> [<целое2> ... !<целоеМ>] . . . ]]
<целое>
Побитовое логическое "И"
logior
[<целое!> [<цевое2> . . . [<иелоеН>] ... ]]
<иелое>
Побитовое логическое "ИЛИ"
Ish
[<целое!> [<целое2>] J
<целое>
Побитовый сдвиг
mapcar
' <функция> <спиеок!> 1<список2> . . . 1<списокН>] ... ] !
<список>
Применение функции к каждому элементу списка
max
[<число!> [<число2> . . . [<чиагаН>| ... ]]
<число>
Максимум
nil
Распечатка параметров динамической памяти, используемой LISP
mem
Назначение Преобразование целого числа в символьное представление Описание локальном неименованной функции
<СИМЕОЛ>
nil Формирование списка
116
Часть I. Разработка приложений Таблица 2.1 (продолжение)
Функция
Аргументы
Возвращаемое значение
member
<элемент> <список>
<список>,
menucmd
<строка>
nil
Операция с пунктом меню
menugroup
<строка>
=строка>, nil
Операция с группой меню
тяп
Г<число1> [<чнс:ло2- . - . [<числоН>] . . . ) !
<число>
Минимум
:r.inusp
<число>
<лог>
Проверка на отрицательность
mode tile
<код> < целое >
nil
Переключение режима элемента диалога
nair.edobjdict
—
<гхрим>
Имя основного словаря неграфических данных
nentsel
|<строка>]
<список>, nil
Доступ к данным сложного объекта с запросом
nentselp
( <строка> ] [ <список']
<список>, nil Доступ к данным сложного обьекта (возможен без запроса]
new dialog
<строка> <целсе> [-'7трока> [<список>] ]
<лог>
Вызов диалога
not
<арг>
<лог>
Логическое отрицание
nth
<целое> <список>
<элемент>. nil
Выбор элемента списка по номеру
null
<арг>
<ЛОГ>
Проверка на nil
nuirberp
<арг>
<лог>
Проверка на число
open
<строка!> <строка2>
<файл>, nil
Открытие файла
or
[<арг!> [<арг2> . . . [] . . . ]]
<лог>
Логическое "ИЛИ"
osnap
<список> <строка>
<список>, nil
Точка после применения обьектной привязки
1
nil
Назначение Проверка на вхождение в список
Глава 2. Visual LISP
117
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
polar
<список? <вещ> <вещ>
<слисск>
Вычисление точки по направлению, задаваемому углом, и расстоянию
prinl
(<арг> |<файл>]]
<арг>, nil
Вывод в файл ипи на экран
рппс
[<арг> [<файл>] ]
>,
nil
Вывод в файл или на экран
prir."
[<арг> !<файл>] ]
<арг>,
nil
Вывод в файл или на экран
progri
[<выраж8Ние!> | <выражение2> . . . <выражсплеЫ>! ... J ]
Значение последнего выражения
Программная скобка для функции if
prompt
< строкам
nil
Сообщение
quit
-
nil
Выход из приложения
quote
<арг>
<арг>
Цитирование (обращение к списку не как м функции)
read
[<строка>1
Различные
Чтение из строки
read-chat
[<файл>]
<целое>
Чтение символа с клавиатуры
read-line
[<файп>]
<строка>,
redraw
[<прим> [<целое>] 1
nil
regapp
<строка>
<строка>,
rem
[<число!> [<число2> . . . [<числоН>] ... ] ]
<число>
Остаток от деления
repeat
<целое> [<выраженме!> [<выражение2> ... (<выражениеЫ>] ... } ]
Значение последнего выражения
Цикл с заданным количеством повторений
nil
Назначение
Чтение строки из файла или с клавиатуры Перерисовка примитива
nil
Регистрация приложения, работающего с расширенными данными
или r.il
reverse
<спнсок>
<список>
Переворот списка
Часть I. Разработка приложений
118
Таблица 2.1 (продолжение) Возвращаемое значение
Назначение
Функция
Аргументы
ttos
<число> [<целое!> [<целое2>)1
<строка>
Преобразование вещественного числа в символьное представление
set
< сиыв ол > <выраже ние >
Значение выражения
Присвоение значения посредством адреса символа
set_tile
<код> <с трока >
< строкам
Изменение содержимого элемента диалога
setcfg
< строка 1> <стрска2>
<строка>,
setenv
<строка!> <строка2>
< с трока >
Задание переменной окружения
setfunhelp
<строка!> [<строка2> [<строкаЗ> [<строка4>] ] ]
< с трока >
Регистрация справки для функции, начинающейся с символов с:
setq
<симвоп1> <Еырлжение1> Значение [<симвоп2> <выраженка2> . . . последнего [<символМ> <:ьыражениеН> ] . . . ] выражения
Присвоение значений символам LISP
setvar
<строка> <арг>
<арг> или сообщение об ошибке
Присвоение значении системной переменной AutoCAD
set view
<список> <целое>
<список>.
sin
< число
<вещ>
slide__image
<иелое1> <целоа2> <иелоеЗ> <целое4> <строка>
<строка>, nil Заполнение графического элемента диалога слайдом
snvalid
<строка> [<целое>]
<лог>
Проверка допустимости имени по таблице символов
sqct
<вещ>
<вещ>
Квадратный корень
ss add
[<прим> |<наОор>]]
<набор>
Добавление объекта в набор
nil
Запись данных приложения
nil Установка вида в видовом экране Синус
Глава 2. Visual LISP
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
ssdel
<прим> <набор>
<набор>,
nil
Удаление обьекта из набора
ssget
'<строка>] 1<список1> [<список2>] } [<списокЗ>] [<список3>]
<набор>, nil
Формирование набора по запросу или признаку
ssgetfirst
-
<спнсок>
Определение вы бранных объекте а
sslength
<набор>
<целое>
Количество элементов е наборе
ssmemb
<прим> <набор>
<прик>,
nil
Проверка на принадлежность обьекта к набору
ssname
<на&ор> <целое>
^прин>,
nil
Извлечение примитива из набора
ssnaciex
<наОор> <целое>
<список>
Извлечение примитива и информации о способе его выбора
sssetfirst
<набор!> [<наСор2>]
-;список>
Включение ручек у объектов заданных наборов
startspp
<строкэ!> (<строка2>]
-:целое>,
startjiialog
—
<целое>
start^image
<коя>
<код>,
£tart_li5t
<код> (<целое!> [<иелое2>] ]
<:код>
Начало операции над списком
strcase
<строка> [<лог>1
<строка>
Преобразование регистра в строке символов
strcat
[<строка].> [<строка2> ... [<строкаН>] ... ] ]
t строкам
Конкатенация (сцепление) строк
strlen
<строка>
subst
<элеыент!> <эленент2> <список>
nil
Назначение
Запуск внешнего приложения Запуск диалогового окна загруженного DCL-файла
nil
j .~ - • /.::';• к •
Начало операции с графическим элементом диалога
Длина строки Замена элемента в списке
Часть I. Разработка приложений
120
Таблица 2.1 (продолжение! Функция
Аргументы
Возвращаемое значение
substr
<строка> <целсе!> ,"<целое2>]
< с трока >
tablet
<целое> (<список!> <список2> <список>, <списокЗ> <с:шсск4>]
nil
Работа с планшетом
tblnext
<с трока> [ < j; or > ]
•;список>,
nil
Переход к следующему символу в таблице
tblobjname
<строка!> <строкз2''
<прим>, nil
Поиск объекта в таблице символов
tbl search
<строка!> <строка2> [<лог>1
<список>,
Поиск символа в таблице
term dialog
—
nil
Принудительное завершение (закрытие) диалога
nil
Перевод в командной строке курсора на новую строку
terpri
Назначение Извлечение подстроки
nil
textbox
<список>
<список>. nil Вычисление ограничивающего прямоугольника для надписи
textpage
-
nil
Переход а текстовое окио
textscr
-
nil
Переход в текстовое окно
trace
[<функция!> [<функ:;ин2> . . . 1<функиняЫ>] , . . ] i
<функция>, nil
Начало трассировки Преобразование точки в другую систему координат
trans
<СПКСОК>
type
<СИМЕОЛ>
<символ>
Определение типа символа
unload_jjialog
<целое>
nil
Выгрузка DCL-файла
ant race
1<функш1я1> [<функция2> ... [<функцияЫ>! ... ] :
<функцнч>. nil
Окончание трассировки
vector image
<целое!> <целое2> -"иелоеЗ> <иелое^> <целое51
<целое>
Рисование отрезка внутри графического элемента окна
<Е>
"<JTOr>]
<список>>
nil
Глава 2. Visual LISP
- -•
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращавмое значение
Назначение
ver
-
<строка>
Определение версии Visual LISP
vl-acad-defun
' <функция>
vl-acad-undefun
' <ФУНКЩ1Я>
vl - a r х- import
Экспорт функции а множество имен функций ObjectARX <лог>
<имя прил>
Отмена экспорта функции в множество имен функций ObjectARX Импорт функций АНХ-приложения в именное пространство VLX-приложения
vl-bb-ref
'<СИМВОЛ>
Значение символа
Чтение значения переменной из внедокументного именного пространства
vl-bb-set
'<символ> ^выражение>
Значение выражения
Задание значении переменной из внедокументного именного пространства
vl -catch- all -apply
'<функция> <список>
Значение
Обработка исклю чений функции, примененной к списку
функции или <ошибка>
vl-catch-all-etrormessaqe
< ошибка >
<строка>
Извлечение сообщения из объекта < ошиЕжа >
vl - ca t ch- all -e JT ro r -p
<арг>
<лог>
Проверка типа результата функции vl-catch-allapply
vl-cradf
[ [ . . . [<аргм>]
<лог>
Передача команд и параметров в командную строку с предварительной п ровер кой возможности их выполнения
-..
11
Часть I. Разработка приложений
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vl-consp
<лог>
vl- direct о су- files
[ < строка 2 > <целое>]
<список>,
ul-doc-export
vl -doc - Impor t
vl-doc-ref
vl-doc-set
1
<функция>
<символ>
'<СИМВОЛ>
1
Проверка, что аргумент является списком, точечном парой или точечным списком и отличен от nil nil
Получение списка имен файлов папки Экспорт функции из пространства имен VLX-приложения в текущий документ
<строка> [ '<функцич1> [ ' <функция2> . . . [ г<функцияЫ>] ... ; ]
1
Назначение
[<£рг>]
vl-every
<функцня> <список1> |<список2> . . , 1<списокЫ>] ... )
vl-exit-witherror
<строка>
Импорт экспортированных функций в именное пространства VLX -приложения Значение переменной
Чтение значения переменной из текущего документа в именное пространство VLX-лриложения
<арг>
Задание значения переменной текущего документа из VLX-приложенин с собственным именным пространством
<ЛОГ>
Проверка истинности условия с первым, вторым и т. д. элементами каждого из списков-аргументов Передача управления обработкой ошибок от VLX -приложения с собственным именным пространством функции 'error*
Глава 2. Visual LISP
123
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vl-exit-witbualue
<арг>
vl- file-copy
<строка1> <строка2> [<целое>1
<целое>.
vl- file-delete
<строка>
<лог>
Удаление файла
vl-filedi rector у -p
<строка>
<лог>
Проверка, являе"ся ли строка именем папки, а не файла
vl- file-rename
<строка!> <строка2>
<лог>
Переименование файла
vl-file-size
<строка>
<иелое>, nil
Размер файла в байтах
vl-file-systime
< с трока >
<список>,
Дата последнего изменения файла
vl-filenarae-base
<строка>
<с трока >
Выделение имени файла без пути и расширения
vl- filenamedirectory
<строка?
< строка >
Выделение пути, если он входит в имя файла
vl-filenarneextension
<с трока?
<строкэ>,
vl- filenamemfctemp
[<сгрока!> <строка2> <строкаЗ>]
< строка >
Уникальное имя для временного файла
vl-get-re source
<строка>
<строка>
Извлечение содержимого ТХТ-файла. включенного в VLX-приложение
vl-list*
<арг!> [<арг2> . ., [<арги>] ... ]
<список>. <т>список>, <тпара>, <арг!>
Построение списка, точечной пары или точечного списка
Назначение Передача значения функции, вызвавшей VLX -приложение с собственным пространством имен
nil
nil
nil
Копирование или присоединение содержимого одного файла к другому
Выделение расширения из имени файла
Часть I. Разработка приложений Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vl-list-> string
<список>
<строка>
Построение строки по кодам входящих в нее бу л вен но-цифровых знаков
vl-list-exportedf unctions
I < строка >]
<список>
Список экспортированных функций приложения
<СПИСОК>,
<целое>.
vl-list-length
<ТСПТ1СОК> ИЛИ
nil
Назначение
Длина списка
<тпара>
Список всех связанных с данным документом VLX-приложений с собственными именными пространствами
<список>
vl-list-loaded-vlx
vl-load-all
<список>
vl -lead- com
—
Загрузка файла во все ранее открытые документы и во все документы, которые будут открыты в данном сеансе AutoCAD Загрузка функций расширения ядра языка Visual LISP
—
Загрузка функций, п одце рживающих реакторы (аналогична vl-load-corrj
vl -lead-reactors
vl -member- if
'<ФУНКЦИЯЙ
<С11ИСОК,-
<список:>,
nil
Проверка истинности условия хотя бы с.одним элементом списка
vl -meirtoe r-if-not
'<функиияь <список-
<список>,
nil
Проверка на nil условия хотя бы с одним элементом списка
vl-mkdir
< строка >
<лог>
vl -position
<элемент> <сплсок>
<целое>,
Создание папки nil
Номер обьекта как элемента поданного списка
Глава 2. Visual LISP
125
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vl -pri nl - to- s t r ing
•;строка>
Вывод данных в ctpoKy аналогично функции prinl
vl-princ-to-string
•;строка>
Вывод данных в строку аналогично функции princ
vl -propagate
'<символ>
vl-regis try- delete
<строка!> [< с трока 2?]
<ЛОГ>
vl-registrydescendents
<строка!> [<строка2>3
<список>,
nil
Список подразделов или парамет' ров из указанного раздела реестра Windows
vl-regi 5 1 ry-read
•^строка 1> [<строка2>]
< строкам,
nil
Чтение данных из раздела реестра Windows
ul- registry-write
<строка!> (<строка2> <сгрокаЗ>]
<строка>, nil
Запись параметра или создание раздела в реестре Windows
vl - remove
<элемент> <список>
<СПИС(Ж>,
nil
Удаление элемента из списка
vl-remove-if
'<функция> <список>
<списик>, nil
Удаление элементов списка, удовлетворяющих
Назначение
Передача значений переменной во все ранее открытые документы и во все документы, которые буду открыты в данном сеансе системы AutoCAD
Удаление значения из реестра Windows
проверяемому условию vl - r erao ve - i f - not
' <функцня> <список>
<список>, nil
Удаление элементов списка. не удовлетворяющих проверяемому условию
Часть I. Разработка приложений
126
Таблица 2.1 (продолжение) Возвращаемое значение
Функция
Аргументы
vl-some
' <функция> <список!> [<список2> . . . [<СПИСОКН>]
...
Значение или nil
]
Назначение Проверка выполнений условия, применяемого к последовательно подаваемым элементам списков аргументов
vl-5Ort
<список> ' <функция>
<список>
Сортировка элементов списка
vl-sort-i
-Ссписок* ' «функция >
<список>
Сортировка элементов списка с возвратом номеров в новом списке
vl-string->list
< строка*
<список>,
vl-st ring-el t
<строка> <целое>
<делое> или сообщение об ошибке
Получение кода по действующей таблице для символа с номером в строке
vl-string-left-trim
<строка1> <с1рока2 >
< строка >
Удаление символов из начала строки
vl-st ring-mismatch
<строха!> <строка2> [<целое1> <целое2> <лог>]
<целое>
Вычисление длины общего префикса для двух строк, начиная с некоторой позиции
vl-st ring-position
<иелое!> <строка> [<целое2> [<лог>] ]
<целое>,
vl-st ring-right-trim
<строка!> <строка2 >
<строка>
vl-string-search
<строка!> <с^грока2> [<целое>]
<целое>.
vl -string-subs t
< строка 1> <строка2> <строкаЗ> 1<целое>]
<строка>
nil
nil
Преобразование строки буквенноцифровых знаков в список с кодами знаков
Поиск символа с заданным кодом в строке Удаление заданных СИМВОЛОВ из конца строки
nil
Поиск заданного образца внутри строки Замена внутри строки одного шаблона на другой
127
Глава 2. Visual LISP
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение Назначение
vl- string-translate
<строка!> <строка2>
<строка>
Замена символов в строке по закону
vl-string-tcim
<строка!> <строка2>
<строка>
Удаление символов из начала и конца строки
vl - s yinbol -name
1
<символ>
<строка>
Возврат имени символа как строки
vl - s ymbol -value
1
<символ>
Значение символа
Возврат значения символа Проверка, является ли обьект символом
vl-symbolp
<арг>
<лог>
vl-unload-vlx
< с трока >
Т или сообще- Выгрузка VLX -приние об ошибке ложения, загруженного в свое пространство
vl-vbaload
< строкам
—
Загрузка проекта VBA
vl-vbarun
< с трока >
-;строка>
Выполнение VBA-макроса
vl - vl x - 1 oaded-p
<строка>
vla-geta ct i ve document
Указатель активного документа
vla-get-model space
•:VLfi>
Указатель пространства модели
vl a -get -paperspace
Указатель пространства листа
vlax-3d-point
<СВДСОК>
•;вариант>
Создание точки-варианта
Проверка, загружено ли VLX-при ложение, имеющее свое именнсе пространство
ИЛИ
<веш> <вещ> |<вещ>] vlax-add-ond
<с трока 1> |<строка2
vlax-create-object
< строка >
1
<функция> <целое>]
<строка!>.
•iVIA>, nil
nil Добавление
функции к командам системы AutoCAD Загр/зка СОМ -сера ера (внешнего приложения) и создание его VLA-обьекта
Часть I. Разработка приложений Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vlax-curve-getacea
<вещ>, nil
vl ax-cur vegetclosestpointto
<список>
vlax-curvegetclosestpointtop rejection
Назначение Площадь кривом (VLA -объекта)
<список>,
nil
Вычисление точки, лежащей на привой и ближайшей к заданной точке
<список i > <сг:исок2> [<лог>]
<список>,
nil
Вычисление ближайшей точки на кривой после проектирования кривой на плоскость
vl ax -curve getdistatparam
<чиспо>
<вещ>,
nil
Длима кривой от начальной точки до точки, заданной параметром
vl ax -curve getdistatpoint
<списсж>
•:вещ>,
nil
Длина кривой от начальной до указанной точки
vl ax -curve ge tendp а гага
<вещ>1
nil
Значение параметра конечной точки кривой
vl ax -curve getendpoint
<список>,
nil
vl ax -curve getfirstderiv
<ЧИСЛО>
<список>,
nil
vlax -curve getparaniatdist
<число>
<вещ>,
nil
Значение параметра на заданном расстоянии от начальной точки кривой
vlax-curvege tpa r ama tpoi n t
<список>
<вещ>,
nil
Значение параметра в точке кривой
vlax-currvegetpointatdist
•: числом
<список>,
[<лог>]
nil
Вычисление конечной точки кривой Вычисление первой производной э заданном месте кривой
Вычисление точки, находящейся на заданном расстоянии от начальной точки кривой
Глава 2. Visual LISP
129
Таблица 2.1 (продолжение: Функция
Аргументы
Возвращаемое значение
vl ax-cur vegetpointatparara
<ЧИСЛО>
<спис<эк>, nil
Вычисление точки, лежащей на кривой, с заданным значением параметра
vlax-curvegetseconddetiv
<число>
<список>,
Вычисление второй производной в заданном месте кривой
vlax-curvegetstartparam
<вещ>,
vl ax- curve gets tar tpoint
<спксок>,
vlax-curve-isclosed
<лог>
Проверка замкнутости кривой
vl ax-curve i aperiodic
Спог>
Проверка периодичности кривой как ф/нкции параметра
vlax-cucve-isplanar
<лог>
Проверка планарности кривой
vl ax - damp- ob j e с t
[<лог>]
т или сообщение об ошибке
Вывод свойств объекта, а также методов, применяемых к нему
vl ax - e name - > vl a object
<прим>
Преобразование примитива в VLA-обьект
vlax-erased-p
<лог>
Проверка, удален ли VLA-обьект
vlax-for
<символ> [<еыражение!> Значение [<выражение2> . . . последнего [< выражение Н>] ... |] вычисленного выражения ИЛИ nil
vlax-get-acad-object
5 Зак 1 3 1 1
nil
nil
Назначение
Начальное значение параметра на кривой nil
Вычисление начальной точки кривой
Вычисление выражений с каждым объектом из семейства
Вычисление указателя на корневой объект Application
Часть I. Разработка приложений
730
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vl ax -get-object
<строка>
,
nil
Вычисление текущего вхождения объекта- приложения
vlax-get-or-createobject
<строка>
.
nil
Вычисление текущего вхождения обьекта-приложения или создание нового
v 1. ax-ge t -pr ope r t у
'<СИМБОЛ> ИЛИ
<строка>
Значение свойства
vl ак - inpo tt - 1 уре library
:tlb-filename <стрс>ка1> <лог> [ : methods -pee fix <Строка2> : proper ties -pre fix <строкаЗ> : constants-prefix <:строка4>)
vl а и - in vo ke -rae th od
'<сиывол> [ . .. [] . . . ]
Зависит от метода
Назначение
Извлечение свойства VLAобъектз " ' Импорт информации из библиотеки типов Вызов метода VLA-обьекта
ИЛИ
<строка> [ . . . [] . . . ] vlax-ldata-delete
<лог> <словарь> <строка> [<лог>], где <словарь> — . <прим> или <строка>
Удаление LISP- данных из словаря
vlax-ldata-get
<словарь> <строка> [<арг>] [<лог>], где <слоЕдрь> — . <прим> или <строка>
Данные
Извлечение LISP-данных из словаря или обьекта
vlax-ldata-list
<словарь> [<лсг>], где <словарь> — <УЪД>, <прим> или <строка>
<спиеок>
Вывод LISP- данных из словаря
vl ax - 1 dat a-pu t
<счоварь> <строка> [<арг>] [<яог>], где <словзрь> , <прик> ИЛИ «строка>
Запись LISP-данных а словарь или объект
vl ax -Idata - 1 a s t
<арг>
<nori
Проверка возможности сохранения LISP-данных
vlax -make -sa fear ray
<бм> <цепоеО> ' (<целое!н> . <целое!в>) [• (<.целое2н> . <целое2в>) . . . [ ' (<целое!6н> . <иелое16в>) ] . . . ]
vl ax -тпа ke - var ian t
[<арг>] [<целое>;
< вариант >
Создание безопасного массива (размерность не более 16) Создание варианта
Глава 2. Visual LISP
131
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vlax -map-collect ion
< VLA> ' < фу нкци я >
Применение функции ко всем объектам семейства
vl ax -method applicable-p
<нетод>. где <метод> — <строка> или <симаол>
<лог>
Проверка поддержки объектом метода
vlax-objectreleased-p
<лог>
Проверка, освобожден ли обьект в графической базе
vl ax -pr oduct - key
"
<строка>
Путь к разделу системы AutoCAD а реестре Window;
vl a x-p rope r t у available-p
<СЕОЙСТВО> [<лог>], где <лог> <свойство> — <строка> или '<симвоп>
Проверка наличия у объекта требуемого свойства и возможности модификации
vlax-put -p rope r t у
<свойствс> <арг>, где <свойство> — <строка> или
Изменение значения свойства VLA-обьекта
'<СННЕОЛ>
nil или
сообщение об ошибке
Назначение
vlax- re aden able d-p
<лог>
Проверка читаемости объекта
vlax-release-ob j ect
-
Освобождение объекта
v 1 ax - r emo ve - crnd
<строка> 1ЛЛИ Т
<ЛОГ>
vlax- safearray- fill
<бм> <список>
<Сн>
Сохранение данных в массиве
vlax-safearray-get-
<бм>
<целое>
Получение размерности массива
vlax-safearray-geteleraent
<бм> <иелое!> [<иелое2> ... !<целое1б>] ... ]
Значение
Чтение элемента массива (число размерностей не более 16)
vlax-safearray-get1 -bound
<бм> <иелое>
<целое> или сообщение об ошибке
Нижняя граница данной размерности массива
ulax-safearr ay-get u -bound
<бм> <иелое>
<целое> или сообщение об ошибке
Верхняя граница данной размерности массива
dim
Удаление команды или группы команд
Часть I. Разработка приложений
132
Таблица 2.1 (продолжение) Возвращаемое значение
Функция
Аргументы
vlax-safeariray-pu.telement
<бм> <целое!> [<цс.юе2> . . . (<целоеИ>] . . . ] <зрг>
<арг>
Присвоение значения элементу массива
vlax-sa fear ray-type
<бм>
<иелое>
Определение типа данных массива
vlaxsafeariay->list
<бм>
<список>
Вывод элементов массива в список
vlax-tmatrix
<бм>
<варнант>
Представление матрицы преобразования типа 4»4. используемой в операциях AcliveX
vlax-typeinfoavallable-p
<лог>
Проверка наличия информации из библиотеки типов
vl ax - va r i an t -crian ge type
<вариант> <цр^се>
<вариант>
Изменение типа варианта
vlax -va r 1 ant - 1 yp e
<вариант>
<иелое>
Тип данных варианта
vl ax - va rl an t - va lue
<ваоиант>
Значение (зависит от типа)
Значение варианта
vlax-vlaDb j ect->ename
<прим>
Преобразование VLA-объекта в примитив AutoCAD
vlax-write-enabled-p
<лог>
Проверкавоэможности изменения обьекта
vlisp -compile
<символ> <стрска!'' (<строка2>]
<лог>
Компиляция LSP-файла в FAS -файл
vlr-acdb-reactoi
<арг> <списп?;>
Создание реактора операций добавления, изменения и удаления объектов
vlr-add
Восстановление отключенного реактора
vl r-added-p
<ЛО1>>
Назначение
Проверка включения реактора
Глава 2. Visual LISP
Таблица 2.1 (продолжение) Возвращаемое значение
Функция
Аргументы
vlr-beep- reaction
[ [ . . . [| ... ]]
nil
Выдача звукового сигнала (как функция действия;
vl r- command -reactor
<арг> <спысок>
Создание реактора команд
vlr-cur rentreact ion-name
-
<символ>
Имя события, выэаави.его реактор
vlr-data
Данные
Получениеданны* приложения, связанных с реактором
vlt-data-set
<арг>
Перезапись данных приложения, связанных с реактором
"1 r -de epclone reactor
<арг> <список>
Создание реактора для операций клонирования объек-он
vlr-docmanagerreactor
<арг> <сшсок>
Создание реактора рисунков как документов
vlr-dwg- reactor
<арг> <список>
Создание реактора для событий, связанных с сохранением, открытием, закрытием рисунков
vlr-cixf -reactor
<арг> <список>
Создание реактора, связанного с чтением или записью DXF-файлов
vlr-edi tor- reactor
<арг> < список >
Создание реактора редактирования
vlr-insert- reactor
<арг> <список>
Создание реактора операций вставки блоков
vlr-1 inker- reactor
<арг> <спнс:ок>
Создание реактора операций загрузки или выгрузки ARX-приложений
Назначение
Часть!. Разработка приложений
134
Таблица 2.1 (продолжение) Функция
Аргументы
Возвращаемое значение
vlr-lisp- reactor
<арг> <списох>
Создание реактора ввода LISP-выражений
ul i -mi s eel 1 ane ou s -
<арг> <список>
Создание реактора прочих событий
vlr-mouse-reactoc
<арг> <список>
Создание реактора операций с мышью
vlr-notification
<снмвол>
Проверка активности реактора в зависимости от пространства имен
ulr-object- reactor
<список!> <арг> <список2>
Создание реактора объектов
vlr -owner-add
Добавление объекта к списку владельцев реактора объектов
vlr - owne r - r emo ve
Удаление объекта из списка владельцев реактора объектов
vlr-owners
<список>
Получение списка владельцев реактора объектов
vlr-pecs
,
vlr-pers-liSt
[]
vlr-pers-p
, nil
Проверка постоянное™ режима реактора
vlr-pers-release
,
Перевод реактора во временный режим
vlr-reaction~nair.es
<синвол>
<список>
reactor
nil
Назначение
Перевод реактора в постоянный режим Получение списка постоянных реакторов
<СПИСОК>
nil
Список всех возможных событий для данного типа реакторов
Глава 2. Visual LISP
135
Таблица 2.1 (продолжение) Возвращавмае значение "«напенив
Функция
Аргументы
vlr-reaction-set
<СИМЕОЛ> '<функция>
vlr-reactions
vlr-reactors
[<символ!> [<символ2> . . . [< СИМВОЛЫ >]
Добавление или замена функции действия к реактору Список точечных пар событий и действий
<СГ1ИСОК>
...
<список>,
] ]
nil
Список существующих реакторов
Vl r -remove
,
vl r- remove -al 1
[<сиывол>]
<список>
vlr-set-notification
'<СИКБОЛ>
vlr-sysvar- reactor
<арг> <сгтисок>
Создание реактора, связанного с изменением значения системной переменной
vlr- toolbar- reactor
<арг> <список>
Создание реактора, связанного с изменением пиктограмм кнопок панелей инструментов
vlr-trace-reaction
1<арг1> [<арг2> . . . [<аргы>) . .. ] ]
nil
Печать аргументов реактора в окне Trace (Трассировка)
vlr-type
nil
Отключение реактора Отключение реакторов определенного Luna Задание режима работы реактора, если его именное пространство не активно
<СИМВОЛ>
vlr-types
-
<список>
Список всех типов реакторов
vlr-undo-reactor
<арг> <список>
Создание реактора, связанного с отменой действий
vlr-wblock-reactor
<арг> <список>
Создание реактора, связанного с командой WBLOCK (ПБЛСЖ)
Тип реактора
736
Часть I. Разработка приложений Таблица 2.1 (окончание)
Функции
Аргументы
Возвращаемое значение
vl r -win dow- r e а с t or
<арг> <список>
Создание реактора, связанного с операциями изменения размеров окна AutoCAD
vl r-x ce f - г е ас t о г
<арг> <список>
Создание реактора, связанного с операциями над внешними ссылками
<список>
Параметры текущей конфигурации видовых экранов
vports
Назначение
wcmatch
<строка!> <стро:-;а2>
<лог>
Сравнение с образцом
while
<лог> <выраженке!> [<выражение2> . . . [<выражение^.-; ... ;
Значение последнего выражения
Цикл по условию
write -char
<целое> [<файл>]
< целое;-
Вывод символа
write-line
< с трока > [ < фс!Йл> ]
<с трока >
Вывод строки
xdroom
<прим>
<иелое>,
nil
Определение размера свободной памяти зоны расширенных данных
Kdsize
<список>
<целое>,
nil
Определение размеоа памяти, необходимого для добавления расширенных данных
zerop
<число>
<лог>
Проверка на нуль
Есть ряд функций, которые о п и с ы в а ю т дополнительные к о м а н д ы системы AutoCAD, но к этим командам вы не можете обратиться с помощью функций
command и vl-cmdf
граммы" этой главы).
(см. далее разд. "Выполнение команд AutoCAD из про-
Вместо вызова команды в профамме н у ж н о обращать-
ся К СООТВеТСТВуЮТЦеЙ L I S P - ф у Н К И И Н , Например
(c:3dsin)
ВМеСТО
{command
"3DSIN").
Такие функции приведены в табл. 2.2. В основном это функции, связанные с командами операций тонирования. Некоторые из них могут иметь разл и ч н ы е варианты аргументов.
• :?
Глава 2. Visual LISP
Таблица 2.2. Список основных функций с префиксом с: Функция
Аргументы
Возвращаемое значение
c-.3dsi.ri
[<целое!> [ < це лое 2 > <це ло е 3 > ] < строка >]
—
Импорт из 3D Studio (команда 3DSIN (ИМПОРТЗДС))
c:3dsout
[<набор> <целое!> <целое2> <иелоеЗ> <вещ> <строка>]
—
Экспорт в 3D Studio (команда 3DSOUT (ЭКСПОРТЗДС)!
~: align
Кнабор> <список!> <спнсо к2> <сп ис ок 3 > <спнсок4> <строка!> <строка2>]
<лог>
Выравнивание обьекта по двум точкам (команда ALIGN (ВЫРОВНЯТЬ)]
c:cal
^строка>
Результат вычисления выражения
Вычисление математического выражения
с: finish
[<строка>]
-
Загрузка материалов
с: fog
[<строка!> [<списск> Хве[ц1> [<ве[д2> [ [<вещ4> [<строка2>] ) ] ! 1 ] 1
—
Параметры тумана (команда FOG (ТУМАН)!
:: light
<с^срсжа> [<&р г уые нты> ]
Разные
Операции с источниками освещения (команда LIGHT (CBETl)
2:lsedit
< йр ryi^e нты>
c:lslib
<с-трска> <аргументь:>
Разные
Операции с библиотекой ландшафтов (команда LSLIB (ЛАНДБИБ])
c:lsnew
[<строка> <вещ> <список> <целое>]
—
Создание обьекта ландшафта (команда LSNEWUlAHflHOBbltf))
~:matlib
[<строка!> <строка2> [<строкаЗ>] ]
—
Работа с библиотекой материалов (команда MATLIB (5ИБМАТ))
c:mirror3d
[<на£юр> <аргуненты>]
c: render
< с трока > или <список!> <список2>
Назначение
Редактирование элемента ландшафта (команда LSEDIT (ЛАНДРЕД))
Симметрирование объектов относительно плоскости (команда MIRROR3D (3-3 ЕР КАЛ 0)1 —
Операция тонирования (команда RENDER (ТОНИРОВАНИЕ))
Часть I. Разработка приложений
13S
Таблица 2.2 (окончание) Функция
Аргументы
Возвращаемое значение
с : render update
<строка>
—
с : replay
[<строка!> <строка2> 1<целое1> <целое2> <целоеЗ> <целое4>] ]
с: cfileopt
<строка> <целое!> <це::ое2> <вещ> <аррументы>
с: mat
[<строка> <эргументы>]
c:rotate3d
[<аргументы>]
<лог>
Поворот в пространстве (команда ROTATE3D (Э-ПО ВЕРНУТЬ»
c:rpref
[<строка!> <строка2> [<СтрокаЗ>] )
Разные
Настройка тонирования (команда RPREF (РЕЖИМТОН))
с : saveirag
[<строка!> <стро.ча2> [<строкаЗ>] [<целое!> <целое2> е:целоеЗ> <целое4>1 [<строка4>] ]
Разные
Сохранение тонированного изображения (команда SAVEIMG Ji^rwpmrtr^ ЮилгП JWUJ/
с: scene
[<строка!> <строка2> [<строкаЗ> [<аргумент>] ] ]
Разные
Операции со сценами, используемыми в тонировании (команда SCENE (СЦЕНА))
z : setuv
[<строка> <аргументы>]
Разные
Наложение текстуры (команда SETLJV (НАЛТЕК))
с : showraat
1<аргумент>]
Разные
Вывод данных о материале (команда SHOWMAT 1ПОКМАТ))
c:solprof
[<аргументы>]
с : stats
[<аргумент>)
Назначение Регенерирование вспомогательного файла Повторный просмотр растрового файла с тонированным изображением
-
Подготовка тонирования Операции с материалами, используемыми а тонировании (команда RMAT (МАТЕРИАЛ))
Вывод данных о материале (команда SOLPROF (Т-ПРОФИЛЬ)] Разные
Вывод данных о тонировании (команда STATS (СТАТ))
139
Глава 2. Visual LISP
Недокументированные функции В табл. 2.1 и 2.2 был приведен перечень основных функций языка LISP. Правда, были перечислены не все функции, а только те, которые официально описаны в документации на систему AutoCAD. Есть еще большое количество функций, о существовании которых либо совсем ничего не сообщается, либо упоминается вскользь (как, например, функции доступа к свойствам объектов), а также другие функции, которые постоянно загружаются ядром системы AutoCAD (например, посредством загрузки файла acad2004doc.lsp), имена которых доступны при анализе оперативной памяти. Попробуем привести имена таких функций. Они, может быть, и не столь необходимы, как основные функции, но тоже могут понадобиться читателю. Кроме того, функции, перечисленные в табл. 2.3—2.6. нельзя переопределять в своих приложениях, поскольку загрузка функции, одноименной с функцией ядра системы AutoCAD, может привести к трудно диагностируемым сбоям с серьезными последствиями, В табл. 2.3 собраны функции, которые реализуют методы технологии ActiveX (см. далее разд. "ActiveX" настоящей главы). Все эти функции имеют префиксы via-, а соответствующие им методы приводятся в таблице с использованием тех регистров символов, которых требует ObjectARX. В данном издании в табл. 2.3 добавлен столбец с перечнем аргументов, которые нужно задавать при вызове функций методов. Таблица 2.3. Список функций, реализующих методы ActiveX Функция
Метод
Аргументы
vla-activate
Activate
via -add
Add
<вариант> <строка>
vla-add3dface
AddBDFace
<вариант!> <вариант2> <вариантЗ> <Бариант4>
vla-add3dmesh
Add3DMesh
<целое!> <целое2> <вари£шт>
vla-add3dpoly
BddSDPoly
<вариант>
vla-addarc
AddArc
<вариэнт> <вегд!> <вещ2> <вещЗ>
vla-addattribute
AddAt tribute
<вещ> <целое> -СсФрокаГ-1 <Бариант> <строка2> <строкаЗ>
via-addbox
AddBox
<вариант> <вещ!> <зеш2> <вещЗ>
vla-addcircle
AddCircle
<вариакт> <Еещ>
Часть /. Разработка приложений Таблица 2.3 (продолжение)
Функция
Метод
Аргументы
vie -add cone
Addc one
<вариант> <вещ!> <аещ2>
vla-addcustominfo
BddCus t oral n f о
<стро?^|1> <строка2>
vla-addcustomobject
AddCusr.omGbi ei:t
<строка>
via - addcy 1 i n de r
AddCylinder
<вариант:> <веа1> <веш2>
vl a - addd з.гаЗро! nt an gul ar
AddDlm3 Point Angular
<вариант!:> <вариант2> <вариантЗ> < вариант 1 >
vl a- adddiraa 1 i gned
AddD iniAl i gne о
<вариант!> <варнант2> <вариантЗ>
vl a-adddirnang ul a r
AddDimAr. gu 1 a r
<вариант1> <вариант2> <вариантЗ> < вариант 4 >
vl a - adddimdi amet r i с
AddDimDi ame t r i с
<вариант!> <вариант2> <вещ>
vl a - add dimo r di nat e
AddDiraOrdir.ate
<вариант!> <вариант2> <целое>
vl a- addd irar a di a 1
AddDlmRadial
<вариант1> <вариант2> <вещ>
vl a - adda imr ot a t e d
AddDimRetat^d
<вариант1> <вариант2> <вариактЗ> <вец>
vla-addellipse
flddEllipse
<вариант!> <вариант2> <вец>
vla-addellipticalcone
AddEllipcicalCone
<вариант> <всц!> <веш2> <вещЗ>
vla-addellipticalcylinder AddEilif cicalCylinder vl a - adds xt rude d s ol i d
AddExtrudedSclld
<вариант> <вещ!> <вещ2> <вещЗ> <всщ!> <веш2>
AddExtrudedSclidAlongPath vlaaddextrudedsolidalongpath
<У1Д1>
vla-addfitpoint
AddFit Point
<целое> <варнант>
vla-addhatch
AddHatch
<целое!> <строка> <цепое-лог> |<целое2>^
vl. a - addi t ems
Addl t ems
< вариант >
vla-addleader
AddLeadcr
<вариант> <У1Л2> <иелое>
via- addlightwe ightpolyllne AddLight Height Pol у line
<УЬД> <вариант>
vla-addline
<У1Д> < вариант 1> <вариант>2>
SddLine
Глава 2. Visual LISP
- 'I
Таблица 2.3 (продолжение) Функция
Метод
Аргументы
vl a - acidmenu item
AddMenuItem
<строка!> <<::трока2>
vla-addminsertblock
AddMInsertBlock
<вариант!> <строка> <вещ!> <веш2> <Еещ1> <вещ4> <целое!> <целое2> <вещ5> <вещ6> [<вариант2>]
vla-addmline
AddMLine
<вариант>
vla-addintext
AddMText
<вариа!£т> <вещ> <строка>
vla-addobject
AddObject
<вариант> •;строка!> <строка2>
vla-addpoint
Add Point
<вариант>
vla-addpolyf acemesh
AddPolyfaceMesh
<вариант!> <вариант2>
vla-addpolyline
AddPolyline
<вариинт>
via - a ddp v i ewpo r t
AddP Viewport
<вариант> <вещ!> <вещ2>
vla-addraster
AddRastei:
<строка> <еариант> <вещ!> <веш2>
vla-addray
AddRay
<вариант!> =варлант2>
vla-addregion
ftddRegion
<вариант>
vla-addrevolvedsolid
AddRevolvedSolid
<вариант!> <вэриант2> <вещ>
vla-addseparator
AddSeparator
<вариант>
vla-addshape
AddShape
<строка> <вариаит> <вещ!> <вещ2>
vla-addsolid
AddSolid
<вариант!> <вариант2> < вариант 3> <варнант4>
via- add sphere
AddSphe re
<вариант> <зещ->
vla-addspline
Add St3 line
vl a - add subme nu
AddSubMenu
<варпант-> <строка>
vla-addtext
AddText
< строка:» <варнант> <зещ>
vla-addtoleraiice
AddTole ranee
<вариант!> < вариант 2 >
<В313И£!ИТ1>
<вариант2> <вариант13>
Часть I, Разработка приложений
142
Таблица 2.3 (продолжение) Функция
[Метод
Аргументы
vl a - addt о olba rbut ton
AddTooloarEuttDn
< вариант 1> <строка!> <сгрока2> <строкаЗ> (<вариант2>^
vla-addtorus
AddTorus
<вариант> <веиЗ> <вещ2>
vla-addtrace
AddTrace
<вариант>
vla-addvertex
Add Vertex
<целое> <вариант>
vla-addwedge
AddWedge
<вариант> <веа!> <вещ2> <вещЗ>
vla-addxline
AddXline
< вариант 1> <вариант2>
vla-addxrecord
AddXRecord
<строка>
vl a - angl e f г oroxax i s
AngleFrornXAxis
<вариакт> <веи!> <веш2>
vla-angletoreal
AngleTcReal
<строка> <целое> <вещ>
vla-angletostring
AngleToString
<вещ> <целое!> <целое2>
vl a - appe ndinne E 1 oop
AppendlnnerLooo
<вариант>
vl a - appe nd i t ems
AppendlteTT^
<вариант>
via -appendouter loop
AppendOuterLoop
< вари ант >
vl a - appe ndve rtex
AppendVertex
< вари ант >
vla-arraypolar
ArrayPolar
<целое> <вещ> <вариант>
ula-artayrect angular
ArrayRecLarigalar
<целое!> <целое2> <целоеЗ> <вещ!> <вен2> <вещЗ>
vla-
AttachExternalRef erence
<стрОка!> <строка2> <вариант1> <вещ!> <веш2> <вещЗ> <вещ4> <целое-лог> [<вариант2>]
vla-actachtoolbartoflyout
AttachToolbarToFlyoat
<сгрока!> <строка2>
ula-suditinfo
Auditlnfo
<целое-лог>
via -bind
attacheKte rnal ie f er ence
Bind
< целое- лог >
via -boolean
Boolean
<целое>
vla-checkinterf erence
Checklnterf erence
<целое-лог>
vl a- clear
Clear
ula-clipboundary
Cl i p Bou nda г у
<вариант>
vla-close
Close
[<целое-лог> (<строка>1 ]
via -copy
Copy
Глава 2. Visual LISP
143 Таблица 2.3 (продолжение/
Функция
Метод
Аргументы
via- сор у С г от
Copy From
via -copy objects
CopyOtnects
<вариант1> <вариант2> <вариар.тЭ>
vla-copyprofile
Copy Prof lie
<строка!> < с трока 2 >
vla-createentry
CieateEntry
<строка!> ^строка2> <иелое-лог!> <целое-лог2>
vla-createtypedarray
SreateTi'pedArray
<вариант> <целое> [<арг!> [<арг2> . . . [<аргЫ>] ... ]]
vla-delete
Delete
vla-deleteconfiguration
Dele teConf igurat ion
<строка>
vla-deletefitpoint
DeleteFitPoint
vla-deleteprofile
DeleteProfile
< с трока >
via- detach
Detach
vla-display
Display
<7LA> <целое-лог>
vla-displayplotpreview
Display PlctPre view
<целое>
vla-distancetoceal
DistanceToReal
<стрОка> <цег,ое>
via -dock
Deck
<иелое>
vl a - e le va te о rde r
ElevateOrrder
<иелое>
vl a -encluridoma r k
EndUndoMark
vla-erase
Erase
vla-eval
Eval
<:VLA> <строка>
vla-evaluate
Evaluate
vla-explode
Explode
via -export
Export
•;VLA1> <строка!> <строка2> []
v 1 a - expo r tp ro f ile
Export Pro f i l e
< строка 2 >
via- float
Float
<целое!> <целое2> <целосЗ>
vla-getacadstate
GetAcadState
vla-getallprofilenames
GetAllProfileNaines
<варкант>
vl a- ge tangle
Get Angle
<вариан^1> <вариант2>
<целое>
Часть I. Разработка приложений
144
Таблица 2.3 (продолжение) Функция
Метод
Аргументы
vla-getattributes
Get At tributes
vla-getbitmaps
Get Bitmaps
<строка!> <строка2>
vl a - g e tboundi ngbcx
Get Bound ingBox
<вариант!> <вариант2>
vla-getbulge
GetEulce
^VLfi> <целое>
ulag e t canon д. са Irae di aname s
Get Canonic a IMediaNames
vla-getconstantattributes GetConstantSttributes
vl a - ge t con t r olpoin t
GetControl Point
tVLA> <целое>
vla-getcorner
GetCorner
^VLA> <вариант!> •:вариант2>
vl a -g e t cu s t oroby inde x
GetCuStomBy Index
o/Lft> <целое> <строка!> •1строка2>
vla-getcustombykey
GetCustcnByKev
•:VIA> < строка 1> <: строка 2 >
vla-getcustomscale
GetCu5tor-.5cale
<вещ!> <вещ2>
vla-getdi stance
GetDi stance
f.viA> [<вариант>1> [<вариаш>2>] ]
vla-getentity
Get Entity
-;VLA1> •:вариант1> <вариант2>
vlagetextensiondictionary
GetExtensionDictioriary
-;VLA>
vla-getfitpoint
Get Fit Point
<целое>
via -get font
Get Font
-i'JLA> < строка> <целое-лог> <целое-лог>
ula-getgxidspacing
GetGriciSpacinc
<;VLA> <вещ!> <веш2>
ula-getinput
Getlnput
<:VLA>
vla-getintegei
Getlnteger
<варианг>
vla-getinterfaceobject
GetlnterfaceObiect
<строка>
vla-getinvisibleedge
Getlnvis.i bleEktge
<целое>
vl a - ge t ke ywo r d
Get Keyword
<вариант>
vl a - ge t 1 oo a 1 emedi aname
Ge t Loc a 1 etfed i a 1 lame
<строка:>
vla-getloopat
Get Loop At
<целое> < варианта