I guess what I was saying about the worksets is that the envelope is usually it’s own workset or two that contains all exterior walls, windows, doors, curtain wall elements, roofs and the like which make up the shell. Just about every model of significance I have ever worked on has been set up like this. If you want to delete all the interior elements then filter by the workset they are in, and delete the elements on all worksets but the shell/envelope workset. Script would be something like this:
- Generate a new 3D view.
- set the new view to the last phase, and show complete phase filter.
- Get all elements in the new view.
- Group all elements by their workset.
- Trigger UI pop up with datashapes to generate a radio button to generate booleans for each workset name.
- Filter out groups based on the results of the UI node.
- Mass delete elements in the selection set with the tool.eraser node or similar.
Concern is this might purge a roof or other improperly placed element. Garbage in, garbage out.
The creation of a mass or in place family was referring to trying something based on selecting all walls with an exterior function. I suppose the mass or inplace family could be redundant, and maybe you would prefer to keep the elements as they are.
Something like this:
Same step 1-3.
4) Filter the list into wall elements and non-wall elements.
5) Get the function of the walls, and filter out walls with any function other than exterior.
6) Get all elements hosted to these walls.
7) Remove the roofs and other ‘exterior only’ categories from the set excluded in step 4.
8) Remove the items gathered in step six from the list.
9) Delete the elements still included in the list.
Again, this will suffer if your model hasnt been set up right. Stuff like exterior walls having an interior function, or roofs modeled as floors. Garbage in…