The Application class is the root object for accessing the AutoCAD application and its services. It provides access to documents, UI elements, preferences, and system-level functionality.
Autodesk.AutoCAD.ApplicationServices
System.Object
└─ Application (static class)
| Property | Type | Description |
|---|---|---|
DocumentManager |
DocumentManager |
Gets the document manager |
MainWindow |
MainWindow |
Gets the main AutoCAD window |
MenuBar |
MenuBar |
Gets the menu bar |
MenuGroups |
MenuGroups |
Gets the menu groups collection |
Preferences |
PreferencesFiles |
Gets application preferences |
Publisher |
Publisher |
Gets the publisher object |
StatusBar |
StatusBar |
Gets the status bar |
UserConfigurationManager |
UserConfigurationManager |
Gets user configuration |
InfoCenter |
InfoCenter |
Gets the InfoCenter |
Version |
string |
Gets the AutoCAD version |
AcadApplication |
object |
Gets the COM application object |
| Method | Return Type | Description |
|---|---|---|
ShowAlertDialog(string) |
void |
Shows an alert dialog |
ShowModalDialog(Form) |
DialogResult |
Shows a modal dialog |
ShowModelessDialog(Form) |
void |
Shows a modeless dialog |
Idle |
event |
Fires when application is idle |
using Autodesk.AutoCAD.ApplicationServices;
// Get the document manager
DocumentManager docMgr = Application.DocumentManager;
// Get the active document
Document acDoc = docMgr.MdiActiveDocument;
// Get AutoCAD version
string version = Application.Version;
ed.WriteMessage($"\nAutoCAD Version: {version}");using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Windows;
// Get main window for dialog parent
MainWindow mainWin = Application.MainWindow;
// Use as parent for WPF dialogs
System.Windows.Window myDialog = new System.Windows.Window();
myDialog.Owner = mainWin;
myDialog.ShowDialog();using Autodesk.AutoCAD.ApplicationServices;
StatusBar statusBar = Application.StatusBar;
// Set status bar text
statusBar.SetMessageString("Processing...");
// Show progress
for (int i = 0; i <= 100; i += 10)
{
statusBar.SetProgressMeter($"Progress: {i}%");
System.Threading.Thread.Sleep(100);
}
statusBar.SetMessageString("Complete!");using Autodesk.AutoCAD.ApplicationServices;
PreferencesFiles prefs = Application.Preferences.Files;
// Get support paths
string supportPaths = prefs.SupportPath;
ed.WriteMessage($"\nSupport paths: {supportPaths}");
// Get template path
string templatePath = prefs.QNewTemplateFile;
ed.WriteMessage($"\nDefault template: {templatePath}");using Autodesk.AutoCAD.ApplicationServices;
public void RegisterIdleEvent()
{
Application.Idle += OnIdle;
}
private void OnIdle(object sender, EventArgs e)
{
// Code to run when AutoCAD is idle
// Be careful - this fires frequently!
}using Autodesk.AutoCAD.ApplicationServices;
Application.ShowAlertDialog("This is an alert message!");using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Windows;
MenuBar menuBar = Application.MenuBar;
// Access menu groups
MenuGroups menuGroups = Application.MenuGroups;
foreach (MenuGroup mg in menuGroups)
{
ed.WriteMessage($"\nMenu Group: {mg.Name}");
}Represents the main AutoCAD application window. Used as parent for dialogs.
Provides access to the AutoCAD menu bar for customization.
Collection of menu groups loaded in AutoCAD.
Access to all AutoCAD preferences and settings:
- Files preferences
- Display preferences
- Open and Save preferences
- System preferences
- User preferences
Handles batch plotting and publishing operations.
Controls the status bar display and progress indicators.
Manages user-specific configuration settings.
Access to the InfoCenter search and help system.
- DocumentManager - Manages open documents
- Document - Individual drawing document
- Database - Drawing database
- Editor - User interaction