If you have ever asked "Should we write this AutoCAD tool in LISP or C#?", you are not alone. It is one of the most common questions we hear from engineering managers and CAD administrators. The honest answer is: it depends on what the tool must do, who will maintain it and how long it needs to live.
Below we compare the main AutoCAD programming interfaces, show short examples and finish with a simple decision guide.
The AutoCAD API options at a glance
| API | Language | Best for | Watch out for |
|---|---|---|---|
| AutoLISP / Visual LISP | LISP | Quick drafting helpers, small routines, CAD admin scripts | Limited UI, harder to maintain at scale |
| .NET API | C#, VB.NET | Most professional plugins, rich UI, database and web integration | Needs full AutoCAD (not LT), version-specific builds |
| ObjectARX | C++ | Maximum performance, custom objects, deep integration | Steeper learning curve, strict compiler requirements per release |
| VBA / ActiveX | VBA | Legacy macros | Separate download, legacy technology; migrate to .NET |
| APS Design Automation | .NET / LISP / scripts in the cloud | Server-side DWG generation and processing from web apps | Cloud usage costs, no interactive UI |
AutoLISP: fast and simple
AutoLISP has been part of AutoCAD since the 1980s and is still extremely useful. Many companies have large LISP libraries written by their own CAD managers. It is ideal for small commands that automate drafting steps, and since AutoCAD LT 2024 it even runs in LT.
(defun c:COUNTBLK (/ ss)
(if (setq ss (ssget '((0 . "INSERT"))))
(princ (strcat "\nBlocks selected: " (itoa (sslength ss))))
)
(princ)
)
Choose AutoLISP when the task is small, mostly drafting-related, and your team already knows LISP. Avoid it for large applications with complex UI, database access or web integration.
.NET API: the modern default
The AutoCAD .NET API lets you write plugins in C# or VB.NET with full access to the drawing database, events, jigs, overrules and modern UI through WPF. You also get the whole .NET ecosystem: SQL, Excel, REST APIs, JSON and logging. Since AutoCAD 2025 the API runs on .NET 8, so plugins built for earlier releases on .NET Framework need to be retargeted.
[CommandMethod("EM_COUNTBLK")]
public void CountBlocks()
{
var doc = Application.DocumentManager.MdiActiveDocument;
var filter = new SelectionFilter(new[] { new TypedValue(0, "INSERT") });
var res = doc.Editor.GetSelection(filter);
if (res.Status == PromptStatus.OK)
doc.Editor.WriteMessage($"\nBlocks selected: {res.Value.Count}");
}
Choose .NET when you need a professional plugin with dialogs or palettes, connections to ERP or databases, or long-term maintainability. For most of our clients' projects, .NET is the right answer.
ObjectARX: maximum power
ObjectARX is AutoCAD's native C++ SDK. It is what Autodesk itself uses for many features. With ObjectARX you can create true custom entities with their own display and behaviour, handle huge datasets at maximum speed and integrate at the lowest level.
The trade-off is complexity. Each AutoCAD release family requires a specific Visual Studio toolset, and development takes more time. Choose ObjectARX when you need custom objects, very high performance or a commercial product with deep integration.
APS Design Automation: AutoCAD in the cloud
Autodesk Platform Services (formerly Forge) Design Automation runs a headless AutoCAD engine in the cloud. Your website or ERP sends parameters, AutoCAD generates or processes the DWG, and you receive DWG, DXF or PDF output. This is perfect for online configurators, automated shop drawings and batch processing without desktop licences on every PC.
A simple decision guide
- Is it a small drafting helper? Start with AutoLISP.
- Does it need a UI, database, Excel or web connection? Use .NET.
- Do you need custom objects or extreme performance? Use ObjectARX, often combined with .NET for UI.
- Should it run without a user or from a website? Use APS Design Automation.
- Do you have old VBA macros? Plan a migration to .NET.
In practice many solutions combine APIs: LISP for quick commands, .NET for the main application and Design Automation for web-driven generation.
Need help choosing?
ENGIMANDI is an official Autodesk Development Partner. We build AutoCAD plugins with all of these technologies and can review your requirement and recommend the best approach. See our AutoCAD API development and AutoCAD customization services, or call / WhatsApp +91-9677261485.