17

I'm thinking about starting to develop a plugin for AutoCAD, but I have absolutely no knowledge of the field. How does the plugin system work? What are the licensing terms? What programming platforms are available?

I'd really appreciate if somebody could give me a primer, or, even better, link to some resources for the total beginner I am.

Thanks!

static_rtti
  • 53,760
  • 47
  • 136
  • 192

2 Answers2

27

Prior to AutoCAD 2014, there were three basic plugin types for AutoCAD:

  1. AutoLisp
  2. .Net
  3. ObjectARX

AutoCAD 2014 also provides:

4. Javascript API. You can find a link to the documentation at the AutoCAD DevBlog.

AutoLisp can be used with DIESEL scripts/macros to accomplish and automate basically anything that a user can due through the UI, and a maybe a little bit more, but .Net and ObjectARX are much more powerful, allowing you to create your own entities and more advanced behavior.

ObjectARX is a C++ interface, and the .NET classes are actually wrappers to the ObjectARX interface. The .Net interface abstracts things fairly well, but you still have to be concerned with the threading and possibly some other things as you develop more complex applications.

As previously mentioned, Through the Interface is a great blog for .NET stuff.

For ObjectARX, there is a good introduction at ObjectARX & Dummies, but for the deeper material the Developers Forums are a good resource.

If you are developing anything for people other than yourself, you should also seriously consider getting a registered developer symbol to prevent conflicts among different plugins. You can do that at the Symbols Registration page on the AutoDesk website.

Depending on your resources, you may also want to join the AutoDesk Developers Network (ADN), which provides access to software technical support, and early and beta access to upcoming AutoDesk products and APIs.

Knyphe
  • 681
  • 1
  • 6
  • 13
  • 4
    In the Developers forums I would take heed of any posts by "Tony Tanzillo". Most of the problems that I've ran into in .NET have been solved in something posted by him. He also knows a lot of best practices when interacting with .NET API. – skeletank Nov 01 '10 at 19:59
  • 1
    +1 for Tony Tanzillo. He is the Jon Skeet of AutoCAD .NET programming. – CAD bloke Mar 20 '11 at 10:43
  • Now that AutoCAD 2014 is making the rounds, it makes sense to add Javascript to this list. An argument could be made for Python as well. – Parrish Husband Oct 09 '13 at 20:42
  • 1
    Don't forget VBA. It is still supported via secondary installer from the Autodesk website. – Andrew Truckle Jun 12 '16 at 16:59
6

What type of application are you thinking of writing? I've written a couple WPF user controls that communicate with AutoCad. To do so, I used the AutoCad .NET Developers Guide found here:

http://docs.autodesk.com/ACD/2010/ENU/AutoCAD%20.NET%20Developer's%20Guide/index.html

This is a great blog to with some good video tutorials on it too.

This is a GREAT video if you just want to get started!

Wingman4l7
  • 649
  • 1
  • 8
  • 23
JSprang
  • 12,481
  • 7
  • 30
  • 32
  • I added another link in my answer to a really good video that walks you through building your first .NET application that integrates with AutoCad. – JSprang Jun 22 '10 at 14:51
  • Is .Net the only solution for writing AutoCad applications? – static_rtti Jun 23 '10 at 17:50
  • 1
    I know that there's some people that write in AutoLISP (see link below), but I have not tried it. Other than that, I'm not sure. http://en.wikipedia.org/wiki/AutoLISP – JSprang Jun 23 '10 at 19:19
  • 1
    For AutoCAD plug-ins .NET is the way to go. Search for ObjectARX SDK for the version of AutoCAD you want to support. The SDK download includes a Visual Studio wizard for easy setup. – mohnston Jun 29 '10 at 21:04