Automatically change Reference Level of Fittings

In a lot of models the Reference Level of Fittings or Accessories is not always correct. Unfortunately the Offset does not automatically change when you change the reference level by hand. So for every object you will have to calculate the new offset and change it.

Cyril Waechter wrote a very handy tool to automatically change the reference level of all selected Fittings (Pipes or Ducts). You won’t even have to calculate the new offset yourself and the tool also works for a lot of other objects!

*edit: there is a new, even easier method available via pyRevit: Install pyRevit and go to Extensions to install the pyRevitMEP package:

At extensions install the PyRevitMEP package:

And enjoy:

Read further below for an alternative method:

Read Cyril Waechter’s blog about the alternative method at The following video from the same blog explains how the tool works:

This is the working methodology I use(d):

1. Install RevitPythonShell and add the script by copying the script from or download it here and load it into RevitPythonShell:

Restart Revit after loading the script (to make it show).

2. Create for every level a View with all Duct and Pipe Fittings (and Accessories if you want to).

3. Set View Range from 0.0 to 0.0 (so that only al objects between this Range will be selected).

4. Make sure that the Reference Level of all Ducts and Pipes is correct.

5. Select everything in the View and filter to Duct and Pipe Fittings (and Accessories):

6. Run the script:

7. Select a Duct or Pipe with the correct Reference Level to use it for the selected Fittings (and Accessories):

And you are done 🙂

Enjoy and all credits to Cyril Waechter!