“My First Plug-in” is a self-paced tutorial guide for a smooth introduction into 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 Autodesk Fusion API and the C++, Python or Typescript language. The samples for all of these languages will be provided, and you can compare them to find out the differences.
Product: Autodesk Fusion
Programming Language: C++ , Python and Typescript
Application Programming Interface (API): Fusion API
Overview
There are many resources available on the web for you to learn about the Autodesk Fusion API (Application Programming Interface), 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 plug-in 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 progressing onto lessons covering the use of the Autodesk Fusion API. The lessons will start by creating a script that creates a shoebox. Then we’ll further convert it to an add-in.
If you want to learn more about Fusion API, it is highly recommend to go through the Fusion API User Manual in the document.
The Benefits of Customizing Autodesk Fusion
Fusion, by definition, is a general CAD system, meaning that it is not aimed at any specific industry or set of individuals that only model certain types of products. By providing an API, Fusion allows specialized functionality to be added and repetitive operations to be automated, resulting in the improved productivity that comes from a tailored solution. You can use it to customize the product’s existing features or add entirely new ones. You can automate repetitive, time-consuming tasks and extend core features without leaving the Autodesk Fusion environment. The API can be used to create custom tools and features that plug directly into Autodesk Fusion, extending its functionality.
Fusion provides two API interfaces, Python and C++. We also provides a Typescript interface for automation on the cloud. They have some differences but mostly the same. Python is easier and faster to develop while C++ provides better performance. Typescript allows you to publish an automation service for your uses. You can use all of them during your development. For example, if I am going to create a commercial add-in, I could use Python for prototyping and convert to C++ later. Or I could convert a Python add-in to Typescript and provide it for online users.
Summary of the Plug-in
It will create two boxes, and has an interface for parameters.

Software to Install Prior to Starting
-
Autodesk® Fusion
-
Microsoft® Visual Studio
If you are developing C++ with Windows, this tutorial uses Microsoft Visual Studio 2022. Either community version or commercial will be fine.
-
Apple® Xcode
If you are developing C++ with MacOS, this tutorial uses Xcode 16. The latest version should be also working fine.
-
Microsoft® Visual Studio Code
Fusion uses VSCode as its default Python/Typescript editor. Please install it if you are going to use Python/Typescript with Fusion.
-
Automation for Fusion Add-In
It is required for Typescript development. Please download it through this page.
-
NodeJS
It is required for Typescript development. Please download it through official website.
-
CMake – Optional We are going to convert our VS/Xcode project to a simple CMake project. A CMake project enables building plugins on multiple platforms with single project file. This part is optional.
Summary of the Lessons
-
We’ll introduce it how to create a script or add-in from the beginning and the basic codes inside of it.
-
We’ll step a way from the codes or the project and learn how to use the document of Fusion API.
We’ll also cover the document of Fusion Automation in this lesson.
-
We’ll be back at coding and create a simple script.
In this lesson, we’ll cover unit conversion, creating sketches, using sketches to extrude and adding a fillet operation.
-
Lesson 4A for desktop/4B for Automation
There are two different parts of this lesson. The 4A is for desktop developers, while the 4B part is for Automation users.
In 4A part, we’ll convert our script created in this lesson to an add-in with icons and dialogs.
In 4B part, we’ll create a website for our script and publish an activity for it. This will allow any other users to customize their design.
-
Lesson 5 (Optional)
We’ll convert our C++ project to a CMake project which supports build on multiple platforms.

Leave a Reply