Agent Skill · Autodesk

acad-arx-wizard

Agentic ObjectARX project scaffolding for AutoCAD 2027 / Visual Studio 2026. Replaces the broken .vsz VsWizardEngine wizard with a PowerShell script that generates identical C++ project files. Works for new ARX/DBX/CRX projects and add-on class wizards (Jig, Reactors, Custom Object, MFC, .NET Wrapper, COM Wrapper, Dynamic Property).

Provider: Autodesk Path in repo: skills/acad-arx-wizard/SKILL.md

Skill body

ObjectARX Wizard Skill — AutoCAD 2027 / VS 2026

Scaffold ObjectARX C++ projects and classes using an AI conversation + PowerShell generator.

Skill Location

The scripts live in the same folder as this SKILL.md:

<skill-root>/
├── SKILL.md
├── docs/
│   ├── arx-dev-guide.md              ← ObjectARX 2027 build configuration reference
│   └── learnings.md                  ← live wiki: gotchas, workarounds, verified API behaviors
├── scripts/
│   ├── Invoke-TemplateExpansion.ps1   ← shared token engine (do not call directly)
│   ├── New-ArxApp.ps1                 ← full ARX/DBX/CRX project
│   ├── New-ArxCustomObject.ps1        ← custom ObjectDBX entity class
│   ├── New-ArxReactors.ps1            ← transient reactor class
│   ├── New-ArxJig.ps1                 ← AcEdJig subclass
│   ├── New-ArxMFCSupport.ps1          ← MFC dialog / palette / control
│   ├── New-ArxNETWrapper.ps1          ← managed .NET wrapper
│   ├── New-ArxComWrapper.ps1          ← ATL COM wrapper object
│   └── New-ArxDynProp.ps1             ← ATL dynamic property class
├── templates/                         ← source template files (do not edit)
└── props/                             ← Autodesk.arx-2027.props, crx.props

When to Use

Wizard Types

User says… Script to run
“ARX app”, “new plugin”, “create project” New-ArxApp.ps1
“custom object”, “custom entity”, “AcDbEntity subclass” New-ArxCustomObject.ps1
“reactor”, “database reactor”, “entity reactor” New-ArxReactors.ps1
“jig”, “AcEdJig”, “interactive input” New-ArxJig.ps1
“MFC dialog”, “palette”, “dockbar”, “MFC class” New-ArxMFCSupport.ps1
“.NET wrapper”, “managed wrapper”, “C++/CLI” New-ArxNETWrapper.ps1
“COM wrapper”, “ATL object”, “IDispatch” New-ArxComWrapper.ps1
“dynamic property”, “AcDbDynBlockReference”, “dynprop” New-ArxDynProp.ps1

Procedure

Step 1 — Identify skill root

Resolve the absolute path to this SKILL.md’s containing directory. All scripts are at: <skill-root>\scripts\


Step 2 — Identify wizard type

Map user intent to one of the 8 wizard types above. If unclear, ask:

“Which wizard do you need? New ARX/DBX/CRX project, or an add-on class (Jig, Reactor, Custom Object, MFC, .NET Wrapper, COM Wrapper, Dynamic Property)?”


Step 3 — Collect parameters

Ask only for mandatory parameters that are missing. Do not ask for optional ones unless the user mentions them.

New-ArxApp — full project

Parameter Mandatory Values Ask if missing
-ProjectName Yes valid C++ identifier “What is the project name?”
-OutputPath Yes folder path “Where should the project be created?”
-AppType No arx / dbx / crx Default: arx (ask if user is unsure)
-MfcMode No none / shared / ext Default: none
-UseAtl No switch Only ask if user mentions COM
-UseDotNet No switch Only ask if user mentions .NET or CLR
-RdsPrefix No 3-letter symbol Default: Adk

New-ArxCustomObject — custom entity

Parameter Mandatory Default
-ClassName Yes
-OutputPath Yes
-BaseClass No AcDbEntity
-Protocols No 2 (Object + Entity)
-ProjectName No MyProject

New-ArxReactors — reactor

Parameter Mandatory Notes
-ClassName Yes
-ReactorType Yes See reactor type list below
-OutputPath Yes
-ProjectName No MyProject

Common reactor types: AcDbDatabaseReactor, AcDbObjectReactor, AcDbEntityReactor, AcEdInputContextReactor, AcApDocManagerReactor, AcDbLayoutManagerReactor, AcDbAnnotationScaleReactor, AcDMMReactor

New-ArxJig — jig class

Parameter Mandatory Default
-ClassName Yes
-OutputPath Yes
-ObjectName No AcDbEntity
-NumberOfInputs No 1
-ProjectName No MyProject

