Creates a new tab on the Revit user interface.

Namespace: Autodesk.Revit.UI
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 21.0.0.0 (21.1.1.109)

Syntax

C#
public virtual void CreateRibbonTab(
	string tabName
)
Visual Basic
Public Overridable Sub CreateRibbonTab ( _
	tabName As String _
)
Visual C++
public:
virtual void CreateRibbonTab(
	String^ tabName
)

Parameters

tabName
Type: System..::..String
The name of the tab to be created.

Remarks

This method will create a custom tab at the end of the list of static tabs. If multiple tabs are added, they will be shown in the order added. This method is not supported in Macros.

Examples

CopyC#
public Result OnStartup(UIControlledApplication application)
{
    // Create a custom ribbon tab
    String tabName = "This Tab Name";
    application.CreateRibbonTab(tabName);

    // Create two push buttons
    PushButtonData button1 = new PushButtonData("Button1", "My Button #1",
        @"C:\ExternalCommands.dll", "Revit.Test.Command1");
    PushButtonData button2 = new PushButtonData("Button2", "My Button #2",
        @"C:\ExternalCommands.dll", "Revit.Test.Command2");

    // Create a ribbon panel
    RibbonPanel m_projectPanel = application.CreateRibbonPanel(tabName, "This Panel Name"); 

    // Add the buttons to the panel
    List<RibbonItem> projectButtons = new List<RibbonItem>();
    projectButtons.AddRange(m_projectPanel.AddStackedItems(button1, button2));

    return Result.Succeeded;
}
CopyVB.NET
Public Function OnStartup(application As UIControlledApplication) As Autodesk.Revit.UI.Result Implements IExternalApplication.OnStartup
    ' Create a custom ribbon tab
    Dim tabName As [String] = "This Tab Name"
    application.CreateRibbonTab(tabName)

    ' Create two push buttons
    Dim button1 As New PushButtonData("Button1", "My Button #1", "C:\ExternalCommands.dll", "Revit.Test.Command1")
    Dim button2 As New PushButtonData("Button2", "My Button #2", "C:\ExternalCommands.dll", "Revit.Test.Command2")

    ' Create a ribbon panel
    Dim m_projectPanel As RibbonPanel = application.CreateRibbonPanel(tabName, "This Panel Name")

    ' Add the buttons to the panel
    Dim projectButtons As New List(Of RibbonItem)()
    projectButtons.AddRange(m_projectPanel.AddStackedItems(button1, button2))

    Return Result.Succeeded
End Function

Exceptions

ExceptionCondition
Autodesk.Revit.Exceptions..::..ArgumentNullExceptiontabName or panelName is nullNothingnullptra null reference (Nothing in Visual Basic).
Autodesk.Revit.Exceptions..::..ArgumentExceptiontabName or panelName is Empty or the tab name duplicates the name of another tab in the Revit UI.
Autodesk.Revit.Exceptions..::..InvalidOperationExceptionToo many custom tabs have been created in this session. (Maximum is 20).

See Also