Skip to content

Issues/#2317 - Add New "Mass Pin/Unpin" Tool with Category Selection#2772

Merged
jmcouffin merged 4 commits intopyrevitlabs:developfrom
Wurschdhaud:issues/#2317
Aug 25, 2025
Merged

Issues/#2317 - Add New "Mass Pin/Unpin" Tool with Category Selection#2772
jmcouffin merged 4 commits intopyrevitlabs:developfrom
Wurschdhaud:issues/#2317

Conversation

@Wurschdhaud
Copy link
Copy Markdown
Contributor

Description

This pull request introduces a new tool that allows users to pin or unpin multiple elements across a variety of categories from a single interface.

The script opens a selection dialog where users can choose which element categories to apply the action to. Supported categories include:

  • Grids
  • Levels
  • Revit Links
  • Section Boxes
  • Imported DWG Files
  • Project Base Point
  • Survey Point

Once selected, the tool will pin or unpin only those elements, based on the current configuration mode (shift-click).


Checklist

Before submitting your pull request, ensure the following requirements are met:

  • Code follows the PEP 8 style guide.
  • Code has been formatted with Black using the command:
    pipenv run black {source_file_or_directory}
  • Changes are tested and verified to work as expected. - Revit 2024 only

Related Issues

If applicable, link the issues resolved by this pull request:


Thank you for contributing to pyRevit! 🎉

Copy link
Copy Markdown
Contributor

@devloai devloai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Summary:

  • Adds new "Mass Pin/Unpin References" tool for bulk pinning/unpinning elements
  • Supports multiple categories: Grids, Levels, Revit Links, Section Boxes, DWG imports, Project/Survey Points
  • Uses category selection dialog with shift-click toggle between pin/unpin modes
  • Implements proper transaction handling and multi-language support

Review Summary:

Reviewed the implementation against pyRevit coding standards and Revit API patterns. The core functionality and architecture follow established pyRevit conventions for category selection and transaction management. Found one critical logic issue with DWG import filtering that needs correction to match the advertised functionality.

Follow-up suggestions:

@devloai fix the identified DWG filtering issue

@jmcouffin jmcouffin merged commit ffcba92 into pyrevitlabs:develop Aug 25, 2025
@jmcouffin
Copy link
Copy Markdown
Contributor

I like the fact you used the shift click to toggle the functionality, not intuitive for people new to pyRevit, but well, everyone has to learn anyway.
Thanks for this PR

@Wurschdhaud Wurschdhaud deleted the issues/#2317 branch August 25, 2025 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Button to PIN all Links & Grids & Others

2 participants