New-ArxMFCSupport — MFC class

Parameter Mandatory Default
-ClassName Yes
-OutputPath Yes
-MfcType No Dialog
-IddDialog No IDD_DIALOG1
-ProjectName No MyProject

MFC types: Dialog, ChildDialog, TabDialog, Palette, PaletteSet, DockControlBar, Control, FileDialog, FileNavDialog, FieldDialog, FieldFormatDialog, FieldOptionDialog

New-ArxNETWrapper — managed wrapper

Parameter Mandatory Default
-WrapperName Yes
-OutputPath Yes
-CustomObjectName No AcDbEntity
-CompanyNamespace No Autodesk
-ObjectNamespace No AutoCAD
-ManagedDerivation No Entity
-ProjectName No MyProject

New-ArxComWrapper — ATL COM wrapper

Parameter Mandatory Default
-ShortName Yes
-OutputPath Yes
-ConnectionPoints No switch
-InterfaceDual No switch
-ProjectName No MyProject

New-ArxDynProp — dynamic property

Parameter Mandatory Default
-ClassName Yes
-OutputPath Yes
-InterfaceName No derived from ClassName
-ConnectionPoints No switch
-ProjectName No MyProject

Step 4 — Run the script

Run the appropriate script from <skill-root>\scripts\ in a PowerShell terminal.

Example for a full ARX project:

& powershell.exe -ExecutionPolicy Bypass -NoProfile -File "<skill-root>\scripts\New-ArxApp.ps1" `
    -ProjectName MyPlugin `
    -OutputPath  "C:\Dev" `
    -AppType     arx `
    -MfcMode     shared

Example for a Jig add-on:

& powershell.exe -ExecutionPolicy Bypass -NoProfile -File "<skill-root>\scripts\New-ArxJig.ps1" `
    -ClassName      CMyJig `
    -ObjectName     AcDbLine `
    -NumberOfInputs 2 `
    -ProjectName    MyPlugin `
    -OutputPath     "C:\Dev\MyPlugin"

Step 5 — Confirm output

After the script runs, confirm what was generated by listing the output folder:

Get-ChildItem "C:\Dev\MyPlugin" | Select-Object Name, Length

Report the file list to the user and include next steps:

For New-ArxApp:

“Project created at C:\Dev\MyPlugin\MyPlugin.vcxproj. Open it in Visual Studio 2026. Verify the ObjectARX SDK path in Autodesk.arx-2027.props, then Build → x64 Debug.”

For add-on wizards:

“Generated ClassName.h and ClassName.cpp in OutputPath. In Visual Studio: right-click your project → Add → Existing Item → select the files.”


Troubleshooting

Problem Fix
Destination already exists Choose a different -OutputPath, or delete the existing folder first
ReactorType not found Run Get-ChildItem <skill-root>\templates\reactors\*_tmpl.h \| ForEach-Object { $_.Name -replace '_tmpl\.h$','' } for the full list
Build error: Cannot open include file 'acdb.h' Set ARXSDK env var or edit Autodesk.arx-2027.props to point at your ObjectARX 2027 SDK
CLRSupport errors in .NET wrapper Ensure the project’s .vcxproj has <CLRSupport>NetCore</CLRSupport>
VS 2026 wizard still broken This skill replaces it — ignore the broken File→New wizard. Use this skill instead.

Post-Scaffolding: Build Configuration Reference

After a project is scaffolded, the developer (or you, the AI agent) will continue writing plug-in code. When helping with build settings, library selection, preprocessor defines, or diagnosing linker/runtime errors, read <skill-root>/docs/arx-dev-guide.md. It covers:

Critical rule: AutoCAD ships as a Release build. Plug-in DLLs must always link with /MD (MultiThreadedDLL), never /MDd. Using /MDd causes CRT mismatch, heap corruption, and crashes. /MDd is only valid with an internal Autodesk Debug build of AutoCAD.


Field Learnings

<skill-root>/docs/learnings.md is a living wiki of gotchas hit in real sessions: VS 2026 + MFC + ARX SDK 2027 build traps, DllMain conflicts, MFC module-state rules, scaffold quirks. Read it when:

Skill frontmatter

argument-hint: Wizard type and project/class name (e.g. 'create an ARX app called MyPlugin with MFC shared', or 'add a Jig class CMyJig to my project')

Work with this as data

Every skill here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for agent skills

4 MCP tools reach this
  • find_skillsBrowse and filter every skill in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This skill
curl "https://apis.io/api/v1/skills/acad-arx-wizard"
All agent skills
curl "https://apis.io/api/v1/skills?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.