Skip to main content

Feature Overview

RevitDevTool v3.0 is a development platform for .NET-based CAD/BIM applications. It supports Revit and AutoCAD-family hosts (2022–2027) and is designed to extend to any .NET-capable host. Iterate on automation code without rebuilding, reinstalling, or restarting the host.


Four Pillars​

PillarWhat it coversKey entry points
ExecutionCPython, IronPython, C# / F# scripts, .NET assembliesRun Code Overview, Modern Python Scripting
Testingpytest bridge + MTP TestAdapter for in-host testsTesting Overview, pytest, NUnit, TUnit, MSTest
AI Tool IntegrationLocal MCP v2 clients via DevTools.Daemon.exe --stdioMCP .NET, MCP Python
LoggingLog level, Monitor, File, and HTTP output + Revit geometry visualizationLog Level, Log Output, Geometry Visualization

Claimed Hosts​

RevitDevTool markets two host products. AutoCAD-family verticals (Architecture, MEP, Electrical, Mechanical, Map 3D, Civil 3D, Plant 3D, …) load the same AcadDevTool add-in — they are not separate product lines in this documentation.

HostVersionsStatus
Revit2022–2027Primary experience — full four pillars including geometry visualization
AutoCAD-family2022–2027Full execution, testing, MCP, and logging; no geometry visualization

Runtime callout — Plant 3D: the only current host with an embedded CPython runtime. PEP 723 dependencies install via a uv sidecar instead of Pixi. This is a Python backend exception, not a separate RevitDevTool product.


Pillar Highlights​

Execution​

  • CPython 3.14 via Pixi (default) with PEP 723 auto-install
  • IronPython scripts and tests; on Revit, pyRevit engine preferred (default IronPython 2.7.12) — no debugger
  • CPython debugpy + .NET IDE attach for compiled add-ins and Roslyn scripts
  • C# / F# scripts via Roslyn; .NET assembly hot-reload

Testing​

  • PyTest bridge — CPython pytest and IronPython unittest run inside the selected host
  • MTP TestAdapter — NUnit 5.0.0, TUnit 1.72.10, or MSTest 4.4.1 inside live hosts via RevitDevTool.TestAdapter 0.1.2
  • --host revit, --host autocad, and other AutoCAD-family names; --force-launch, --per-test-timeout

AI Tool Integration​

  • Any local MCP v2 client (from 28 July 2026): Cursor, Claude Desktop, VS Code Copilot, ChatGPT Desktop, …
  • Daemon entry: DevTools.Daemon.exe --stdio (replaces legacy MCPServer.exe)
  • Built-in discovery tools + search_dynamic / invoke_dynamic for host-registered capabilities
  • Custom Python and C# toolsets in Settings → MCP

Logging​

  • Three log sinks: Monitor (Trace Panel), file, HTTP
  • Color keywords, pretty JSON, Python stack trace formatting
  • Revit-only DirectContext3D geometry visualization (curves, faces, solids, meshes, points)

What Changed From v2.x​

  • Four-pillar platform: shared DevTools.* libraries — execution, testing, MCP, and observability are not Revit-specific
  • Two claimed hosts: Revit + AutoCAD-family (2022–2027); Revit 2027 adds .NET 10 target
  • Python backends: Pixi-owned CPython 3.14 is the default; Plant 3D attaches to the host interpreter with a uv sidecar — v2's UV-only model is gone
  • Unified state: sys.__devtool__ replaces host-specific attributes
  • Daemon MCP server: DevTools.Daemon.exe --stdio with multi-host pipe discovery
  • Testing as first-class pillar: pytest bridge + MTP TestAdapter, not buried under execution docs

Best Starting Points​