Ensure level integrity
Filtering a model in Assemble by level is an easy way to iterate through a building to verify design completion, decisions, and quantities.  Level filtering also allows you to target an individual floor of the building and view only that floor’s data and quantities. One of the keys to level integrity is having the top constraint set to the level above and not to span multiple levels with a single object. While it is common to have some items, such as elevator shafts, columns, exterior skin, span the entire height of the building, you lose the ability to work the objects on any level other than the one assigned.

Designers will have very good reasons for not wanting to split elements by level, especially early in the design process. This can have an impact on production time and potential impact the look of certain views associated with their construction documents.

If you are a general contractor, you may want to consider slicing the model after you receive it from the designer and before publishing to Assemble using a tool like DPR model slicer. This will allow to quickly slice the model by level in Revit prior to publishing to Assemble.

Utilize worksets in logical building breakdown
In addition to allowing multiple people to work on a single model, Worksets allow for you to split up the building in logical arrangements.  It is often necessary for owners to review the building information categorized in different ways.  It may be a hospital divided by departments, a multi-use building separated by retail, residential, and parking, or an office building organized by program areas.  By utilizing Worksets when creating the model, you build in a powerful and easy way to group and filter the data within Assemble.  With saved views for each Workset, you are able to quickly generate reports that organize the building’s data in the way that makes the most sense to the owner.

It's very important though to meet and discuss potential workset scenarios as soon as possible with the design team members. This will allow them to review any potential issues and make any adjustments before they are too involved with the project and the team is used to working a certain way.

Added parameters
The inclusion of custom type and instance parameters result in limitless ways for which you can group and filter your model. In addition, the extra parameters allow you to increase the possible workflows and extend the life of your model well past the pre-construction and estimating phases. Simply adding “constructed” and “constructed date” parameters allow you to track current state of construction and identify what was built, when, and compare that to the anticipated schedule.

Furthermore, you can use the automatically generated quantities from Assemble in conjunction with the constructed date and verify quantities and progress from sub-contractor pay requests.  All of this is possible by adding two custom parameters and publishing to Assemble.

LoD and Elements
It's important to consider what is going to be modeled and in some cases what Revit tool is going to be used to create that element. For example, lets consider Windows, Store Fronts and Curtain Walls. Custom winodws require the creation or editing of Revit families. Mkore often than not, I see projects were the designers have substituted a store front or curtain wall for a window, as it is easier to create a curtain wall or store front that represents a window rather than editing a window family.

This might be acceptable if you are just creating 2D documents and your schedules are not coming from Revit. But if you want to use Revit to get an accurate count of windows, not using the Window object could cause problems.

Another example would be ceilings and floor finishes. It has been awhile, but I sat in a very interesting presentation on how a form was using Ceiling to model floor finishes. For that firm, that approach provided them with the desired results, but this could cause serious issues if the GC or CM wanted to obtain quantity information from the model.

The lesson here is to make sure that you define how elements are to be modeled (what Revit tool) and what LoD they should be modeled at. This doesn't need to be a long drawn out process, but I can't even think how many projects where I have seen columns represented with a short (length) wall.

Model vs 2D Documentation
Depending on where you are in the world, the designers experience using Revit can vary. Have you ever been sent a "model" that was nothing more than a .RVT file with 2D detail lines? It happens. It's always important to understand how the 2D documents relate to the model. After all, most contracts stipulate that the 2D documentation takes precedent over the model. I have found a fairly simple approach to checking this.

When you get a model from the designer, the first thing I do is remove any linked or inserted CAD files from the project so that I am only working with Revit geometry. I then delete all 2D detail and 3D model lines, as I only want to work with elements like doors, columns, ducts, etc.

I then publish the plan, section and elevation sheets from the model. Using Bluebeam, I then compare the original sheet PDFs from the designer to the sheets I published from the purged model. Bluebeam will then show me the variance between the two sets of documents.

If you look at a plan sheet and you see for example that walls are in different locations, then there is a good chance that the plans might have been embellished or edited in AutoCAD rather than Revit. This unfortunately is done a lot because a firm may or may not have sufficient Revit users to perform all the updates and many people find AutoCAD easier to use.

My general rule is that if you are working on a BIM project, Plan, Sections and Elevations should be generated from the model. I also think the majority of schedules should come from Revit, but this isn't always possible to commercially (financially) a viable option.