Bug + suggestion for selecting entities without tags

I work on structural design, and our projects have lots of structural columns, framing, foundations, connections, etc. When I realized pyRevit has a tool for finding untagged elements, I was overjoyed, as it’s easy to miss a column or beam here and there!

However, the tool doesn’t seem to work properly (for me, anyway).

If no items are tagged, then the tool works as intended, and highlights all the specified elements. But if any elements have already been tagged, then the following error occurs:

Curiously, this error did not happen when I chose Rooms without tags, but did for Columns, Doors, Windows and Walls (though I didn’t test every category); for Rooms, the tool seemed to work as intended.

As for my feature request, it is simply for this tool to be configurable (the shift-click option) to let me add the following types of elements:
Structural Columns
Structural Connections
Structural Foundations
Structural Framing
… as these are all items we frequently tag by the dozens (or hundreds) on our drawings, and the most likely to be accidentally overlooked.

Thanks for all the work on pyRevit. It really makes a difference!

The TaggedLocalElementId has been deprecated in 2022
see here ApiDocs.co
The new method is GetTaggedLocalElementIds()

Fixed by:

Either you can copy paste the changes or wait for @eirannejad to include it in the next release

It does take into account the structural columns already
I added the foundations and the framing,
couldn’t add the struct connection as I couldn’t find the category in the little time I had

Enjoy

WIP build will be posted here soon

1 Like

Thanks @eirannejad

@Revitech it is ready: https://github.com/eirannejad/pyRevit/suites/8589798508/artifacts/384783399

1 Like

Works like a charm. Thank you so much for adding/fixing this!

As a long-term suggestion, if Structural Connections could one day be added as well, that would be great – but already you’ve built a tool that will save me time and errors. Many thanks.


Upon further reflection (and looking at the relevant py script), is there any reason I shouldn’t be able to add something like this (but edited to reflect structural connections, after looking at the API docs to make sure I’ve got my syntax and classes correct) on my own?

'Structural foundations': Taggable(
    tag_type=DB.BuiltInCategory.OST_StructuralFoundationTags,
    element_type=DB.BuiltInCategory.OST_StructuralFoundation
    ),

I’m happy to experiment, but if you already know of some reason why this won’t work (at least not for a py coding newbie) then a word of caution or advice might help to either inspire me or save me from frustration. :slight_smile:

good you stepped in
Yes you could add your own.
you can guess which one is the one, I have no clue

Hi,
I’m new to pyrevit.
This tool works for “current view”.

  1. Is there a way to run it for a collection of views. Specifically, all views that are on sheets. Can we write a script somewhere to iteratively call this tool for several views?
  2. How does it handle dependent views?

image
Thanks