Suggest me Best practice to hide elements which where originally kept hidden from worksharing-disabled-model?

Hello,

I use Revit 2023. I have a need to hide model elements that are necessary to be kept in a Revit Model but they need to be kept hidden. When the work-sharing was enabled, visibility of these said elements were controlled by Worksets (placeholder elements, objects that are used for automation, solids that cut other solid geometry etc).

For handover, we need to detach central file, discard worksets using eTransmittal Option. Now the erstwhile hidden elements appear in the default 3D Views.

My current workflow is to take a list of all visible elements from active view from the Revit Model with Worksharing enabled, export them as csv. In the target detached model, I import the CSV List using Dynamo and compare against the visible elements and use List.SetDifference node to have elements to hide. I use the option to temporary isolate in view then manually hide them in active view.
The two scripts are like this:

I have a feeling this end goal can be reached much efficiently, provided that I need to do this for many models.

I am open to use custom nodes and python scripts if needed, but I prefer out-of-the-box dynamo solutions.

Thanks in advance.
Regards,
Balaji

Your method is how I would go about it if Dynamo was involved.

Two other options are:

  1. Delete all elements on the workset prior to detaching and discarding
  2. Select and assign a filterable value/parameter to those elements and use a view filter to hide them once detached
1 Like

I have no idea how I’d do this, as I can’t understand why I’d do this.

What’s the purpose of hiding the elements in the transferred file?

  1. Some elements are partially cut by these elements. Unfortunately, they cutter family is not void. They are solids.
  2. Some are hosts to other objects in Automation. Deleting these will delete the hosted objects. I would prefer if they become orphaned or Revit retained their original orientation and position. But that is not under the control now that the families are used across many models.

That’s a lesson learnt of course. In future need to have a parameter for filtering. Will keep that in mind, ABGuru. :slight_smile:

These two reasons make sense from a “just send the file as is” standpoint, and certainly rules out the ‘delete’ aspect.

Why hide them?

Leaning towards a parameter on them and using a filter, but the why is still missing, and the first time someone links that file into their work the filter will be of no use.

Why to hide them:
To have consistency with various Exchange formats like IFC, DWG.
I agree we have no control when someone links these Revit Models in their Revit Models. But in this project, we already provide Aggregated NWD files (prepared from *.IFC models), so coordination purpose is not disrupted. Quantities are also from IFC formats, since various Model Authoring Software vendors are involved

1 Like

Ok - so why not make the IFC and transfer that instead of detaching? Or just detach and send the model with worksets still there?

At the moment I still see this as “looking for an automation for a problem introduced by an unnecessary step in our process” rather than as a ‘we need an automation to solve a unique problem’.

1 Like

Because “Project requirements”. Had to meet them :grimacing:

Well, I believe worksets should not be disabled once enabled. It’s not best practice to do so. Even at milestone submissions. E-transmit gives you the option to preserve them as well. Otherwise, your hard work on managing them goes down the drain. At least that’s just my perspective.

Having said that, maybe two methods that you should try;

  1. using dynamo to detect all of the instances that needs to be hidden in every view and hide
  2. update the family to be invisible if it contains a solid
1 Like