Menu Mason turns the Revit ribbon into an editable hierarchy of tabs, panels, responsive components, and buttons. It combines a live ribbon preview with property editing and function assignment so a saved layout can be published directly back to Revit.
Core capabilities
- Create and manage complete WYSIWYG ribbon layouts.
- Edit tabs, panels, components, and button properties.
- Map native Revit commands by tab, panel, and button identity.
- Assign custom external commands, Dynamo graphs, executables, and command pipelines.
- Resolve light/dark icons and internal tooltip fallbacks.
- Publish or restore layouts while Revit remains usable.
- Close every running Revit session.
- Run
BIMGrove.MenuMason_Installer.exe. - Launch Revit 2023, 2024, 2025, 2026, or 2027.
- Open the BIMGrove ribbon and select Menu Mason button.
- Open Settings → Licensing when the selected access type requires activation.
Menu Mason uses the shared BIMGrove Host and Platform components. Revit can remain usable while the Menu Mason window is open.
The layout list is the catalog of complete ribbon arrangements. Selecting a row opens it for editing; double-clicking restores it as the active live layout in Revit.
- New: start a clean ribbon layout.
- Save: persist the current hierarchy and publish it to Revit.
- Duplicate: branch an existing layout before making structural changes.
- Rename: edit the saved layout name inline.
- Delete: remove the selected saved layout after confirmation.
When the current layout is dirty and the window is closed, Menu Mason asks whether the changes should be saved before closing.
Tabs
A tab is the top ribbon level. Existing Revit tabs keep a stable internal identity even when the visible label is customized.
Panels
Panels group related controls and define the first level of button placement within a tab.
Components
Components represent responsive containers and native ribbon structures such as stacks, pulldowns, separators, split controls, and overflow presentations.
Buttons
Buttons are the user-facing controls. Each button has appearance, exposure, menu placement, ownership, origin, and function properties.
- Label Line 1 / Label Line 2: define the visible two-line Revit button label.
- Icon: choose a custom icon or allow the internal/native icon to remain as fallback.
- Tooltip: define user help text; blank values can fall back to the internal tooltip.
- Visibility: show or hide the button in the active layout.
- Status: enable or disable the control; disabled controls appear halftone.
- Tab / Panel: move the selected control to the intended menu location.
- Origin / Ownership: identify the native class, command source, internal icon, and owning publisher.
Choose a Function Type first. The remaining fields update to the parameters required by that function.
Native Revit Command
Choose the source Revit tab, panel, and button. Menu Mason stores the selected command identity and posts it through Revit.
External Command
Select the managed assembly and command class, then configure supported parameters and execution behavior.
Dynamo Script
Select a graph, choose the launch method, and configure supported input or execution options.
External Executable
Set the executable path, working directory, arguments, and launch behavior.
Command Pipeline
Arrange supported actions in order, then control whether the pipeline stops or continues when an action fails or is cancelled.
- Select a Menu Mason button.
- Set Function Type to Native Revit Command.
- Choose the source Revit tab.
- Choose the source panel.
- Choose the source button or command.
- Save the layout and test the published button in Revit.
Menu Mason records the command identity and uses Revit’s supported posting path when the custom button is clicked. Native icons and tooltips may be retained as internal fallbacks. Autodesk assets extracted for local use must not be redistributed.
Native Revit Command: a command owned by Autodesk Revit itself, not a plug-in, third-party add-in, External Command, or other external function. When a Native Revit Command is assigned to a Menu Mason custom button, one successful execution counts toward Personal usage.
Primitive button: an original Autodesk Revit-owned button shown in Menu Mason. Its function is read-only and cannot be edited or changed. Executing the original primitive button does not consume Personal usage. If the primitive button is duplicated, the duplicate becomes a Menu Mason-owned custom button, is editable, and one successful execution counts toward Personal usage even when it still runs the same Native Revit Command.
Revit changes ribbon presentation as the application window becomes wider or narrower. Compact, expanded, collapsed, and overflow presentations should be treated as responsive states of the same underlying control rather than separate button classes.
- Use diagnostics to identify the native class and responsive container.
- Place separators and child controls under the correct Component.
- Compare the preview and native ribbon at more than one Revit window width.
- Avoid creating duplicate controls only to imitate a temporary compact state.
- Use paired
_Darkand_Lighticon names for theme-specific assets. - Provide exact 16 px and 32 px raster sizes when the Revit control supports both scales.
- Leave Icon blank to allow an eligible internal icon fallback.
- Switch the Revit Theme UI and confirm the Menu Mason preview refreshes without reopening the window.
- When the ribbon window width changes, verify the icon, text, stack, and pulldown presentation again.
The preview does not match the Revit ribbon
Check the selected Component, native class, responsive container, and current Revit window width. Compare expanded and compact states before changing the button type.
A light or dark icon is reversed
Verify the filename pattern, the 16/32 size suffix, and the _Dark/_Light designation. Switch Theme UI and confirm the preview refreshes immediately.
A saved layout does not appear in Revit
Save the layout again, confirm it is the active layout, and use the available ribbon reload/refresh action. Revit may require a restart when a native control cannot be safely rebuilt during the current session.
A native command button does nothing
Re-select the source tab, panel, and command, then verify the command is available in the active Revit context. Some native commands are disabled when their required document or selection state is not present.
Menu Mason closes with unsaved changes
A dirty layout should prompt to save before closing. If the prompt does not appear, preserve the current layout and contact BIMGrove Support with the Revit version and reproduction steps.
