ADN Open CIS
Сообщество программистов Autodesk в СНГ

30/05/2013

Чтение и изменение настроек AutoCAD

Изменение настроек AutoCAD возможно при помощи прямого изменения реестра или с использованием ActiveX объекта Preferences. Заметим, что прямое изменение реестра не влияет на настройки текущей сессии AutoCAD. ActiveX объект Preferences экспортирует многие свои свойства через интерфейс, который можно использовать в VBA/VB.NET или в C++/MFC приложениях. Ниже пример кода (на VB и C++), который добавляет новый путь к существующим путям доступа к вспомогательным файлам AutoCAD.

Код - VB.NET: [Выделить]
  1. Public acadApp As Object ' AcadApplication
  2. Public acadPrefFiles As Object 'AcadPreferencesFiles
  3.  
  4. Sub f_preferences()
  5.     On Error Resume Next
  6.     Set acadApp = GetObject(, "AutoCAD.Application")
  7.     If Err Then
  8.        Err.Clear
  9.        Set acadApp = CreateObject("AutoCAD.Application")
  10.        If Err Then
  11.      MsgBox Err.Description & "  " & Err.Number
  12.      Exit Sub
  13.        End If
  14.     End If
  15.     On Error GoTo 0
  16.     acadApp.Visible = True
  17.     Set acadPrefFiles = acadApp.Preferences.Files
  18.   
  19.     Dim strCurrentSuppPath As String
  20.     ' устанавливаем временной переменной текущий путь
  21.     strCurrentSuppPath = acadPrefFiles.SupportPath  
  22.     ' Пример: Мы хотим добавить путь
  23.     ' "c:\test" к путям вспомогательных файлов
  24.     acadPrefFiles.SupportPath = strCurrentSuppPath & _
  25.         ";" & "c:\test"
  26. End Sub

 

Код - C++: [Выделить]
  1. void fSetSupportPath()
  2. {
  3.   IAcadApplicationPtr pApp = NULL;
  4.   IAcadPreferencesPtr pPref = NULL;
  5.   IAcadPreferencesFilesPtr pPrefFiles = NULL;
  6.  
  7.   pApp = acedGetAcadWinApp()->GetIDispatch(TRUE);
  8.   pPref = pApp->Preferences;
  9.  
  10.   pPrefFiles = pPref->Files;
  11.  
  12.   _bstr_t strOldPath;
  13.   strOldPath = pPrefFiles->GetSupportPath();
  14.  
  15.   // Печатаем старые пути
  16.   acutPrintf(_T("\nСтарые пути поддержки: %s"),
  17.     (ACHAR *)(_bstr_t)pPrefFiles->GetSupportPath());
  18.  
  19.   // Устанавливаем новые пути
  20.   pPrefFiles->PutSupportPath(strOldPath + _bstr_t(";c:\\temp"));
  21. }

 

Источник: http://adndevblog.typepad.com/autocad/2013/02/accessing-and-changing-the-autocad-preferences.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=91.0

Опубликовано 30.05.2013
Отредактировано 08.06.2013 в 02:46:11