Nine Practices for a Faster, Smarter Revit Experience

Large projects often succumb to slow load times, performance issues and bogged-down file load times. Revit relies heavily upon file access and manipulation, so surrounding software settings can greatly enhance performance. Your quick, easy Revit experience needn’t require intensive computer reformats, either. Many of Revit’s optimizations are accessible within the program. The following practices optimize the Revit experience, reducing load times and input lag:


Practice One: Avoid User-Uploaded Content

BIMopedia’s blog inspects the many ways users can optimize their experience, focusing on reduced load times and overall program strain. One of its top suggestions identifies user-upload websites as a key factor of Revit slowdown. BIM, or Revit “family” websites feature a wealth of useful content, but each download adheres to different parameters. Each embedded family may cause performance drains due to its used objects. Keep away from community uploaded content, especially when efficient families aren’t their high priority.


Practice Two: Remove Unused Options

Revit houses a slew of in-depth options to generate customized operation experiences. However, its multitude of inactive, invisible design options can greatly slow down the program. To maintain a “clean”, optimized Revit experience, search out any unused design options.

Additionally, locate any unplaced views and remove them. Though unused, these views still increase Revit’s overall data use—creating performance issues and big file sizes.

Practice Three: Utilize Room Separation Lines Wisely

Revit’s room separation lines divide its rooms where no bounding objects are present. They’re quite useful, but they can overlap with future bounding objects, including:

  • Walls
  • Columns
  • Roofs
  • Ceilings
  • Floors

Room separation lines, while inherently useful, should be minimized with room-bounding elements when appropriate. Just remember, however, to keep the bounding objects sorted and optimized appropriately.

Practice Four: Minimize Rendered Lights

Revit Clinic’s list of rendering performance enhancements suggests reducing unnecessary artificial lights. A project’s rendering time is fragile, and numerous light groups will slow its processes significantly. When you can, turn off your project’s artificial lights.

Practice Five: Compress Your Revit Files

Revitstore’s tutorials place importance upon compressing Revit’s project files. Revit’s files are already compressed before access, but used, expanded files can inflate to twice the file’s original size. Sometimes, Revit fails to recompress a file. When this occurs, the program’s performance is reduced due to increased processing needs.

Be sure to select Save As when compressing a file, as relocating a saved file often enacts Revit’s natural, compressing tendencies. Additionally, remember to compress your project’s Central File on occasion.

Practice Six: Don’t Import Files

When possible, link your files. Don’t import them. Often, information from other software packages is needed for current model projection. Importing adds all information into the current model, reducing overall performance. Linking files, however, will locate needed files without changing them mid-project.

Practice Seven: Use Worksets

Worksets improve workflow and performance. They create easy-use environments for link opening, work separation and access. Of course, your Revit model needs to be well-structured before a workset is accessed. It also needs to be “broken down” into smaller worksets. A workset’s 3D views assist tracking, reducing performance-damaging processes needed to visualize projects.

Practice Eight: When Possible, Use Detail Lines Instead of Model Lines

Model lines in abundance can be mistaken for drawing errors. While not inherently a performance-draining problem, drawing errors create a need for more processes, more tracking procedures and more data. Detail lines, however, are intelligible and quick. They enhance Revit’s optimization in the long run.

Practice Nine: Use Selection Boxes

Selection boxes, when used in views, crops away unneeded geometry. Often, Revit users experience downtime and performance losses from intensive rendering weight. Selection boxes are very intuitive, and they can be used for:

  • Daylight portals
  • Linked files
  • Lights

Rendering boxes feature enhances rendering times without creating confusing project parameters, too, making their use entirely conducive to a clean, efficient project.



Hidden Parameters: The Key Under the Mat

Locking parameters inside of Revit content is sometimes a necessity: getting logic to work properly requires some gears to turn and parameters that hold and relay data. In very complicated families that include arrays, moving components, or even error messaging if multiple incompatible options are chosen, the amount of parameters can quickly build up. Revit has a built-in solution to hide those parameters, to keep families clean and only present information that will be important to users of the content: hidden parameters. Little known and under-utilized, hidden parameters can really clean up content when used properly. The best part is it only requires one extra step after the parameter has been made – so they’re fast, easy, efficient, and add functionality. What more can you ask for in a modelling technique? As an example I will be making a simple box with three types of different dimensions and colors, locked out, with the “key” hidden from the user.

The process of creating a hidden parameter begins like a normal shared parameter. When adding a parameter to a family, select the “Shared” option instead of family. It might make sense to create a new file specifically to hold hidden parameters, to keep them segregated from other shared parameters and to make them easy to access. There is no obvious way to tell if a shared parameter is hidden without loading it into a Revit project, so a separate hidden parameters file would make that distinction: any parameter within the file, will be hidden. No guessing or testing involved. For this example I made a new shared parameter file simply called “Hidden Parameters” and a group within the file named “Constraints”.

Hidden Parameters 1

Hidden Parameters 2

Create a new file if needed. Groups can be added to the file once it is made.

Revit Quirk Alert: An important note here before continuing is to go through the entire creation process, including the step to make the parameter hidden, before adding the shared parameter to a family. If it is added to a family before being turned into a hidden parameter it will be visible.

Add any necessary parameters to the file as they are required: there is no limit on the data type of a hidden parameter. Once any parameters have been created and added, they can be used inside of the family as normal. Since these are shared parameters, I prefer to name all of my hidden parameters with a “z” in front, such as “z Type”, “z Width”, “z Model Number”, etc. This will put them at the bottom of the parameter list inside of a project and also signifies that the parameter is hidden in the family editor.

Now for the final step (really, that’s it!): open the shared parameter file in a .txt file editor such as Notepad. The first thing you’ll see is a message to not edit the file…

Just ignore that.

You’ll then see a list of parameters as well as how they are organized inside of Revit and some data that lets Revit know how the parameter is used. Change a single value: the second integer. It will be a “1”. Change it to a “0”.


Hidden Parameters 3

Save the file and you’re done. Now that parameter is hidden in a project when added to a family.

For my example I made two hidden parameters: “z Type” and “z Material”. The visible dimensions are locked out using z Type, and the material (which can not be locked – just the nature of material parameters since they are unable to use formulas) is hidden so it cannot be modified in a project.

Hidden Parameters 4

Hidden Parameters 5

Dimensions locked and materials changed by hidden parameters. Note that there is no “Constraints” category in the Type Properties.