TS

thebimhouseinfo-sudo/cadgpt

Developer tools
0 stars Quality 47 Trend 20

CadGPT turns ChatGPT into a drawing-centric AutoCAD execution environment. ChatGPT remains the reasoning surface; CadGPT provides the local control plane, drawing binding, AutoLISP/Job orchestration,...

Overview

CadGPT turns ChatGPT into a drawing-centric AutoCAD execution environment. ChatGPT remains the reasoning surface; CadGPT provides the local control plane, drawing binding, AutoLISP/Job orchestration, registry discovery, diagnostics, the AutoCAD add-in, and the CAD MCP bridge. The AutoCAD add-in can host ChatGPT in a dockable palette, but the add-in UI is not CAD authority. CadGPT runtime/work binding remains authoritative. - explicit launch through the CadGPT/CG plugin or literal @cadgpt / @cg; - one active work binds one drawing; - current CAD facts are read fresh from the bound drawing; - while CG is active with a bound drawing, requests such as target AutoCAD by default; - external image generation is used only when the user explicitly asks for an image/render/illustration rather than CAD output; - AutoCAD is never launched implicitly by the MCP runtime; - CAD MCP sleeps until actual CAD demand; - managed user/runtime state lives under %LOCALAPPDATA%\CadGPT; - file mutation uses...

README

CadGPT

Status: Active development

CadGPT turns ChatGPT into a drawing-centric AutoCAD execution environment. ChatGPT remains the reasoning surface; CadGPT provides the local control plane, drawing binding, AutoLISP/Job orchestration, registry discovery, diagnostics, the AutoCAD add-in, and the CAD MCP bridge.

ChatGPT / CadGPT plugin
        ⇅
OpenAI Secure MCP Tunnel
        ⇅
CadGPT slim admission/control plane
        ↓
WorkRegistration + ToolLease
   ├── FILE
   └── CAD / HYBRID
          ↓
        CAD MCP
          ↓
       AutoCAD

The AutoCAD add-in can host ChatGPT in a dockable palette, but the add-in UI is not CAD authority. CadGPT runtime/work binding remains authoritative.

Current product contract

  • explicit launch through the CadGPT/CG plugin or literal @cadgpt / @cg;
  • one active work binds one drawing;
  • current CAD facts are read fresh from the bound drawing;
  • while CG is active with a bound drawing, requests such as draw / redraw / create / add / modify / vẽ / vẽ lại / tạo / sửa target AutoCAD by default;
  • external image generation is used only when the user explicitly asks for an image/render/illustration rather than CAD output;
  • AutoCAD is never launched implicitly by the MCP runtime;
  • CAD MCP sleeps until actual CAD demand;
  • managed user/runtime state lives under %LOCALAPPDATA%\CadGPT;
  • file mutation uses canonical absolute paths inside approved roots;
  • production runtime does not self-modify CAD MCP source;
  • Revit development is not part of this repository. RevitGPT is maintained as a separate project/repository.

Launch and drawing binding

CadGPT reads the lightweight tray snapshot before starting full CAD MCP.

CG / @cg / @cadgpt
├─ 0 drawings
│  → Welcome screen
│  → WORK IDLE
│
├─ exactly 1 drawing
│  → auto-bind that drawing
│  → Workspace Ready
│
└─ 2+ drawings
   → Welcome screen + drawing list
   → user chooses exactly one
   → Workspace Ready

cg/list refreshes the tray-backed drawing list and does not wake full CAD MCP by itself.

A bound workspace follows:

1 work = 1 drawing

CadGPT never treats ambient AutoCAD ActiveDocument as drawing authority.

Commands

cg/       full command menu
cg/list   refresh open drawings
cg/cl     create or repair Lisp
cg/cj     create or repair Job
cg/job    list registered Jobs
cg/kug    update global HVAC knowledge (KUG)
cg/kud    update bound-drawing HVAC knowledge (KUD)
cg/mcp    CAD MCP development workflow (development builds only)
cg/help   help
cg/stop   stop current work

@cadgpt / @cg activate CadGPT; they are not the CLI namespace.

HVAC domain Knowledge Updater (KUG / KUD)

The Knowledge Updater stores HVAC workflow/domain knowledge separately from CadGPT internal CAD API, AutoLISP and MCP development knowledge.

  • KUG / cg/kug — global reusable HVAC practice in %LOCALAPPDATA%\\CadGPT\\knowledge\\.md. Works without AutoCAD.
  • KUD / cg/kud — bound-drawing HVAC knowledge in %LOCALAPPDATA%\\CadGPT\\drawings\\\\knowledge\\.md. Requires a valid, explicitly bound drawing workspace.

The dedicated knowledge_list, knowledge_read, and knowledge_upsert tools handle scope, revision checks (SHA-256), atomic writes and readback. For drawing knowledge, the exact binding/anchor is revalidated before access. The model should compare existing content, show changes and request human approval before updating. Unresolved HVAC facts stay unresolved.

CAD API/Lisp authoring, the Lisp Writer, and MCP Fixer remain in their respective internal knowledge and skills. KUG/KUD must not edit them. See skills/knowledge-updater/SKILL.md.

AutoCAD add-in

The managed add-in lives at:

addins/cadgpt-autocad/

It embeds ChatGPT in an AutoCAD dockable palette while leaving admission, work authority, and drawing binding in the CadGPT runtime.

Install or refresh it after closing AutoCAD:

