Skip to main content

Pin and unpin by category

The Pin / UnPin menus under BimSpeed.GEN → Align set element pinning by category in the current Revit document. They do not limit processing to the current selection or active view.

Verification scope

The ribbon, Pin/UnPin command classes and PinController were reviewed in source. The installed commands have not been exercised in the 23 October 2026 Revit session. The exercises below are proposed checks; no new runtime images, output counts or practice download are claimed.

Run with the intended scope​

  1. Copy your RVT and open the copy for practice.
  2. Choose the category. For a few individual elements, select them and use Revit's own Pin command; these BIMSpeed commands scan the document.
  3. Open Pin or UnPin, then choose the category.
  4. Inspect an element in the active view and another element of the same category on a different level or view. Checking the current selection alone does not establish document-wide success.

Every choice​

Pin sets Pinned = true; UnPin sets Pinned = false. Elements already in the target state are left as they are. This controller has no spacing, quantity or level filter inputs.

ChoiceSource scopeCheck
GridsOST_GridsSelect a grid and inspect pin state
LevelsOST_LevelsInspect a level in elevation or section
SectionsOST_ViewersInspect the view marker; the technical scope is the Viewers category
ElevationsOST_ElevInspect an elevation marker
TagsCategories whose names contain TagCheck tags in multiple views and their state after Undo
SheetsViews returned by GetAllPlacedViews() on every ViewSheetCheck separately; see the limitation below
ColumnsOST_StructuralColumnsCheck structural columns; architectural columns are a different category
FramingsOST_StructuralFramingInspect framing on multiple levels
FloorsOST_FloorsInspect a floor outside the active view
WallsOST_WallsInspect an editable wall
FoundationsOST_StructuralFoundationCheck foundations; this does not include every floor
Generic ModelsOST_GenericModelInspect a Generic Model instance
Elements Has VolumeInstances with a HOST_VOLUME_COMPUTED parameterCheck actual categories; the condition is parameter presence, not positive volume
RebarsOST_RebarSelect a Rebar element and inspect pin state
GroupsElements of class GroupInspect group instances; this does not establish individual member pinning
Link / LinksOST_RvtLinks instancesCheck the link instance in the host file; linked-file contents are not modified

Separator is a divider. Although the JSON retains a command value on these entries, RibbonUtils recognizes the Separator name and creates a divider instead of a command button. Some registered tooltips do not match their buttons, so verify the chosen command and installed version.

Sheets limitation​

The controller obtains View IDs placed on sheets and sets Pinned on those Views. It does not directly collect Viewport instances. This guide therefore does not claim that the command locks viewport positions. Inspect the actual viewport and use Revit's Pin on that viewport where needed.

Tags and Undo​

Tags iterates categories whose names contain Tag and opens a transaction for each category. Several Undo steps may be needed. Inspect the Undo list and representative tags; do not assume one Ctrl+Z restores all tags.

Practice: grids in two views​

Prepare two grids visible in different views. Record their initial state, run Pin → Grids, then inspect both. Run UnPin → Grids and inspect again. Source behavior predicts the requested state for editable grids. This exercise has not been completed in the current capture session.

Pinning can be reversed with UnPin; it is not an access-control mechanism. Save the RVT to preserve model changes.

Elements that do not change​

Category processing, Groups and Elements Has Volume catch errors per element and continue. Group members, unsupported elements and elements that cannot be edited may be skipped without a detailed result table. Sheets does not have the same per-element exception handling and needs a separate result check.

For an unchanged element, check its category, worksharing editability and group membership. Compare before/after states and Undo behavior before saving the practice copy.