Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Создание САПР на базе продуктов Autodesk


Информационный Канал Subscribe.Ru


Информационная рассылка сайта [CadDev.Narod.Ru]

(с) 2004, Калугин Сергей Сергеевич

В сегодняшней рассылке рассмотрим работу с объектами настрой AutoCAD 2004.

НАСТРОЙКИ AUTOCAD


Объект Preferences – набор объектов (рис. 1), каждый из которых связан с закладками диалогового окна настроек (Options Dialog Box). Вместе, эти объекты обеспечивают доступ ко всем сохраненным в реестре установкам диалогового окна настроек. Настройки чертежа содержатся в объекте DatabasePreferences. Можно также устанавливать и изменять опции (и системные переменные, которые не являются частью диалогового окна настроек) методами SetVariable и GetVariable. Настройки и установки будут рассмотрены более подробно дальше.



Рис. 1. Объект Preferences.

Доступ к иерархии объектов
Для получения доступа к основному объекту AutoCAD Application используя язык Object Pascal (Delphi) необходимо выполнить следующий код:

Листинг 1
procedure StartAutoCAD;
var
   AcadApplication: OleVariant;

begin
   AcadApplication := CreateOleObject(‘AutoCAD.Application.16’);
   // Код, необходимый для решения поставленной задачи
end;

Этот основной объект позволяет получить доступ ко всем объектам их свойствам и методам иерархии AutoCAD.
Для доступа к документу AutoCAD необходимо выполнить код:

Листинг 2
var
   ...
   AcadDocument: OleVariant;
begin
   ...
   AcadDocument := AcadApplication.ActiveDocument;
   ...
end;

Создать и получить доступ к документу AutoCAD, не инициализируя сам AutoCAD можно следующим образом:

Листинг 3
procedure CreateAutoCADDocument;
var
   AcadDocument: OleVariant;
begin
   AcadDocument := CreateOleObject(‘AutoCAD.Drawing.16’);

   // Выполнение необходимой задачи

   AcadDocument.Save; // Сохранение документа
   AcadDocument.Application.Quit; //Завершение работы и выход из AutoCAD
end;

УПРАВЛЕНИЕ СРЕДОЙ ОКРУЖЕНИЯ AUTOCAD

Рассмотрим основные принципы разработки приложений для AutoCAD. Ниже представлен материал, описывающий как управлять и эффективно работать в среде окружения AutoCAD.

Установка настроек AutoCAD

Существует девять объектов, предоставляющие настройки, каждый из которых представляет закладку диалогового окна Настройки (Options Dialog Box) и обеспечивают доступ ко всем настройкам, сохраненным в реестре. Можно изменять много настроек AutoCAD, используя свойства этих объектов. Это объекты:

  • PreferencesDisplay
  • PreferencesDrafting
  • PreferencesFiles
  • PreferencesOpenSave
  • PreferencesOutput
  • PreferencesProfiles
  • PreferencesSelection
  • PreferencesSystem
  • PreferencesUser

Эти объекты доступны через объект Preferences. Для получения доступа к объекту Preferences, используйте объект Application.

Листинг 4
var
   AcadDocument, AcadPreferences: OleVariant;
begin
   AcadDocument := CreateOleObject(‘AutoCAD.Drawing.16’);
   AcadPreferences := AcadDocument.Application.Preferences;

  // Выполнение необходимой задачи
end;

Можно получить доступ к любому специальному объекту такому как Дисплей, Вычерчивание, Файлы, Открыть/Сохранить, Вывод, Конфигурации, Выбор, Система и Пользовательские свойства (Display, Drafting, Files, OpenSave, Output, Profile, Selection, System, and User properties), используя объект Preferences.

Настройки конфигурации (PreferencesProfiles)

Рассмотрим объект PreferencesProfiles – объект, который содержит все настройки закладки Profiles (Конфигурации) диалогового окна Options (Настройки). Доступ к этому объекту осуществляется через объект Preferences.
Объект PreferencesProfiles имеет свойства:

ActiveProfile: WideSrting; {чтение/запись}
Application: IacadApplication;

Первое свойство возвращает или устанавливает имя текущей конфигурации, второе – ссылку на объект Application.
Методы объекта PreferencesProfiles:

procedure CopyProfile(const oldProfileName: WideString; const newProfileName: WideString);

Создает копию конфигурации.

procedure ExportProfile(const ProfileName: WideString; const RegFile: WideString);

Экспортирует указанную конфигурацию AutoCAD в файл с расширением .ARG.

procedure DeleteProfile(const ProfileName: WideString);

Удаляет указанную конфигурацию.

procedure GetAllProfileNames(out pNames: OleVariant);

Возвращает список названий всех конфигураций (массив строк).

procedure ImportProfile(const ProfileName: WideString; const RegFile: WideString; IncludePathInfo: WordBool);

Импортирует конфигурацию созданную другим пользователем. ProfileName указывает название конфигурации, RegFile указывает импортируемый файл с расширением .ARG, а WideString при установленном значении True записывает в регистр установки путей, при False – нет.

procedure RenameProfile(const origProfileName: WideString; const newProfileName: WideString);

Переименовывает конфигурацию.

procedure ResetProfile(const Profile: WideString);

Устанавливает значения параметров указанной конфигурации в значения по умолчанию.

Файловые настройки (PreferencesFiles)

Рассмотрим только одно из многочисленных свойств данного объетка.

MenuFile: WideString; {чтение/запись}

Свойство возвращает или устанавливает файл меню AutoCAD с расширениями MNU, MNS и MNC.

Пример использования объекта PreferencesProfiles

В качестве примера, рассмотрим подпрограмму, которая создает собственную конфигурацию AutoCAD и устанавливает в этой конфигурации новый файл меню, который обеспечивает создание меню AutoCAD с одним единственным пунктом "Выход".
Название конфигурации – CadDev1, название файла меню caddev1.mnu, название группы меню CADDEV1.

1. Создадим файл меню caddev1.mnu в папке support, где установлен AutoCAD. Файл будет иметь следующее содержание:

Листинг 5. Файл caddev1.mnu
//
// Пустой файл без меню и панелей инструментов
// Используется только для выполнения примера
//

***MENUGROUP=CADDEV1

***POP1
**FILE
ID_MnFILE [&Файл]
ID_APP_EXIT [В&ыход\tCtrl+Q]^C^C_quit

***TOOLBARS

***HELPSTRING
ID_MnFILE [Файл]
ID_APP_EXIT [Выход из AutoCAD]

2. Создадим подпрограмму, которая создает новую конфигурацию и устанавливает файл меню.

Листинг 6. Создание конфигурации
var
   AcadApplication, AcadPreferences: OleVariant;

procedure StartAutoCAD;
begin
   AcadApplication := CreateOleObject(‘AutoCAD.Application.16’);
end;

procedure CreateProfile;
var
   ActiveProfile: WideString;
begin
   // Получаем ссылку на конфигурации
   AcadPreferences := AcadApplication.Preferences;

  // Получаем имя текущей конфигурации
  ActiveProfile := AcadPreferences.Profiles.ActiveProfile;

  // Создаем новую конфигурацию на базе текущей и делаем ей активной
   AcadPreferences.Profiles.CopyProfile(ActiveProfile, 'CadDev1');
   AcadPreferences.Profiles.ActiveProfile := 'CadDev1';

  // Устанавливаем файл меню
   AcadPreferences.Files.MenuFile := 'caddev1.mnu';
end;


Исходный текст примера и файла меню можно скачать здесь.

 


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу


В избранное