AutoCAD Web Migration Guide

How to migrate ConstructiVision from AutoLISP/VLX (desktop-only) to AutoCAD Web and the Autodesk Platform.

Warning

AutoLISP is NOT compatible with AutoCAD Web

AutoLISP, Visual LISP, VLX, FAS, and ARX are desktop-only technologies. They cannot run in AutoCAD Web, AutoCAD mobile apps, or any cloud-based Autodesk product. A complete rewrite to JavaScript or .NET is required for web compatibility.


Compatibility Matrix

Technology

AutoCAD Desktop

AutoCAD Web

AutoCAD Mobile

AutoLISP (.lsp)

✅ Yes

❌ No

❌ No

Visual LISP (.vlx/.fas)

✅ Yes

❌ No

❌ No

ObjectARX (.arx)

✅ Yes

❌ No

❌ No

DCL Dialogs (.dcl)

✅ Yes

❌ No

❌ No

.NET (C#/VB)

✅ Yes

❌ No

❌ No

JavaScript API

❌ No

✅ Yes

⚠️ Limited

Forge/APS Design Automation

N/A

✅ Yes

✅ Yes


Migration Paths

Path 1: AutoCAD Web JavaScript API

Best for: Simple tools, UI customizations, lightweight automation

AutoLISP (.lsp) → Rewrite → JavaScript (AutoCAD Web API)

Capabilities:

  • Create/modify drawing entities

  • Custom UI panels

  • Event handling

  • Limited compared to desktop AutoLISP

Limitations:

  • No file system access

  • No external process execution

  • No COM/ActiveX

  • Subset of AutoCAD commands available

Path 2: Autodesk Platform Services (APS) Design Automation

Best for: Heavy processing, batch operations, server-side automation

AutoLISP (.lsp) → Convert → .NET Core → Deploy → APS Design Automation

Capabilities:

  • Full AutoCAD Core Console engine

  • Batch processing thousands of drawings

  • Server-side execution (no desktop required)

  • REST API integration

Requirements:

  • Rewrite to .NET (C#)

  • APS account and credits

  • Cloud infrastructure

Path 3: Hybrid (Desktop + Web)

Best for: Gradual migration, complex applications

Desktop: Keep VLX for power users
Web: JavaScript subset for basic features
Sync: Cloud storage (BIM 360, Autodesk Docs)

Step 1: Autodesk Developer Network (ADN) Membership

ADN provides technical support, early API access, and resources for serious development.

ADN Tiers

Tier

Cost (Annual)

Benefits

ADN Open

Free

Forums, documentation, basic samples

ADN Standard

~$1,000

Technical support cases, API previews

ADN Professional

~$2,500

Priority support, beta programs

Registration Process

  1. Go to: https://aps.autodesk.com/

  2. Create Autodesk Account (if not existing)

  3. Navigate: Developer Portal → Join ADN

  4. Select Tier: Start with ADN Open (free)

  5. Complete Profile: Company info, development focus

  6. Accept Agreement: ADN Terms of Service

What You Get

  • API Documentation: Full reference for all Autodesk APIs

  • Sample Code: GitHub repositories with examples

  • Support Forums: Community help from Autodesk engineers

  • Forge/APS Credits: Free tier for testing Design Automation

  • Beta Access: Early access to new APIs (higher tiers)


Step 2: Autodesk Platform Services (APS) Account

Formerly “Forge” — this is required for any cloud/web development.

Setup Process

  1. Portal: https://aps.autodesk.com/

  2. Sign In with Autodesk Account

  3. Create Application:

    • Application Name: “ConstructiVision Web”

    • Description: Brief summary

    • Callback URL: Your app’s OAuth callback (e.g., https://yourapp.com/callback)

  4. Get Credentials:

    • Client ID (public)

    • Client Secret (keep secure!)

  5. Enable APIs:

    • Data Management API

    • Design Automation API

    • Model Derivative API (for viewing)

API Scopes

Scope

Purpose

data:read

Read files from cloud storage

data:write

Write files to cloud storage

data:create

Create new files/folders

code:all

Design Automation (run AutoCAD in cloud)

viewables:read

View converted models


Step 3: Autodesk App Store Account

To distribute your application commercially or freely.

Publisher Registration

  1. Go to: https://apps.autodesk.com/

  2. Click: “Become a Publisher”

  3. Complete Application:

    • Company/Individual name

    • Contact information

    • Tax information (W-9 for US, W-8BEN for international)

    • Bank account for payments (if selling)

  4. Review Period: 5-10 business days

  5. Approval Email: Publisher dashboard access granted

Publisher Agreement Highlights

  • Revenue Split: Autodesk takes 25% of paid app sales

  • Free Apps: No fees, but must meet quality standards

  • Content Rules: No malware, no IP infringement, must work as described

  • Support Requirement: You must provide user support


Step 4: Code Signing Certificate

Required for desktop AutoCAD plugins distributed via App Store.

Why Code Signing?

  • AutoCAD SECURELOAD: Warns/blocks unsigned code by default

  • Windows SmartScreen: Blocks unsigned EXE/DLL

  • App Store Requirement: Mandatory for submission

  • User Trust: Professional appearance, verified publisher

Certificate Types

Type

Cost (Annual)

Validation

Standard Code Signing

$200-400

Organization validated

EV Code Signing

$400-700

Extended validation, hardware token

Recommended: EV Code Signing (better SmartScreen reputation)

Certificate Providers

Provider

Standard

EV

DigiCert

$474/yr

$674/yr

Sectigo (Comodo)

$189/yr

$319/yr

GlobalSign

$249/yr

$449/yr

SSL.com

$139/yr

$239/yr

Purchase Process

  1. Select Provider: (Sectigo/SSL.com for budget, DigiCert for reputation)

  2. Choose Certificate Type: EV recommended

  3. Validation Process:

    • Organization documents (business license, articles of incorporation)

    • Phone verification call

    • Domain verification (if applicable)

    • EV Additional: Notarized documents, hardware token shipped

  4. Receive Certificate: 1-5 business days (Standard), 1-2 weeks (EV)

Signing Your Code

For ARX/DLL (Windows):

# Using signtool (Windows SDK)
signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a "MyPlugin.arx"

# Verify signature
signtool verify /pa "MyPlugin.arx"

For VLX (AutoLISP): VLX files cannot be directly code-signed. Options:

  • Wrap in signed installer (MSI/EXE)

  • Use AutoCAD’s TRUSTEDPATHS instead of signing

  • Convert to .NET (which can be signed)


Step 5: Convert AutoLISP to JavaScript (Web)

AutoCAD Web JavaScript API Basics

// autocad-web-api.js

// Get the AutoCAD Web API
const Acad = window.Autodesk?.AutoCAD;

// Create a line (equivalent to LISP command "LINE")
async function createLine(startPoint, endPoint) {
    const doc = await Acad.DocumentManager.MdiActiveDocument;
    const db = doc.Database;
    
    const line = new Acad.DatabaseServices.Line();
    line.StartPoint = new Acad.Geometry.Point3d(startPoint[0], startPoint[1], 0);
    line.EndPoint = new Acad.Geometry.Point3d(endPoint[0], endPoint[1], 0);
    
    const btr = await db.GetModelSpace();
    await btr.AppendEntity(line);
}

// Equivalent AutoLISP:
// (command "LINE" startPoint endPoint "")

Mapping AutoLISP to JavaScript

AutoLISP

JavaScript (Web API)

(command "LINE" ...)

new Line(); btr.AppendEntity()

(getpoint)

User input via HTML/Canvas

(setvar "OSMODE" 0)

doc.SetSystemVariable()

(ssget)

Selection set API

(entget)

Entity property access

(load_dialog)

HTML/CSS panels

(alert)

JavaScript alert() or custom modal

What CANNOT Be Converted

AutoLISP Feature

Web Limitation

(startapp)

No external process execution

(dos_*) functions

No shell access

(vl-registry-*)

No registry access

(arxload)

No native plugins

File I/O to local disk

Browser sandbox

COM/ActiveX

Not available


Step 6: Design Automation (Server-Side)

For heavy lifting that can’t run in browser.

Architecture

User (Browser)
     ↓
Your Web App (Node.js/Python/etc.)
     ↓
Autodesk Platform Services (REST API)
     ↓
Design Automation Engine (AutoCAD Core Console)
     ↓
Process DWG → Return Results

Setup Design Automation

1. Create App Bundle (.NET plugin):

// ConstructiVisionDA.cs
public class ConstructiVisionCommands
{
    [CommandMethod("CVPROCESS")]
    public void ProcessDrawing()
    {
        // Your ConstructiVision logic converted to C#
        Document doc = Application.DocumentManager.MdiActiveDocument;
        Database db = doc.Database;
        
        // Process panels, walls, etc.
    }
}

2. Create Activity (defines what to run):

{
    "id": "ConstructiVisionActivity",
    "commandLine": "$(engine.path)\\accoreconsole.exe /i $(args[inputFile].path) /s $(settings[script].path)",
    "parameters": {
        "inputFile": { "verb": "get", "localName": "input.dwg" },
        "outputFile": { "verb": "put", "localName": "output.dwg" }
    },
    "engine": "Autodesk.AutoCAD+24",
    "appbundles": ["YourNickname.ConstructiVisionBundle+prod"]
}

3. Create WorkItem (job execution):

{
    "activityId": "YourNickname.ConstructiVisionActivity+prod",
    "arguments": {
        "inputFile": { "url": "https://storage.../input.dwg" },
        "outputFile": { "url": "https://storage.../output.dwg", "verb": "put" }
    }
}

Pricing (APS Design Automation)

Tier

Cloud Credits

Cost

Free

100 credits/month

$0

Pay-as-you-go

Per credit

~$0.04/credit

Enterprise

Volume

Contact sales

1 credit ≈ 1 minute of processing time


Step 7: App Store Submission

Submission Checklist

  • Working Application: Tested on target AutoCAD versions

  • Code Signed: All EXE/DLL/ARX signed with valid certificate

  • Icon: 400x400 PNG, clear and professional

  • Screenshots: 3-5 showing key features

  • Description: Clear, accurate, no misleading claims

  • Documentation: User guide or help file

  • Support URL: Where users can get help

  • Privacy Policy: If collecting any data

  • EULA: End user license agreement

Submission Process

  1. Log in: https://apps.autodesk.com/Publisher

  2. Create New App:

    • Title, description, category

    • Supported products (AutoCAD 2024, 2025, 2026, etc.)

    • Pricing (free or paid)

  3. Upload Package:

    • ZIP/MSI containing your plugin

    • Must include installer or bundle structure

  4. Add Assets:

    • Icon, screenshots, videos

    • Documentation files

  5. Submit for Review:

    • Autodesk tests for malware, crashes, functionality

    • Review takes 5-10 business days

  6. Address Feedback:

    • May require fixes before approval

  7. Publish:

    • Goes live on App Store

App Bundle Structure

ConstructiVision.bundle/
├── PackageContents.xml          # Manifest
├── Contents/
│   ├── ConstructiVision.dll     # .NET plugin (signed)
│   ├── Resources/
│   │   ├── ConstructiVision.ico
│   │   └── help.html
│   └── Windows/
│       └── ConstructiVision.arx # Native plugin (signed)
└── README.txt

PackageContents.xml:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationPackage 
    SchemaVersion="1.0" 
    ProductCode="{GUID-HERE}"
    Name="ConstructiVision"
    AppVersion="8.0.0">
    
    <CompanyDetails Name="Your Company" />
    
    <Components>
        <RuntimeRequirements OS="Win64" Platform="AutoCAD" />
        <ComponentEntry ModuleName="./Contents/ConstructiVision.dll" />
    </Components>
</ApplicationPackage>

Timeline Estimate

Phase

Duration

Dependencies

ADN Registration

1-2 days

Autodesk account

APS Setup

1 day

ADN account

Code Signing Certificate

1-2 weeks

Business documents

Publisher Account

5-10 days

Tax documents

Code Conversion (LISP → JS/.NET)

2-6 months

Developer resources

Testing & QA

1-2 months

Converted code

App Store Submission

1-2 weeks

All above complete

Total

4-9 months


Cost Summary

Item

One-Time

Annual

ADN Open

-

$0

ADN Standard

-

~$1,000

APS Account

$0

$0 (free tier)

Code Signing (EV)

-

~$300-500

Publisher Account

$0

$0

App Store (25% of sales)

-

Variable

Minimum Total

$0

~$300-500


Decision Matrix: Desktop vs Web vs Design Automation

Requirement

Desktop (VLX)

Web (JS)

Design Automation

Complex geometry

✅ Full

⚠️ Limited

✅ Full

User interaction

✅ Full

✅ Good

❌ Batch only

File system access

✅ Full

❌ None

⚠️ Cloud storage

Offline use

✅ Yes

❌ No

❌ No

Batch processing

⚠️ Slow

❌ No

✅ Excellent

Installation required

✅ Yes

❌ No

❌ No

Cross-platform

❌ Windows

✅ Any browser

✅ Any client

Development effort

Low (existing)

High

High

Recommendation for ConstructiVision

Short-term (2026): Keep desktop VLX for existing users Medium-term (2027-2028): Develop Design Automation backend for batch operations Long-term (2029+): Web UI for basic panel design, DA for processing