CreateNoteBlock Method


Creates a note block.

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 CreateNoteBlock(
	Document document,
	ElementId familyId
)
Visual Basic
Public Shared Function CreateNoteBlock ( _
	document As Document, _
	familyId As ElementId _
) As ViewSchedule
Visual C++
public:
static ViewSchedule^ CreateNoteBlock(
	Document^ document, 
	ElementId^ familyId
)

Parameters

document
Type: Autodesk.Revit.DB Document
The document to which the new schedule will be added.
familyId
Type: Autodesk.Revit.DB ElementId
The ID of the family whose elements will be included in the schedule.

Return Value

The newly created schedule.

Remarks

A note block is a schedule of the Generic Annotations category that shows elements of a single family rather than all elements in the category.

Examples

Copy C#
ViewSchedule noteBlockSchedule = null;

using (Transaction transaction = new Transaction(doc, "Creating Note BLock"))
{
    //Get first ElementId of a Note Block family.
    ICollection<ElementId> noteblockFamilies = ViewSchedule.GetValidFamiliesForNoteBlock(doc);
    ElementId symbolId = noteblockFamilies.First<ElementId>();

    if (!symbolId.Equals(ElementId.InvalidElementId))
    {
        transaction.Start();

        //Create a note-block view schedule.
        noteBlockSchedule = ViewSchedule.CreateNoteBlock(doc, symbolId);
    }

    if (null != areaSchedule)
    {
        transaction.Commit();
    }
    else
    {
        transaction.RollBack();
    }
}
Copy VB.NET
Dim noteBlockSchedule As ViewSchedule = Nothing

Using transaction As New Transaction(doc, "Creating Note BLock")
    'Get first ElementId of a Note Block family.
    Dim noteblockFamilies As ICollection(Of ElementId) = ViewSchedule.GetValidFamiliesForNoteBlock(doc)
    Dim symbolId As ElementId = noteblockFamilies.First()

    If Not symbolId.Equals(ElementId.InvalidElementId) Then
        transaction.Start()

        'Create a note-block view schedule.
        noteBlockSchedule = ViewSchedule.CreateNoteBlock(doc, symbolId)
    End If

    If areaSchedule IsNot Nothing Then
        transaction.Commit()
    Else
        transaction.RollBack()
    End If
End Using

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentException document is not a project document. -or- familyId is not a valid family for a note block.
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 →