Autodesk Exchange Apps - Information for AutoCAD and AutoCAD Vertical Developers
This guide is for developers and content providers new to publishing plug-ins and other content on Autodesk® Exchange Apps – either free, trial or for fee versions. It outlines best practice guidelines and a few requirements for publishers to follow when creating products for the Autodesk Exchange Apps. These guidelines are designed to ensure that users on Autodesk Exchange have a consistent experience when downloading multiple products from the store.
You will be presented with a detailed list of requirements for publishing on Exchange when you first register to be a publisher. The information that follows is a summary. If there are any differences, then the online Publisher Agreement takes precedence.
All content types
Most of the information we need from you is collected via the web form you complete when submitting your content. This includes gathering information to auto-generate a HTML ‘quick start’ page that is included with the download of your product and viewable online. Other requirements are:
- Your product must be relevant to (and usable with) AutoCAD® 2016, or any of these AutoCAD 2016 vertical products: AutoCAD® Architecture, AutoCAD® Electrical, AutoCAD® ecscad, AutoCAD® Mechanical, AutoCAD® MEP, AutoCAD® Civil 3D® and must run on any Windows operating system supported by the AutoCAD 2016 product (including both 32-bit and 64-bit versions). If you indicate compatibility with one or more vertical products you are responsible for testing your App with that product. You can also indicate the compatibility with AutoCAD 2015/2014/2013 (or its vertical listed above).
- The ‘documentation’ information you provide when submitting your app will be used to create a standard format HTML page, and must allow the user to quickly understand how to use your product. You can reference additional information (for example, additional help files posted on your website) from the standard HTML documentation.
- We strongly recommend you make use of the standard Exchange store app installer we create for you. The default user privilege for the store apps is Windows 7/Windows 8/8.1 Admin User. The installer we create for your app will require elevated user privileges to install. if you don’t use our standard installer template to install or If you do not wish to have elevated user privileges for your app installer, then this must be very clearly documented in the description of your product displayed on the store.
- Your product must be ‘ready to go’ as soon as it’s installed. It must not require the user to manually copy or register files, or manually edit AutoCAD setting (such as support paths). The new autoloader mechanism we’ll describe later will help you avoid this.
- Your product should be stable, and not behave or alter the behavior of AutoCAD in a way that we deem unsuitable (for example, blocking standard AutoCAD functionality, blocking the functionality of another plug-in, causing data loss etc.).
- Your product must include a partial CUIX file to add UI elements for your product to the AutoCAD RibbonBar. We’ll explain more later in this document.
Standalone applications and other content
There are no additional requirements for products that are not integrated with AutoCAD. Such products might include eBooks, video tutorials, industry specific calculators, and the like.
Use the Autoloader system
We strongly encourage you to make use of the autoloader mechanism to deploy your plug-in. Information on the required format for autoloader ‘bundles’ is included in the AutoCAD 2016 help files. Search for “Install and Uninstall Plug-in Applications” or search the help for “appautoloader” and the "DevTV –Autoloader Format Explained" video walks through some simple examples for .NET, ObjectARX, LISP and CUIX plug-ins.
You can also download some of the free plug-ins already available on Autodesk Exchange and study their format – such as one of the Autodesk Plug-in of the Month samples (for example, OffsetInXref, DimensionPatrol, or ClipboardManager).
Use a Registered Developer Symbol
If your plug-in makes use of support paths to locate files (and the autoloader mechanism uses support paths extensively), we strongly recommend you prefix your filenames with your Registered Developer Symbol (RDS) to avoid potential naming conflict with other plug-ins. You can reserve an RDS for free at www.autodesk.com/symbolreg. (If you don’t use an RDS, and your plug-in files clash with another plug-in, then we will ask you to rename your files).
This applies to content (such as block libraries) as well as plug-in modules.
Use demand loading
Unless your ObjectARX® or .NET plug-in absolutely has to load as soon as AutoCAD launches, you should design your plug-in to load only when it’s needed – most commonly ‘load on command invocation’. This is to minimize the impact of installed plug-ins on AutoCAD startup performance. The autoloader system makes it very easy to setup demand load settings for the various components that make up your plug-in.
Follow the Interop Guidelines
As well as using a Registered Developer Symbol and demand load settings, there are many ways to ensure your plug-in will work well with other plug-ins a user may install. These are described in detail in the ObjectARX Application Interoperability Guidelines – part of the helpfiles in the ObjectARX SDK (downloadable from www.objectarx.com). Although the Interop Guidelines is part of the ObjectARX SDK, many of these guidelines apply to all plug-in types. Don’t worry if you’ve designed your application without reading these guidelines – they are guidelines and not requirements. However, we recommend you consider them when designing your next project or when updating existing ones.
Use the RibbonBar
Using a partial CUIX file to add RibbonBar elements for your application is required, but how you do this will depend on your plug-in design. As a minimum, every plug-in or block library must add a panel to the ‘Plug-Ins’ tab that either invokes the main command defined by the plug-in or displays a helpfile explaining how to use the block library. The "DevTV – Creating a Partial CUI" video posted with these guidelines shows how to setup a partial CUIX file to add a panel to a tab already defined in the main CUIX.
Plug-ins that install a single panel should normally add that panel to the ‘Plug-Ins’ tab.
Plug-ins that create several RibbonBar panels may prefer to create a new Tab specific to that Plug-In (and normally with the Tab name being the name of the Plug-in).
You can add any other UI elements to your partial CUIX (e.g. menubars and toolbars) as well, but you must still include a basic RibbonBar UI.
The following videos provide additional information on some of the topics covered in this guide:
The ADN team is here to help you be a successful publisher on Autodesk Exchange store. We’ll do whatever we can do to help you. You are welcome to email firstname.lastname@example.org if you have any further questions after reviewing these guidelines and the other documentation on www.autodesk.com/developapps.
Thank you for participating on Autodesk Exchange Apps.