My First AutoCAD Plug-in Overview

Autodesk Support

Mar 31, 2023


My First AutoCAD Plug-in Overview>> Lesson 1 >> Lesson 2 >> Lesson 3 >> Lesson 4 >> Lesson 5 >> Lesson 6 >> Lesson 7 >> Lesson 8

“My First Plug-in” is a self-paced tutorial guide for a smooth introduction to the programming world. This is a “one-stop shop” learning path for users who know Autodesk products but are absolutely new to programming and are thinking about taking the plunge. In this guide, you will be working with the AutoCAD .NET Application Programming Interface (API) and the Visual Basic .NET programming language to create a ‘plug-in’ – a module that loads into AutoCAD to extend its functionality. Once you have finished this tutorial, you will understand the basics of .NET programming and how they are applied to AutoCAD.

Product: AutoCAD*;
Programming Language: Visual Basic .NET
Application Programming Interface (API): AutoCAD .NET API

*This guide was created for ‘vanilla’ AutoCAD 2024 However, all steps in this guide are applicable to any AutoCAD ‘vertical’ product (AutoCAD Architecture, AutoCAD Civil 3D, etc.). The AutoCAD .NET API is common to all these products; each vertical adds its own specialized API on top of the AutoCAD .NET API. The archived code that is attached will work in AutoCAD 2020, 2021, 2023 and 2024.

Overview

There are many resources available on the web for you to learn about the AutoCAD .NET API. However, these resources tend to be designed for people who already know programming. This guide is different: it assumes no previous programming knowledge and yet helps you build your first plug-in quickly, without swamping you with details. You’ll have a working application within an hour of starting this material, irrespective of your current level of programming expertise.

The guide will start by reviewing the benefits of customizing Autodesk software before moving on to lessons covering the use of the AutoCAD .NET API. The lessons will start by building a working plug-in before covering more detailed explanations of the underlying principles and further developing the plug-in’s functionality.

The Benefits of Customizing AutoCAD

Time is money! The more efficiently you can perform routine operations, the more competitive you are in today’s economy. This is a key benefit of customization: tailoring the software you use on a daily basis to streamline or automate your workflows. Autodesk provides powerful APIs and SDKs (Software Development Kits) that allow you to gain greater value from your investment in Autodesk software by tailoring it to the needs of your business - customizing the product’s existing features or adding entirely new ones.

AutoCAD has four different APIs – .NET, LISP, ActiveX and ObjectARX (C++). This tutorial uses .NET because it offers the most powerful and modern programming environment - combining the very comprehensive AutoCAD .NET API with the most modern programming tools (the Microsoft .NET Framework and Microsoft Visual Studio). .NET gives you access to any of the .NET compliant programming languages (Visual Basic .NET, C#, F#, etc.) to develop plug-ins. While each language has its own relative benefits, Visual Basic .NET is the natural choice for beginners: it is the easiest to learn and use; it is the most human readable; and (like any other .NET language) it gives you complete access to the power of the underlying Microsoft .NET Framework. As you become comfortable with the content of this guide - and more proficient with Visual Basic .NET - you’ll be able to move on to solving more complex problems with the language.

Programming can be very rewarding. We hope you feel that way too after completing these lessons. Have fun!

Summary of the Plug-in

“My First Plug-in” implements a command that allows you to select block inserts in your drawing with attributes that you wish to keep parallel to the WCS x-axis regardless of the block insert’s rotation. I.e. the block’s attributes always remain horizontal in the WCS.

Keeping annotation text horizontal for the reader is a common requirement, and this simple plug-in makes it so easy. The finished plug-in can easily be extended to cover other annotation objects, such as Text and Mtext; and to display text always horizontal to the view, not just the WCS.

View Larger

The Complete Plug-in 
This video demonstrates the final plug-in you will be creating in Lesson 6 of this “My First Plug-in” guide.

Software to Install Prior to Starting

  • AutoCAD
    Or any other AutoCAD based product. This guide is applicable for all AutoCAD based products. Please replace the text '20xx' to the product version that you are using throughout the guide.
  • Microsoft® Visual Studio® Community This tutorial will use Visual Basic Express, but you can also use Visual Studio. Some user interface elements may differ between Visual Studio versions
  • The ObjectARX SDK
    The ObjectARX SDK includes documentation for the AutoCAD .NET API (also referred to as the Managed API), and some important files we must reference from our Visual Studio project. It also includes a number of sample .NET projects. (The SDK contains documentation and files for both the ObjectARX (C++) API and the .NET API. Don’t let all the C++ documentation worry you - .NET is a lot easier).
  • The AutoCAD .NET Wizards
    The Wizards are simple templates you can use to quickly create new AutoCAD .NET (Visual Basic or C#) projects. Importantly for Visual Basic Express users, they setup the project to allow you to launch AutoCAD from your debugger – something that isn’t possible through the Visual Studio Express user interface.

Summary of the Lessons

Create your very first basic AutoCAD plug-in for keeping block attributes horizontal. In this first version of the plug-in, the behavior of every block in the drawing is modified in the same way. You’ll add code later to allow you to select which blocks exhibit this changed behavior and which keep the standard AutoCAD behavior.

Look more closely at what happens when you execute the plug-in code; explore the Visual Basic Express development environment; and learn how to step through code in the debugger.

Take your first in-depth look at the AutoCAD .NET API. You’ll spend time looking at the Visual Basic .NET code you typed into the plug-in’s project in Lesson 1, examining each of the lines of code in turn. Additionally, you’ll learn about some basic programming concepts, such as Object-Oriented Programming, classes, methods, variable declarations, creating class objects and properties.

Learn how to use the Visual Studio debugger to step through your code line-by-line to follow the program execution; and to watch the values of variables as they are changed by your code.

Extend the plug-in to ask the user for input – selecting which blocks your changed behavior will be applied to. You will also learn about uniquely identify an object in a drawing using Handles and ObjectIds.

Complete and improve the plug-in’s functionality by extending it to allow AutoCAD to store data in the DWG file - so your plug-in remembers which blocks you selected even when a drawing is reopened after being saved. You will also learn how to use loops and conditional statements.

Information on additional resources to continue learning the AutoCAD .NET API, including help-files, documentation, samples and other tutorials.

Finish off the tutorial by studying a (slightly more complicated) bonus plug-in that extends the functionality of the plug-in you developed to provide full ‘billboarding’ behavior for block attributes.

My First AutoCAD Plug-in Overview>> Lesson 1 >> Lesson 2 >> Lesson 3 >> Lesson 4 >> Lesson 5 >> Lesson 6 >> Lesson 7 >> Lesson 8



Was this information helpful?


Need help? Ask the Autodesk Assistant!

The Assistant can help you find answers or contact an agent.


What level of support do you have?

Different subscription plans provide distinct categories of support. Find out the level of support for your plan.

View levels of support