Hidden walls in all views

Hello,

I would like to permanently hide a number of walls in all views at the same time. I have version 2023 of Revit and version 2.16.2.5624 of Dynamo.

Thank you for your valuable feedback

First, you’ll need a way to identify said walls. Would this be by type, size, etc.? Or do you need to add some identifying parameter to the walls? Or do you group the walls and hide the group? Or you could collect the element Ids and store them either internally in extensible data or externally in a temp file. Many options and directions this could go.

Give it a try and post when you run into issues.

There’s likely a much better way to handle this than an automation (unless you want to automate the identification of those walls based on some property like @aaronrumple is suggesting). What’s the use case for elements that will never be visible? I wouldn’t normally suggest using worksets for visibility, but in a situation where you essentially want to remove the elements from all views I’d say that’s the most straightforward approach. Just create a Hidden workset and default it to not visible in all views.

2 Likes

…Nick is right in this case.
I’m just philosophically prejudiced to using worksets for visibility. :wink:

2 Likes

As am I.

…and of course you could also use one of the often-unused parameters - such as cost, comments, or your own parameter and use the Visibility Filter feature. Always exhaust all the standard Revit tools before reaching for custom programing.

Hello,

We need to carry out cladding using relief profiles. It works very well. However, the walls we are relying on must disappear from the view to let the columns and steel cladding be visible. It works if we manually hide the walls, but we have a lot of views.

I have already started a script that isolates the walls that I want to hide but I am there and I do not see the continuation?

its doable but i agree with everyone — it’s better to convert the logic of isolating walls into a filter. after all, filters and view templates are rather concrete, whereas scripts, on the other hand, might be forgotten after a few weeks. at that point, you might need to spend time writing another script to fetch hidden elements again.

elems = UnwrapElement(IN[0])
# use other views as you see fit
doc.ActiveView.HideElements(List[ElementId](map(lambda e: e.Id, elems))) 

And a timely topic as Erik just posted a new video on how to copy view filters from view to view.
Erik - View Filters