What's New in the Revit 2025 API

The Revit 2025 API contains significant changes and enhancements for add-in developers:

Top level table of contents:

Information Sources

The information below is based on the contents of the Revit Platform API Changes and Additions.docx document included with the Revit 2025 SDK, the software developers kit available from the Revit Developer Centre.

It is also provided in the section on What's New in the Revit 2025 API help file RevitAPI.chm included with the SDK:

Revit 2025 API help on What's New

For convenient, easy, and effective web searching, this blog post provides a cleaned-up online HTML version of that information with numbering and table of contents added, as well as the following PDF printout of the original document included in the SDK with table of contents and page numbers added:

The What's New section and the Changes and Additions document provide important information for discovering and exploring the newly added API functionality and for later reference.

If you encounter any issues migrating your existing add-ins between different versions, this is one of the first places to look.

For detailed information on all other aspects of the Revit API, please refer to the rest of the API documentation and samples provided in the SDK.

The most important things to install and keep at hand are:

You will regularly need both for research on how to solve specific Revit API programming tasks.

More in-depth official explanations and background information is provided by the online Revit API Developers Guide included in the Revit 2025 online help.

What's New in Previous Versions

Here are links to previous discussions of What's New in the Revit API:

Detailed Table of Contents

1. API Changes

1.1. CefSharp upgrade

Revit and Autodesk add-ins use the CEFsharp library internally for several features. Some third-party add-ins do so as well. Occasionally, when different versions of the library are used, it leads to instability issues for Revit. In order to avoid version conflicts, we are clarifying what CEFsharp version is being used, and loading it prior to all add-in initializations.

1.2. Revit now on .NET 8

The Revit API for Revit 2025 is built on .NET 8. This upgrade keeps Revit up to date with the latest .NET features, performance improvements, and security fixes.

Addins for Revit 2025 will need to be rebuilt on .NET 8.

1.3. Add-ins and macro changes

1.3.1. MacroManager API

Updated Revit macro tool with modernized UI and code editor that also supports modern .NET API. Following methods were changed.

The following properties were deprecated:

The following methods were deprecated:

The following enums were deprecated:

1.4. Array API changes

The valid arrays size differs in project and family documents. The replacement method takes the document as an argument so we get an accurate answer.

1.5. BRepBuilder API changes

BRepBuilder now accepts HermiteSurface as a permitted support surface type for faces.

Changed behavior:

1.6. Dimension API changes

After the introduction of LinearDimension class, when filtering for Dimensions, linear dimensions will return as type LinearDimension (child class) instead of Dimension (parent class).

Methods affected:

1.7. Extensible Storage(Schema) API changes

Fixed two API(s) for the Extensible Storage feature:

1.8. Electrical API changes

1.8.1. Distribution system

The following properties were modified to support high-leg delta and single-phase distribution system.

1.8.2. Parameter Naming

Improved naming for the following electrical parameters to remove ambiguity, improve accuracy, and better adhere with industry terminology.

1.9. Link Visibility/Graphic Override API changes

The following methods were modified to support custom settings type.

1.10. MEP changes

1.10.1. Duct Settings

Two new properties DuctSettings.AirDynamicViscosity and DuctPressureDropData.DynamicViscosity were added to clarify the value used in the duct pressure loss calculation. They replaced the deprecated properties that were kinematic viscosity.

1.11. Reinforcement API changes

1.11.1. Rebar

1.12. Slab API changes

The following methods were added for adding split line on SlabShapeEditor.

1.13. Structure API changes

1.13.1. Bending details in view

The following parameters were renamed without any changes to their functionality.

1.13.2. Analytical Surface

The following new method was added that allows users to verify if contour is valid for this Analytical Surface.

1.14. Task Dialog API changes

Support added so that FooterText property can contain a hyperlink of the form "rvthelptopic:[topic]" to launch Revit's contextual for the topic specified. Previously, the only option was to specify "#" as the hyperlink and set the Dialog Id, making it difficult to share dialogs with same Id, but different context and associated Help.

1.15. Toposolid API changes

The following parameters were renamed without any changes to their functionality.

1.16. Obsolete API removal

The following API members and classes which had previously been marked Deprecated have been removed in this release. Consult the API documentation from prior releases for information on the replacements to use:

1.16.1. Classes

1.16.2. Properties

1.16.3. Methods

1.16.4. Enums

2. API Additions

2.1. Add-ins and macros additions

2.1.1. MacroManager API

The new property:

The new interface:

allows users to create new module project by implementing this interface.

The new event:

is raised after the macro modules are updated.

2.2. Analysis API additions

2.2.1. MEP Analytical networks

The new constructor allows users to traverse both sides of the specified analytical segment. In comparison, the existing constructor MEPNetworkIterator(Document, MEPAnalyticalNode, MEPAnalyticalSegment) only traverses one side of the analytical segment.

2.2.2. MEP Duct/Pipe Pressure Loss calculation

Users now have access to Duct/Pipe pressure loss characteristic allowing them to correlate the element and understand the calculation logic.

