Skip to content

Host Architecture

Truong Giang Vu edited this page May 31, 2026 · 1 revision

Host Support

RevitDevTool is a development platform for .NET-based CAD/BIM applications. Features are implemented in shared DevTools.* libraries and reused across hosts. Currently supports Revit and AutoCAD-family — the architecture is designed for any .NET-capable host (Tekla, Bentley, Rhino, etc.).

Feature Availability

Feature Revit AutoCAD Family
Dockable tool UI Yes Yes
Python 3.13 scripts Yes Yes
PEP 723 + Pixi dependencies Yes Yes
VSCode Python debugging Yes Yes
.NET add-in execution Yes Yes
C# / F# scripts Yes Yes
IronPython (pyRevit runtime) Yes Yes
Logging panel Yes Yes
MCP (standalone server) Yes Yes
MCP (in-host tools) Yes Yes
PyTest bridge Yes Yes
Document bridge (IDocumentBridge) Yes Yes
Startup dialog resolver Yes Yes
Geometry visualization Yes (DirectContext3D) N/A
Geometry trace interception Yes N/A
Command Browser Yes Not yet

Host API Differences

Concept Revit AutoCAD
App entry point __revit__ builtin (UIApplication) Static Application class
Active document UIApp.ActiveUIDocument.Document Application.DocumentManager.MdiActiveDocument
Transactions Transaction(doc, name) db.TransactionManager.StartTransaction()
Document lock Not required doc.LockDocument()
Element collection FilteredElementCollector Transaction.GetObject() with OIDs
State attribute sys.__devtool__ sys.__devtool__
Named Pipe Revit_{year}_{pid} {Product}_{year}_{pid}

AutoCAD Family Verticals

The AcadDevTool add-in loads in all AutoCAD-family products:

Vertical Product ID Pipe Prefix
AutoCAD 01 AutoCad
Civil 3D 03 Civil3D
Architecture 04 Product-specific
MEP 05 Product-specific
Electrical 06 Product-specific
Mechanical 12 Product-specific
Map 3D 14 Product-specific
Plant 3D 16 Plant3D

Practical Rule

If a page says "Revit API", "DirectContext3D", or "Revit command", assume that behavior is Revit-only. For execution, logging, MCP, and testing workflows, all hosts follow the same platform model.

Learn More

Clone this wiki locally