-
Notifications
You must be signed in to change notification settings - Fork 0
Migration To v3.0
Truong Giang Vu edited this page May 31, 2026
·
1 revision
v3.0 is a major architecture shift from the v2.x Revit-only toolset to a development platform for .NET-based CAD/BIM applications. Currently supports Revit and AutoCAD-family, designed to extend to any .NET-capable host.
| v2.x | v3.0 |
|---|---|
| Revit-only codebase | Shared DevTools.* platform + host-specific projects |
RevitDevTool.sln |
RevitDevTool.slnx |
Release R25 configs |
Release.Autodesk.2025 configs |
| Revit 2022–2026 | Revit 2022–2027 + AutoCAD-family 2022–2027 |
| .NET 4.8 / .NET 8.0 | + .NET 10.0 (Revit 2027) |
| v2.x | v3.0 |
|---|---|
| UV-first deps | Pixi-first deps (conda-forge + PyPI) |
sys.__revitdevtool__ |
sys.__devtool__ (unified for all hosts) |
| Feature | Notes |
|---|---|
| AutoCAD host | Full execution, logging, MCP, PyTest |
| Civil 3D, Plant 3D | Loaded via AutoCAD add-in |
| MCP server | Standalone MCPServer.exe discovers all running hosts |
| MCP in-host tools |
execute_csharp_code, open_document
|
| PyTest multi-host |
--host revit, --host autocad, --host civil3d
|
| IronPython | First-class script mode + pyRevit runtime support |
| C# / F# scripts | Roslyn-based script execution |
| Revit Command Browser | Searchable command access |
| Old Reference | Current Location |
|---|---|
RevitDevTool.sln |
RevitDevTool.slnx |
source/RevitDevTool.PythonDemo/ |
Samples/PythonDemo/ |
source/RevitDevTool.DotnetDemo/ |
Samples/CSharpDemo/ |
Release R25, Debug R25
|
Release.Autodesk.2025, Debug.Autodesk.2025
|
| Revit-only execution source | Shared source/DevTools.Execution/ + host adapters |
v2.x docs were UV-centric. v3.0 is Pixi-first:
- PEP 723 metadata still declares dependencies
- Pixi environment:
%APPDATA%\RevitDevTool\pixi-env\ - Pixi resolves from conda-forge + PyPI channels
- pip fallback for locked-down machines
| Mode | File Pattern |
|---|---|
| CPython 3.13 | *script.py |
| IronPython | *_ipy_script.py |
| C# script | *script.csx |
| F# script | *script.fsx |
| .NET assembly |
.dll with supported command types |
The revitdevtool_pytest plugin v0.3.0 replaced Revit-specific CLI options:
| Old (v0.2.x) | New (v0.3.0) |
|---|---|
--revit-version |
--host-version |
--revit-pipe |
--host-pipe |
--revit-launch |
--host-launch |
--revit-timeout |
--host-timeout |
| N/A |
--host (revit, autocad, civil3d, etc.) |
Config in pyproject.toml:
[tool.pytest.ini_options]
host_name = "revit"
host_version = "2025"The logging backend has been re-architected:
| v2.x | v3.0 |
|---|---|
| Serilog | ZLogger (lower allocation, faster) |
| WinForms RichTextBox | Scintilla.NET (handles large log volumes without freezing) |
The user experience (syntax highlighting, color keywords, JSON formatting) remains the same.
- Run Code Overview
- Modern Python Scripting
- Python Debugging
- Python Ecosystems
- RevitDevTool And pyRevit
- Python Stub Generation
- Run .NET Add-ins
- Scripting Runtimes