Главная »Статьи »AutoCAD и Delphi »Параметры среды и документа
Preferences и DatabasePreferences

Свойства AcadPreferences и AcadDatabasePreferences объектов AcadApplication и AcadDocument соответственно предоставляют доступ к настройкам AutoCAD.

AcadPreferences определяет настройки среды, его свойства (Files, Display, OpenSave, Output, System, User, Drafting, Selection, Profiles) практически повторяют названия закладок диалога Options.

AcadDatabasePreferences определяет настройки текущего документа, которые в диалоге Options помечаются значком чертежа.

Доступ к указанным настройкам достаточно тривиален, надеюсь, все будет ясно из прилагающегося примера построения диалога, аналогичного AutoCAD-овскому диалогу Options:

Рассматривая построенный диалог, нетрудно заметить, что некоторых настроек не хватает. Например, нет флажка "Show Tooltips". Эта настройка управляется с помощью системной переменной TOOLTIPS. Системные переменные задают различные режимы рисования, размеры объектов, лимиты рисунка, управляют поведением рабочей среды, а также хранят информацию о текущем документе и конфигурации AutoCAD.

Системные переменные

Чтение и запись значений системных переменных осуществляется следующими методами AcadDocument:

function GetVariable(const Name: WideString): OleVariant;
procedure SetVariable(const Name: WideString; Value: OleVariant);

Пример чтения/записи переменной TOOLTIPS:

type
  TForm1 = class(TForm)
    . . .
    chbTooltips: TCheckBox;
    . . .
  public
    { Public declarations }
    procedure GetTooltips;
    procedure SetTooltips;
  end;
. . .
procedure TForm1.GetTooltips;
begin
  chbTooltips.Checked:= TOleEnum(Acad.ActiveDocument.GetVariable('TOOLTIPS')) = 1;
end;

procedure TForm1.SetTooltips;
begin
  Acad.ActiveDocument.SetVariable('TOOLTIPS', TOleEnum(chbTooltips.Checked));
end;

Аналогично управляется режим Ortho:

Acad.ActiveDocument.SetVariable('ORTHOMODE', 1);

Объектная привязка управляется переменной OSMODE. Это битовый флаг, являющийся суммой бит в соответствии с их весами:

Бит
Тип привязки
0
None
1
EndPoint
2
MidPoint
4
Center
8
Node
16
Quadrant
32
Intersection
64
Insertion
128
Perpendicular
256
Tangent
512
Narest
1024
Quick
2048
ApparentIntersection
4096
Extension
8192
Parallel

Значение 16383 соответствует установке всех привязок. Для управления состоянием привязка включена/выключена к значению OSMODE может добавляться 16384 (14-й бит). Если этот бит установлен — привязка выключена.

В прилагаемом примере сконструирован диалог "Drafting Settings" ("Режимы рисования"), позволяющий прочесть и установить соответствующие параметры:

Параметры: Name — имя шаблона; FileName — имя файла шаблонов линий, из которого указанный шаблон должен быть загружен. Пример использования:

 

К статье прилагаются примеры на Delphi 7.


Внимание! Запрещается воспроизведение данной статьи или ее части без согласования с автором. Если вы желаете разместить эту статью на своем сайте или издать в печатном виде, свяжитесь с автором.
Автор статьи: Вершинин И.В.

 
Используются технологии uCoz