Установка параметров приложения

AutoCAD .NET API не предоставляет полного доступа к редактированию параметров приложения, как со стороны UI, доступных в окне _options. Доступ к этим параметрам осуществляется через ActiveX API для объекта, возвращаемого из свойства Preferences объекта Application.

AutoCAD.AcadPreferences pref = Application.Preferences as AutoCAD.AcadPreferences;

Получив COM-объект Preferences, можно получить доступ к девяти объектам, описываемых соответствующими интерфейсами, каждый из которых представляет собой вкладку диалогового окна Options. Эти объекты предоставляют доступ ко всем хранящимся в реестре параметрам диалогового окна «Параметры». С помощью свойств этих объектов можно настроить многие параметры AutoCAD. К этим объектам относятся (в скобках приведены свойства AutoCAD.AcadPreferences, по которым можно получить соответствующие объекты):

  • PreferencesDisplay (Display);
  • PreferencesDrafting (Drafting);
  • PreferencesFiles (Files);
  • PreferencesOpenSave (OpenSave);
  • PreferencesOutput (Output);
  • PreferencesProfiles (Profiles);
  • PreferencesSelection (Selection);
  • PreferencesSystem (System);
  • PreferencesUser (User);

Код ниже меняет цвет фона в пространстве модели на новый цвет

using Autodesk.AutoCAD.ApplicationServices;

[CommandMethod("EditColor")]
public static void EditColor()
{
    // Access the Preferences object
    AutoCAD.AcadApplication acApp = Application.AcadApplication as AutoCAD.AcadApplication;
    AutoCAD.AcadPreferences acPrefComObj = acApp.Preferences;
    //Edit GraphicsWinModelBackgrndColor
    AutoCAD.AcadPreferencesDisplay PreferencesDisplay = acPrefComObj.Display;
    PreferencesDisplay.GraphicsWinModelBackgrndColor = 182070;
}

Код ниже задает полный размер перекрестию курсора

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Interop;
 
[CommandMethod("PrefsSetCursor")]
public static void PrefsSetCursor()
{
    // This example sets the crosshairs for the drawing window
    // to full screen.
 
    // Access the Preferences object
    AcadPreferences acPrefComObj = (AcadPreferences)Application.Preferences;
 
    // Use the CursorSize property to set the size of the crosshairs
    acPrefComObj.Display.CursorSize = 100;
}