Skip to main content

revit-context-menu

Add Autodesk Revit right-click context menu entries with the Nice3point.Revit.Extensions fluent API. USE FOR: registering context menu items, submenus, and separators bound to command classes during application startup. DO NOT USE FOR: ribbon panels and buttons (use revit-ribbon).

Jump to install

Source facts

Repository
Nice3point/revit-skills
Last source activity
July 20, 2026 at 20:20
Detected SKILL.md language
English
Stars
13
Forks
3

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
revit-context-menu
description
Add Autodesk Revit right-click context menu entries with the Nice3point.Revit.Extensions fluent API. USE FOR: registering context menu items, submenus, and separators bound to command classes during application startup. DO NOT USE FOR: ribbon panels and buttons (use revit-ribbon).
license
MIT
# Revit Context Menu `ConfigureContextMenu` (from `Nice3point.Revit.Extensions`) wraps the raw context-menu registration into a fluent call. Register the menu once during application startup. ## When to use - Adding entries to Revit's right-click context menu, bound to command classes. ## When not to use - Building ribbon panels and buttons — use `revit-ribbon`. ## Workflow ### Step 1: Configure the menu `AddMenuItem<TCommand>` binds a menu item to a command type; `AddSeparator` inserts a divider; `AddSubMenu` nests a `ContextMenu`. ```csharp application.ConfigureContextMenu(menu => { menu.AddMenuItem<AnalyzeCommand>("Analyze selection"); menu.AddSeparator(); var exportMenu = new ContextMenu(); exportMenu.AddMenuItem<ExportCommand>("Export selection"); menu.AddSubMenu("Export", exportMenu); }); ``` Use the `ConfigureContextMenu(title, configuration)` overload to title the menu group. ### Step 2: Verify Right-click in Revit and confirm the items and submenu appear and each invokes its command. ## Validation - [ ] The menu is configured once during application startup. - [ ] Items bind to command types via `AddMenuItem<TCommand>`. - [ ] Submenus are built as a `ContextMenu` and added with `AddSubMenu`. ## Common Pitfalls | Pitfall | Correct approach | |----------------------------------------------------|-------------------------------------------------------------------| | Registering context menu items through the raw API | Use `ConfigureContextMenu` with `AddMenuItem<TCommand>`. | | Expecting `AddSubMenu` to take a lambda | Build a `ContextMenu` and pass it to `AddSubMenu(name, subMenu)`. | | `ConfigureContextMenu` not found | The `Nice3point.Revit.Extensions` package is not referenced. |
View on GitHub