The new classes:

2.2.3. MEP Space Engineering Parameters

Users now have access to building operating day and year schedules allowing them to create and edit schedules that describe the usage of buildings (occupancy, power, lighting) for use in energy analysis.

The new classes:

The new methods:

The new properties:

2.3. Annotations API additions

Exposing the new class to fix different behavior of span direction symbol between UI and API.

The new class:

represents an instance of a Span Direction Symbol in Autodesk Revit.

2.4. Array API additions

2.4.1. Linear Array

The new methods:

2.5. MEP Fabrication API additions

The new methods in the FabricationConfiguration class now provides support to check for bad connections between fabrication parts prior to reloading the configuration.

2.6. DirectShape API additions

The new method:

2.7. Dimension API additions

Users can now create radial, linear and arc length dimensions via the API in a project document.

The new classes:

The new methods:

2.8. Electrical API additions

Added functionality for high-leg delta and single-phase distribution system. User can now create and modify high-leg delta distribution system and single-phase load in electrical analytical distribution system, and get the per phase current on each node.

The new classes:

The new properties:

The new enums:

2.9. Energy Analysis API additions

2.9.1. gbXML export options

We now provide support for legacy export of gbXML based on a conceptual energy analytical model from a conceptual mass model from add-ins/add-ons.

The new methods:

The new constructor:

The new property:

2.10. IFC API additions

2.10.1. IFC Hybrid Import

2.10.2. IFC Category Mapping

Added functionality that allows user to control the way how Revit categories are mapped to IFC Classes during IFC Export. User can now create, retrieve and modify IFC category mapping templates.

The new classes:

The new enum:

has the following values:

2.11. Import Export API additions

The new functionality provides support for importing, linking and exporting files of STEP format.

The new class:

represents the options for STEP formats.

The new methods, uses the new class STEPImportOptions:

2.12. PDF Export API additions

Document export for PDF now allows using a separate Revit Worker to create the PDF in the background, leaving the main Revit process free for other work. FileExporting and FileExported events are triggered at the start and end of the export job respectively. There are new API calls for PDFExportOptions, FileExportedEventArgs, and FileExportingEventArgs. Third party Addins may interfere with the PDF generation using this feature if they change the appearance of Elements in a way that is not serialized.

The new method:

The classes FileExportingEventArgs and FileExportedEventArgsBoth have a new member:

2.13. Reinforcement API additions

2.13.1. Rebar

Users now have the ability to create and modify rebar constraints to surfaces.

The new enum:

represents the status of the constraints.

The new value for RebarConstraintType enum:

represents handle is constrained to a surface.

The new methods:

2.13.2. Rebar splice type options and rules

Added functionality for splicing the rebar. Users can now splice a rebar, remove the splice (keeping the bars separated), unify into one bar, modify the data related to splice and modify the constraints of the spliced bars seeing as splice chain.

The new classes:

The new methods:

The new properties:

The new enums:

2.14. Selection API additions

2.14.1. UI Application

The new enum:

The new read-only property for ThemeChangedEventArgs:

2.15. Sketched Element API additions

2.15.1. Wall APIs

The new methods now allow users to selectively enable or disable end wrapping for a specific wall end when the wall's end wrap is activated in the Wall Type dialog.

2.16. Structure API additions

2.16.1. Analytical Elements

The new methods:

2.16.2. Analytical Surface

The new method:

2.16.3. Bending Details on Drawings

Added new functionality for enhancing bending details. These include the ability to create and customize the size of schematic bending detail boxes, set specific tag types for bending details, adjust the position and rotation of tags relative to the bending detail, customize the tag alignment option, and add multiple hosts for the schematic bending detail. This update offers greater flexibility and precision in the representation and annotation of bending details in Revit models.

The new methods:

The new properties:

The new enum:

represents the mode in which the Bending Detail will be represented.

2.16.4. Radial Array

The new methods:

2.17. Tag/Keynotes API additions

We now provide functionality to align multiple text, tags and keynotes with new contextual alignment tools in the ribbon.

The new class:

allows users to align annotation elements to one another. Currently supports TextNotes, Tags and Keynotes.

The new methods:

2.18. Toposolid API additions

Added functionality for Toposolid smooth shading.

The new methods:

The new classes:

The new enum:

The new properties:

2.19. UI API additions

2.19.1. Context Menu

We now provide functionality to create context menu from an add-in.

The new Interface:

The new Constructor:

The new methods:

2.20. View API additions

2.20.1. SheetCollection

The new class:

The new methods:

The new property:

2.21. Link Visibility/Graphic Override API additions

The new functionality allows Revit Link Visibility/Graphic Overrides, for the 'Custom' option.

The new methods in class Autodesk.Revit.DB.RevitLinkGraphicsSettings:

The new properties in Autodesk.Revit.DB.RevitLinkGraphicsSettings:

2.22. RevitServer Enterprise / Revit Cloud Worksharing API additions

The following events have been supported for file-based worksharing since 2021. We now support them in RevitServer Enterprise/Revit Cloud Worksharing.