Revit 2025.3 API
View |
Creates a material takeoff.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.3.0.0 (25.3.0.0)
Syntax
public static ViewSchedule CreateMaterialTakeoff( Document document, ElementId categoryId )
Public Shared Function CreateMaterialTakeoff ( document As Document, categoryId As ElementId ) As ViewSchedule
public: static ViewSchedule^ CreateMaterialTakeoff( Document^ document, ElementId^ categoryId )
static member CreateMaterialTakeoff : document : Document * categoryId : ElementId -> ViewSchedule
Parameters
- document Document
- The document to which the new schedule will be added.
- categoryId ElementId
- The ID of the category whose elements will be included in the schedule, or InvalidElementId for a multi-category schedule.
Return Value
ViewScheduleThe newly created schedule.

Exception | Condition |
---|---|
ArgumentException | document is not a project document. -or- categoryId is not a valid category for a material takeoff. |
ArgumentNullException | A non-optional argument was null |
ModificationForbiddenException | The document is in failure mode: an operation has failed, and Revit requires the user to either cancel the operation or fix the problem (usually by deleting certain elements). -or- The document is being loaded, or is in the midst of another sensitive process. |
ModificationOutsideTransactionException | The document has no open transaction. |

A material takeoff is a schedule that displays information about
the materials that make up elements in the model. Unlike regular
schedules where each row (before grouping) represents a single
element, each row in a material takeoff represents a single
<element, material> pair.
See Also