CreateMaterialTakeoff Method


Creates a material takeoff.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 22.0.0.0 (22.1.0.0)
Since: 2013

Syntax

C#
public static ViewSchedule CreateMaterialTakeoff(
	Document document,
	ElementId categoryId
)
Visual Basic
Public Shared Function CreateMaterialTakeoff ( _
	document As Document, _
	categoryId As ElementId _
) As ViewSchedule
Visual C++
public:
static ViewSchedule^ CreateMaterialTakeoff(
	Document^ document, 
	ElementId^ categoryId
)

Parameters

document
Type: Autodesk.Revit.DB Document
The document to which the new schedule will be added.
categoryId
Type: Autodesk.Revit.DB ElementId
The ID of the category whose elements will be included in the schedule, or InvalidElementId for a multi-category schedule.

Return Value

The newly created schedule.

Remarks

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.

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException document is not a project document. -or- categoryId is not a valid category for a material takeoff.
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was null
Autodesk.Revit.Exceptions 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.
Autodesk.Revit.Exceptions ModificationOutsideTransactionException The document has no open transaction.

See Also

ArchiLabs

Stop fighting Revit automation.

Build repeatable BIM design and documentation workflows with scripts, data, and AI in one place, without wrestling brittle one-off automations.

Try ArchiLabs →