November 02, 2005

Filtering Objects in an ADT Schedule

The first level of control over which items appear in your schedule is by setting up the appropriate object types on the Applies To tab of the Schedule Table Style. You can further control the objects of those object types that are to appear in your schedules without laboriously selecting individual items – which is not even possible when scheduling through externally referenced files or through an external drawing – by filtering out unwanted items. You can set up filters in two different ways:

1. Layer Filter: This is applied to each individual instance of a schedule, in the Properties palette. It requires that you have placed items to be scheduled and items not to be scheduled on separate layers. You will need to add the layer filter every time you add a new schedule table. If you are scheduling through an externally referenced file, be certain that your layer filter includes the layer on which the Xref is inserted and also includes the externally referenced layer names. For example, if you have a file called A01.dwg that has doors you wish to schedule, those doors are on layer A-Door-N and that file is externally referenced into another file, on layer A-Anno-Refr-N, where you will be generating your door schedule, then your layer filter may want to be something like
You can include multiple filters in the layer filter – separate each with a comma.

2. Classifications: You can set a classification filter on the Applies To tab of the Schedule Table Style. This will apply to all instances of the schedule, without any further action on your part. Note that you must have your Classification Definition in the file with your Schedule Table Style prior to trying to set a Classification filter.

Classifications are assigned at the style level, so they only work for ADT objects that have styles/definitions. They will not work for AutoCAD objects, including block references. For classifications to work, you need to have separate object styles for objects to be scheduled and objects that are not to be scheduled. [In other words, you can not use the same style for two objects, one to be scheduled and the other not to be scheduled.]

The Classification Definition you use should have at least two classifications defined within it. One [or more] classification[s] would be assigned to the objects to be scheduled and one [or more] classification[s] would be assigned to the other objects. You could have just one classification, for objects to be scheduled, and leave the unscheduled objects unclassified, but that may cause problems down the line, when you or someone else working on the project tries to remember/determine whether a style was intentionally not classified so as not to be scheduled or was simply either overlooked or added after the initial schedule was created.

Exactly how you should set this up depends upon whether you want to use the same Classification Definition for other purposes. One method that others have recommended here is to use the out-of-the-box Uniformat classification system, assigning appropriate classifications to each door style, keeping track of those that should be scheduled, then checking only those on the Applies To tab of your Schedule Table Style. Another method, and one which I have used successfully, is to set up a Classification Definition just for scheduling, with two classifications: Schedule and NoSchedule. This makes the intent very clear; if you have need to use the out-of-the-box Uniformat classifications or one of your own for other purposes, you can attach that along with the one for scheduling, and need not worry about which of those classifications are scheduled and which are not.


Anonymous said...

Just noticed that one can invert a filter with a ~ (tilde) e.g.

to catch all layers BUT A-Eqpm

Not sure if the other wildcards are respected yet.

David Koch said...

Thanks for adding that. You do need to be careful if you add multiple inverted filters, separated by commas, a layer excluded by one inverted filter may be included by another, resulting in all, or almost all, layers passing through.

Unknown said...

David, how would you filter the schedule by Level? i.e. i have doors on multiple levels in a spanning construct. how do i tell the schedule for level 3 to only include doors on that level? Thanks in advance!

David Koch said...

If you can place the Doors on level-specific layers, then you may be able to use a layer filter - although you may need to do that for all Doors. Unless you have a fairly small team and can get everyone to be careful with the layering, I would not recommend this method.

The other alternative would be to set up a classification definition that listed all of your levels, and apply the appropriate level classification to each Door. You could then filter the schedule by the level classification. In more recent releases, the classification assigned at the style level can be overriden at the object level, so you would not need to have separate copies of each Door Style for each level.