cadaddin.bat

Then open AutoCAD and run:

CADGPT

The installed bundle is placed under the current user’s Autodesk ApplicationPlugins directory and is configured for AutoCAD startup loading. The panel itself stays hidden until requested.

See addins/cadgpt-autocad/README.md for host probing, build details, WebView2 profile behavior, and compatibility notes.

CAD intent and live state

While CadGPT is active with a drawing workspace:

  • drawing/editing language targets the bound AutoCAD drawing by default;
  • an attached image may be used as a geometric/visual reference for CAD work;
  • the attachment does not change the output destination to image generation;
  • layer counts, entity counts, geometry, properties, selections, and other current-state questions require a fresh CAD read in the same turn;
  • conversation history is never treated as live CAD state.

Curated CAD operating knowledge lives in:

knowledge/cad/WORKING_KNOWLEDGE.md

Diagnostics

Real product failures and incorrect behavior are accumulated separately from model knowledge:

diagnostics/cad/ERROR_LOG.md

Use the error log for tool/runtime failures, routing errors, latency regressions, workarounds, unexpected CAD behavior, and other defects discovered during real use.

Only stable CAD operating knowledge should be promoted into knowledge/cad/WORKING_KNOWLEDGE.md.

Registry

CadGPT exposes one effective registry with strict ownership.

Internal Registry
├─ MCP tools
├─ system skills
├─ bundled Lisp
└─ official Internal Jobs

User Registry
├─ Lisp capabilities
└─ user Jobs

User Registry cannot overwrite Internal Registry.

TBH Toolkit

Bundled TBH content lives under:

resources/cad/internal-lisp/tbh-toolkit

The official Internal Direct Job tbh loads:

resources/cad/internal-lisp/tbh-toolkit/tbhloader.lsp

Per drawing:

tbhloader.lsp load success → TBH = ON
tbhloader.lsp load failure → TBH = OFF

A failed Internal Direct Job is surfaced as a failure instead of being bypassed through lower-level tools.

AutoLISP

User-managed Lisp lives under:

%LOCALAPPDATA%\CadGPT\libraries\lisp

Editing uses controlled checkout → validate → real CAD test → promote workflows. Generic file tools cannot mutate permanent managed libraries.

System Lisp authoring guidance lives under:

skills/write-lisp/

Jobs

User-created/imported Jobs live in managed AppData and User Registry.

CadGPT supports:

  • Direct Jobs — fixed local implementations without model planning;
  • Reasoning Jobs — sequential READ → PLAN → REVIEW → EXEC → READBACK workflows.

When a reusable Job needs a dynamic form of an already-working Lisp, CadGPT seeds a byte-for-byte copy once under the Job’s own dynamic-lisp/ folder, patches only declared data/sections with hash-guarded exact replacements, and reuses that persisted copy on later runs. Shared Lisp logic stays in the Lisp Library; Job-owned derivatives are not adapter commands.

Job authoring guidance lives under:

skills/jobcreate/
knowledge/jobs/

Managed AppData

Production data lives under:

%LOCALAPPDATA%\CadGPT\
├── libraries/
│   ├── lisp/
│   └── jobs/
├── registry/
│   └── user/
├── workspace/
│   ├── lisp-draft/
│   └── job-draft/
├── runtime/
├── data/
├── drawings/
│   └── /knowledge/
├── knowledge/                 # Global HVAC domain knowledge
├── state/
└── logs/

CADGPT_APPDATA_ROOT is a development/test override only and must not point to a repository-root appdata folder.

Installation and daily use

Requirements:

  • Windows
  • Node.js 20+
  • Python 3.11–3.14
  • AutoCAD for live CAD work

One-time source setup:

setup.bat

Common runtime commands:

run.bat status
run.bat restart
doctor.bat
acceptance.bat

Install/refresh the AutoCAD add-in:

cadaddin.bat

After setup, the Windows tray hosts the lightweight CadGPT control plane and Secure MCP tunnel.

Runtime safety

Important invariants:

  • explicit CadGPT session launch;
  • execution authority comes only from the current work_handle;
  • FILE and CAD authority remain explicit;
  • one work binds one drawing;
  • stale/reopened drawing lifetimes do not silently reuse old drawing authority;
  • destructive CAD actions use guarded preview/execution contracts;
  • work authority expires after idle timeout;
  • different ChatGPT conversations do not intentionally share work authority.

Development-only CAD MCP improvement

Source/development builds may expose cad-mcp-dev.

Its writable scope is limited to:

runtimes/cad-mcp/**

It is not part of the production self-modification surface.

Repository layout

src/cadgpt/                    CadGPT orchestration/control plane
runtimes/cad-mcp/              active AutoCAD MCP runtime
addins/cadgpt-autocad/         AutoCAD dockable ChatGPT panel
resources/cad/                 bundled CAD resources / TBH Toolkit
skills/                        system authoring/development skills
knowledge/                     curated runtime/model knowledge
diagnostics/                   product error evidence
registry/                      registry contracts/docs
scripts/                       setup/build/audit/install utilities
tests/                         regression suite

Historical Stage 0 experiment plans and the old Revit MCP preservation area are intentionally not kept in the active CadGPT tree. Git history remains the archive for superseded implementation material.

View this README on GitHub

Recommended Tools

Try a different keyword or remove a filter.

Install

npx skillfish add thebimhouseinfo-sudo/cadgpt