Super Collect Elements from Document

For model checking and auditing, it is often useful to be able to collect every single element from a Revit model. One way of doing this is to use the built in Category list, and then loop through and select all elements from each Category. This node also allows Document as input, meaning it can collect from the Current Document, Linked Documents, or even from Documents open in the current Revit instance. In terms of usefulness, this node may capture more elements than you actually need, as it casts a very wide net. Hence the name… Super Collect Elements. The outputs include showing which Categories had elements ‘found’ in them, and a ‘flat list’ of elements. The flat element list can be very useful for getting parameters or performing other operations like converting using Element.Geometry.

It can also be used for Linked Documents. In the example below, Views are removed from the Category list to avoid dealing with View Template selection issues:

The actual Python script used to loop and select by built in category name is quite basic: