09 Feb

Left / Right Door Updater, Revit® Add-in

Having multiple instances of doors or windows often carries a problem that some of them are (intentionally or not) flipped (mirrored). Flipping doors and windows is neat option but it can bring big problems. Left doors are not equal to right doors (the same goes with windows) but Revit will treat them as they are the same (if they are of the same type). This Revit Add-in solves this problem by updating parameter value whenever door (or window) instance is changed (flipped or mirrored) from right to left or vice versa.

I was inspired by this article, please make sure to read it first to understand what this is all about:

https://www.linkedin.com/pulse/how-reliable-data-your-bim-model-keith-wilkinson/

As I suggested in the comments section below the article, the solution to the problem is quite trivial with a little help of Revit API.

In general, I created simple application add-in which attaches custom updater to check all of the doors and windows in a project to determine if they are flipped (mirrored) or not.

The state (flipped or not) is recorded to Yes/No parameter I called (hard-coded it) “ElementFlippedOrMirrored” (it must be called that in order to get it work).

Update, May 2019: The state (flipped or not) is recorded to AREA parameter I called (hard-coded it) “ElementFlippedOrMirrored” (it must be called that in order to get it work).

If area=0 the element is not flipped, if area > 0 the element is flipped.

The reason why I used AREA parameter is because you can set it to be different across group instances AND can be used in formulas (very important!), so please make sure to choose this option while adding the parameter (I marked in yellow all the important settings):

 

I used Project Parameter for testing purposes but I strongly recommend that you use Shared Parameter since it enables using it in both: families and project.

 

Example on how to use it in formula, for example in schedule or in family (when using as shared parameter of AREA type called ElementFlippedOrMirrored):

 

Feel free to download the add-in. It should work on version Revit 2015 and above. Your feedback is welcome!

  1. Download the addin
  2. Unzip the file
  3. You will get folder named EngipediaFlippedElementsUpdater.bundle
  4. Copy/paste that folder into: C:\ProgramData\Autodesk\ApplicationPlugins
  5. On some machines, if you are using Windows 10, you’ll need to go to: C:\ProgramData\Autodesk\ApplicationPlugins\EngipediaFlippedElementsUpdater.bundle\Contents and right-click on all .addin and .dll files and choose Properties then check the Unblock checkbox
  6. See video below for further instructions

Please note that you can also manually update your elements by selecting Add-Ins > External Tools dropdown > Engipedia Flipped / Mirrored command on the ribbon.

Download Flipped/Mirrored, Left / Right Door/Window checker for Revit from the link below:

Download the add-in from Warehouse

See video below for demonstration on how add-in works (adding filter is just to show (visually) which doors are flipped and which are not. Changing (flipping) doors will update the parameter value, hence filter will color them differently.

DISCLAIMER: The software add-in is safe and made with best intentions and without any warranty. Author tested the add-in on his system but there are no guaranties it will work on your system, nor can be responsible for potential damage. Please test the add-in on non-critical project first.

If needed, you can always delete the plugin from:

C:\ProgramData\Autodesk\ApplicationPlugins\

just delete the whole EngipediaFlippedElementsUpdater.bundle folder


After you run your project, make sure that you always run updater manually before creating schedules, tags etc. You will find it under Add-Ins > External Tools dropdown > Engipedia Flipped / Mirrored command on the ribbon.


Update, June 2022:

  • We simplified “installation” process so you just need to unzip single folder to C:\ProgramData\Autodesk\ApplicationPlugins\ and addin will work in Revit 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, and 2024 versions.
  • If you used this addin before, you may encounter an error on Revit startup saying that adding cannot load due to addin GUID issues. If so, please go to:
    • C:\Users\<<your windows user name>>\AppData\Roaming\Autodesk\Revit\Addins\
    • Or write %appdata%\Autodesk\Revit\Addins\ into Windows Run command, or in Windows Explorer address bar
  • then go into each version folder (2020, 2021, 2022 etc.) and delete EngipediaFlippedElementsUpdater.addin and EngipediaFlippedElementsUpdater.dll files.
  • Restart Revit and new addin will be loaded from C:\ProgramData\Autodesk\ApplicationPlugins\

 

Update, April 2023:

  • Addin now works with Casework, Doors, Electrical Equipment, Generic Models, Mechanical Equipment and Windows categories.
  • Addin support Revit 2016 to Revit 2024

 

Jobs for Engineers

 

29 thoughts on “Left / Right Door Updater, Revit® Add-in

  1. It’s not clear what the function of the addin does and it is not shown in the video. And it is also impossible to install in Revit 2020 or 2022, although my addins manager can “see” it, it won’t appear on the “External tools” dropdown.

    • Hi, thanks for your comment, I will look into the Revit version issue. The tool does simple thing, as it is described in the blog here. It detects if doors or windows are flipped/mirrored and based on that the plugin changes the value of the custom (ElementFlippedOrMirrored) parameter. The main purpose is to detect (based on this parameter value) which doors are left hung, and which are right hung. If you create left hung door family, after you flip it, it becomes right hung. For Revit those are both the same doors, there is no way to automatically find out if the swing direction is changed (without plugin). The same goes for windows.

    • Hi,
      please read the article again, there is new version available since 2022-06-22 with simplified installation, bug fixes and support for new Revit versions.

      • Hi, I first made an faulty installation, I thin. When I try now I get the “REvit already has ….GUID error” even if I delete all files and restart computer. Tried to look in regedit but did not find any related parameters.

        • Hi, there is nothing in registry. You need to delete old installation which is in %appdata% folder. Press win+R and type %appdata% or type that in windows explorer address bar. Locate old installation per instructions above. There is no need to restart the machine, just Revit.

          • Hi,
            Thanks for your reply. I have deleted everything, when I start REvit no errors. I then add files and then error occur again…
            I have another plugin and there the PackageContents.xml addin and dlls are located in other folders than you suggest. I run 2019 I have read through your texts several times but I’m still not sure where to put the files…maybe I’m stupid in this case but all help very much appreciated.

          • Hi,
            you first need to delete old files. Then add new files. Then start Revit.
            This is where new files are located on my machine:
            left right door updater location

          • Old files (on my machine) are in:
            C:\Users\mirko\AppData\Roaming\Autodesk\Revit\Addins\2019
            you need to delete EngipediaFlippedElementsUpdater.dll file and EngipediaFlippedElementsUpdater.addin file.
            If you don’t see file extensions, turn them on via View tab > File name extensions in Windows Explorer ribbon.

            The best bet is to search for those two files and delete all of them from you machine.
            Then add new files as shown in previous comment.

          • Hi,
            Now I’m back to the first error please see the error message below, any ideas?

            [Window Title]
            External Tools – External Tool Failure

            [Main Instruction]
            Revit cannot run the external application “DoorMirroredEvent”. Contact the provider for assistance. Information they provided to Revit about their identity: info@engipedia.com // Mirko Jurčević.

            [Expanded Information]
            System.IO.FileLoadException

            Could not load file or assembly ‘file:///C:\ProgramData\Autodesk\ApplicationPlugins\Engipedia Left Right Door Updater.bundle\Contents\EngipediaFlippedElementsUpdater.dll’ or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

            [^] Hide details [ ] Do not show me this message again [Stäng]

          • As an added note, when I get this error the tool is added under external tools, but is seems nothing happens when clicked

          • Please also try this:
            On some machines, if you are using Windows 10, you’ll need to go to: C:\ProgramData\Autodesk\ApplicationPlugins\Engipedia Left Right Door Updater.bundle\Contents and right-click on all .addin and .dll files and choose Properties then check the Unblock checkbox

            Then start Revit.

          • Hi,
            First, thank you very much for your patience. The files has been unblocked the whole time.

          • and I also checked the antivirus software, nothing blocked/quarantined there eitrher

          • Hi Patrik, I am out of ideas. I sent you an email directly, we can meet if you want so I can look for myself what seems to be the problem.

  2. Hi, I am confused by the fact that in the video, the parameter “ElementFlippedOrMirrored” is created as a yes/no parameter and used on a View filter, but if we follow the screen shots, it seems like it should be an Area parameter instead, it really is confusing if we are talking about 2 different features. Also, in the video we can’t really see the add-on working, it really is difficult to understand if we are following the set up steps correctly. Another confusing thing is the exact place to extract the dll and the addin files, if you follow the instructions you’ll end up with the uncompressed folder inside the Addins/2019 folder (or whatever version) and it won’t work, the 2 files must me directly inside the folder Addins/20xx folder. Thank you

    • Hi,
      thanks for the valuable feedback!
      Video was created before the adding got updated so this is the reason for discrepancy.

      I am citing two most important things to read above in the article above:
      1:
      Update, May 2019: The state (flipped or not) is recorded to AREA parameter I called (hard-coded it) “ElementFlippedOrMirrored” (it must be called that in order to get it work). If area=0 the element is not flipped, if area > 0 the element is flipped. The reason why I used AREA parameter is because you can set it to be different across group instances AND can be used in formulas (very important!), so please make sure to choose this option while adding the parameter (I marked in yellow all the important settings).

      2:
      I you go to Windows Explorer or “Run” dialog, and paste this into address bar: %appdata%\Autodesk\Revit\Addins\2022
      it will take you to the folder similar to this (user name is different on your machine):
      C:\Users\mirko\AppData\Roaming\Autodesk\Revit\Addins\2022
      This is where you need to put .dll and .addin files.

    • Hi,
      please read the article again, there is new version available since 2022-06-22 with simplified installation, bug fixes and support for new Revit versions.

  3. Hi!
    The L/R Door plugin works perfectly on my Revit 2020. Recently I installed 2023 version. When trying to start the plugin it says: “Command Failure for External Command / Revit could not complete external command… / Revit encountered a Method not found: ‘Autodesk.Revit.DB.ParameterType Autodesk.Revit.DB.Definition.get_ParameterType()’
    What am I doing wrong? 🙂

    • Hi Boris, thanks for letting us know. We will check it out and get back at you. I assume the method is probably deprecated in Revit 2023.

    • Hi Boris, we looked into the issue.
      New version is available, and addin now works for all Revit versions from 2016 to 2023.
      There was another issue with parameter we also resolved.
      Please read the article again, download the new version and let us know does it work for you now.

  4. Hello Mirko,

    First I would like to congratulate you. This Addin is game changer. Thanks for making it available to us.
    But I would like to ask you, is it possible to make it work for other elements categories?
    For example: I really need to know wheter Caseworks are Flipped or Mirrored for my Granite Countertops since they are two different orders for my supplier.
    Do you think this is possible according to the Revit API?
    Thanks in advance.

    • Hi Mariana, thanks, yes it is possible, I’ll update the addin with a few additional categories and let you know.

      • Hi Mirko,

        Sorry for the long time before the answer, I guess I never checked back here.

        But still, it works like a charm. It’s gonna improve so much of our workflow! You’re very kind for making it available to us.
        I’ve been using it for Windows and Doors for some time, as a Shared Parameter both in family and project, like you suggested.
        We’ve found a bug though where the parameter sometimes gets duplicated as we load new families into the project and then it claims that one of them is “Read Only”. I’m working on figuring out where is the problem and report back for anyone with the same issue.

        Thanks again!

  5. Hi! Installed the bundle, ElementFlipperOrMirrored works as it should (as a project parameter) but the problem is, that in different door families it represent different values. For Example door type 1 is right handed and ElementFlipperOrMirrored shows value qreater than zero. At the same time, door type 2 is also right handed but ElementFlipperOrMirrored shows value 0.000.
    Whats up with that? Do I have to verify it still manually and make calculated parameter to each individual door type? I.e in one case value represents left handed door, and same value in different door type represents RH door?

    • Hi, yes, you are correct, since it just returns if it’s “normal” or “flipped” door, for each door you need to manually decide if the “normal” is left- or right-hung door. Or, you should standardize all doors, but I doubt that’s feasible.

Leave a Reply

Your email address will not be published. Required fields are marked *