马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
问题:
How to access and change the AutoCAD preferences?
解答:
This could be done by manipulating the AutoCAD registry directly, or by using
the AutoCAD Preferences ActiveX object. Note that if you make a change in the
registry directly, those changes will not affect the current running AutoCAD
session. However, the ActiveX Preferences object exports all the AutoCAD
preferences properties through an interface that you can use in VBA / VB or
C++ / MFC applications. Attached below is a sample code snippet (in VB and C++)
which appends a new path to the existing AutoCAD support path.
Sample code for VB
Public acadApp As Object
Public acadPref As Object
- Sub f_preferences()
- On Error Resume Next
- Set acadApp = GetObject(, "AutoCAD.Application")
- If Err Then
- Err.Clear
- Set acadApp = CreateObject("AutoCAD.Application")
- If Err Then
- MsgBox Err.Description & " " & Err.Number
- Exit Sub
- End If
- End If
- acadApp.Visible = True
- Set acadPref = acadApp.Preferences
- Dim strCurrentSuppPath As String
- strCurrentSuppPath = acadPref.SupportPath 'set the current path to temporary
- variable
- 'example: You want to add this "c:\test" path to the support path
- acadPref.SupportPath = strCurrentSuppPath & ";" & "c:\test"
- End Sub
Sample code for VC
- #import "acad.tlb" no_namespace
- void fSetSupportPath()
- {
- try
- {
- IAcadApplicationPtr pApp = NULL;
- IAcadPreferencesPtr pPref = NULL;
- IAcadPreferencesFilesPtr pPrefFiles = NULL;
- pApp = acedGetAcadWinApp()->GetIDispatch(TRUE);
- pPref = pApp->Preferences;
- pPrefFiles = pPref->Files;
- _bstr_t strOldPath;
- strOldPath = pPrefFiles->GetSupportPath();
- //print old support path
- acutPrintf("\nOld Support path: %s",(char *)(_bstr_t)pPrefFiles->GetSupportPath());
- //set the new support path
- pPrefFiles->PutSupportPath(strOldPath + _bstr_t(";c:\\test"));
- }
- catch(_com_error &es)
- {
- }
- }
-
|