Starting at this tweet, Konrad Sobon triggered quite a discussion around Revit addins and how to manage users, deploy addins, and track their usage. He has worked on coding a tool called Mission Control for HOK that has a MongoDB backend and evidently harvests data from Revit sessions across the company. This is just one of many tools we are seeing recently related to project data, project intelligence, and similar analytics.

Based on this little exchange with @gschleusner , @arch_laboratory is hard at work making sure we will all have access to this soon ūüôā

If you have gone through a process of saving Central models, and you have forgotten to ‘Synchronize with Central’ before closing them for the first time, you may find that your user has all User Created Worksets checked out in those files. A quick recap:

  • Workshared Revit files use a persons Revit user name (sometimes linked to an Autodesk SSO login) to determine if things are checked out
  • If someone has a User Workset checked out, you won’t be able to edit it until they Relinquish. (Note: you can Detach and recreate the file but that is dangerous if you have multiple people working on something)

Basically I had a bunch of Revit files that had all User Worksets from certain usernames checked out. They were upgraded and they were Central files. All that was needed was a simple Open and Relinquish. As I didn’t want to do this manually, I sourced some macro code from here and adapted it for my situation.

What does it do?

This Application level macro starts with a dialog box where you can select files. After you select them, it then loops over each file and Opens it, then does a Relinquish All Mine on User Created Worksets, and then it Syncs with Central and Closes the file. The key part of the code is here:

How to set it up?

First, get the code below. Copy and paste it into a new Application Macro in Revit.

 /*
  * Created by SharpDevelop.
  * User: lukes
  * Date: 1/10/2018
  * Time: 2:54 PM
  * 
  * To change this template use Tools | Options | Coding | Edit Standard Headers.
  */
 using System;
 using Autodesk.Revit.UI;
 using Autodesk.Revit.DB;
 using Autodesk.Revit.UI.Selection;
 using System.Collections.Generic;
 using System.Linq;
 using Autodesk.Revit.ApplicationServices;
 using System.IO;
 using System.Windows.Forms;
 
 namespace relinquish
 {
     [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
     [Autodesk.Revit.DB.Macros.AddInId("30EBC375-5A4C-4917-AB07-D7212C9ED3FA")]
     public partial class ThisApplication
     {
         private void Module_Startup(object sender, EventArgs e)
         {
 
         }
 
         private void Module_Shutdown(object sender, EventArgs e)
         {
 
         }
 
         #region Revit Macros generated code
         private void InternalStartup()
         {
             this.Startup += new System.EventHandler(Module_Startup);
             this.Shutdown += new System.EventHandler(Module_Shutdown);
         }
         #endregion
         public void RelinquishMineFromFiles()
         {
             
             
 OpenFileDialog theDialogRevit = new OpenFileDialog();
 theDialogRevit.Title = "Select Revit Project Files";
 theDialogRevit.Filter = "RVT files|*.rvt";
 theDialogRevit.FilterIndex = 1;
 theDialogRevit.InitialDirectory = @"C:\";
 theDialogRevit.Multiselect = true;
 if (theDialogRevit.ShowDialog() == DialogResult.OK)    
             
     {             
 /* string mpath = "";
         string mpathOnlyFilename = "";
         FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();
         folderBrowserDialog1.Description = "Select Folder Where Revit Projects to be Saved in Local";
         folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer;
         if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
         {
          mpath = folderBrowserDialog1.SelectedPath;*/
                 foreach (String projectPath in theDialogRevit.FileNames)
                 {
                  FileInfo filePath = new FileInfo(projectPath);
                         ModelPath mp = ModelPathUtils.ConvertUserVisiblePathToModelPath(filePath.FullName);
                         OpenOptions opt = new OpenOptions();
 /*                        opt.DetachFromCentralOption = DetachFromCentralOption.DetachAndDiscardWorksets;*/
                          WorksetConfiguration openConfig = new WorksetConfiguration(WorksetConfigurationOption.CloseAllWorksets);
                         // Set list of worksets for opening 
 /*                        openConfig.Open(worksetIds);
                         opt.SetOpenWorksetsConfiguration(openConfig);
                         mpathOnlyFilename = filePath.Name;*/
                         Document openedDoc = Application.OpenDocumentFile(mp, opt);                               
 /*                        SaveAsOptions options = new SaveAsOptions();*/
                          TransactWithCentralOptions twcOpts = new TransactWithCentralOptions();
                         SynchronizeWithCentralOptions syncopt = new SynchronizeWithCentralOptions();
                         RelinquishOptions rOptions = new RelinquishOptions(true);
                         rOptions.UserWorksets = true;
                         syncopt.SetRelinquishOptions(rOptions);
                         syncopt.SaveLocalBefore = false;
                         syncopt.SaveLocalAfter = false;
 /*                        options.OverwriteExistingFile = true;
                         ModelPath modelPathout = ModelPathUtils.ConvertUserVisiblePathToModelPath(mpath + "\\" + mpathOnlyFilename);
                         openedDoc.SaveAs(modelPathout, options);*/
                         openedDoc.SynchronizeWithCentral(twcOpts, syncopt);
                         openedDoc.Close(false);
                }
         }
 }}}

Then,

  • Add the System.Windows.Form reference and
  • Build the Solution

Note: I built and tested this on Revit 2018.2.

How to Use It?

  1. Set your Revit User Name to the user that you want to Relinquish the Worksets for…
    • You may have to logout of your own SSO first
    • Go to Revit Options
    • Input the exact user name (including @ if an email address)
  2. Start a new blank project in Revit
  3. Start the Macro Manager
  4. Select the RelinquishMineFromFiles macro that you built
  5. Click Run
  6. Select the files you want to fix
  7. Click Ok
  8. Wait for the result. The macro will step through them, Relinquish, Sync and Close the files.

 

Note:

Please use at your own risk, this has the potential to be pretty risky in a real project environment. Only use it if you understand what is going on ūüôā

Also, you can refer to this Revit API Doc page.

Over the years, Autodesk has provided various means for us to access, sync, backup and share files. Most recently we used “A360 Desktop” (see end of this post) and more recently “A360 Drive“. Autodesk recently released the Autodesk Desktop Connector, which allows you to:

  • Manage remote files from your desktop
  • Connect to Team Hubs
  • Work offline or online

Desktop Connector gives you access to your production A360 data. Using Desktop Connector  to modify files that reside in production A360 will automatically sync changes, updating your production file in A360.

You will see a link on your BIM 360 Team hub like this:

You can install from here which links to these downloads (Help page for install here).

x64

x86

mac

 

You need to sign in:

You should now see a BIM 360 Team link in Windows Explorer:

You can use the tray icon to “Work Offline”.

More Information

Release notes here

Getting Started guide here

Some notes about A360 Desktop retirement

A360 Desktop older versions will get this message:

A360 Desktop current versions:

  • A360 desktop Windows Updater: All users except 2018 AutoCAD products
Windows 32-bit installer – A360 desktop Version 7.3 (exe – 362MB)
Windows 64-bit installer – A360 desktop Version 7.3 (exe – 409MB)
  • A360 desktop Windows Updater: For AutoCAD 2018 product users only
Windows 32-bit installer – A360 desktop Version 9.5 (exe – 373MB)
Windows 64-bit installer – A360 desktop Version 9.5 (exe – 409MB)

 

A360 Desktop Expiration link:

When working with a large project, you may often close all or most Worksets for performance reasons.

Secret #1

Did you know that objects still show in Schedules when the Workset is closed? And even if the Visible in all views checkbox is unticked?

Additionally, the Schedules dialog does not give us an easy method to filter by Workset. Sometimes this results in some weird workarounds like using Dynamo to copy the Workset name to a parameter in each element (yes, I have seen this on real projects).

But what happens if we try Highlight in Model now, with these elements on closed worksets?

Secret #2

Interestingly, Revit will immediately and transparently open the Workset that the object resides on. This happens even if Revit can’t find the object in a view (such as because the Workset is set to be invisible in all views). You will not be warned or asked about this ‘open Workset’ action.

This automatic action does not create an entry in the Undo list, and therefore you must manually open the Worksets dialog and close the Workset yourself.

I’ll leave it up to you to decide if this is desired functionality or not? But it is definitely something to be aware of when working with¬†Revit Schedules, Closed Worksets, and the Highlight in Model button.

Here’s how you can get the new ‘Channels’ to show up in Unifi so you can immediately start using all of this free, new content:

  1. Ensure you are running Unifi Desktop app version 2.2 or newer.
  2. Log in at Log In : UNIFI Portal (you will have to be an admin)
  3. Click on Subscriptions
  4. Click on ‘Subscribe’ next to the Channel you want to use

  5.  Flick the switch to allow user groups to have access

  6. Back in the Unifi Desktop App… we can now search across the newly added channel

This shows how the ability of Unifi to search across channels and libraries is quite powerful indeed…

Just right-click on any content to Copy it to one of your own libraries (if you want to edit or add extra shared parameters):

You can also see some of this process in this video:

    Check out the links below to learn more and install.

    Model Checker for Revit
    Overview (Vimeo)

    Autodesk Model Checker for Revit 2018 shell install

    Quick Start Guide pdf

    Sample Files and other links

    Online Help

    How to (YouTube)

    —–
    Model Checker Configurator
    Autodesk Model Checker Configurator V3.0 for Revit 2018 install

    All 30 Sample Files (Element & General Checks) to help you build your own configuration files

    Online Help

    How to (Youtube)

    —–
    Autodesk CoBIE Extension for Revit 2018
    Autodesk CoBIE Extension for Revit 2018 install

    Sample Files to test the features of the COBie Extension

    Online Help

    How to (YouTube)

    —–
    Autodesk Classification Manager for Revit 2018

    Main page

    How to (YouTube)

    —–
    Autodesk Insight 360 Plug-in for Revit 2018 (energy analysis)
    Insight plugin installer

    Insight 360 Getting Started

    Insight FAQs

    —–
    Main Page

    Check it out at OpenRFA.

    There have been some similar attempts in the past. It is a bit of a challenge, because there will often be these ‘custom’ shared parameters that one company needs that are just very unique. But I’m interested to see how OpenRFA continues to grow. No doubt its success will depend on the number of contributors and their engagement.

    You can request an account login at http://openrfa.org/user/register

    What’s New in Revit 2018 – Official blog:
    Google Cache

    Coordination Model Link:
    coordination model linking lets you use a Navisworks file as an underlay in Revit, making it easier to coordinate with outside teams that might not be working in Revit

    Railings:
    with Revit 2018 you can also attach railings to topography to model fencing, road barriers, or outdoor handrails

    New Structural Features:
    https://www.youtube.com/watch?v=HFL-YH4sFK8

    Webinar on new features:
    https://pages.autodesk.com/WhatsNewinRevit2018_RegistrationPage.html

    Revit 2018 New API Features:
    https://adn.autodesk.io/uploads/file/revit_2018_api_news/index.html

    Download using the links at:
    http://wrw.is/2017/03/autodesk-2018-direct-download-links.html

    We all know Revit is the best, right?

    But … there are a handful of people using other platforms ūüôā And I guess even the most dedicated Revit user has to use other content creation tools from time to time. That is why UNIFI has decided to develop and release multiformat support, initially for these platforms:

    Also, UNIFI are offering a free copy of their “How To Create and Maintain BIM Standards” guide to everyone who registers for their upcoming webinar. Here are the details:

    • full title is:¬† “Accelerating ROI from Your Firm’s BIM Investment By Leveraging Analytics To Effectively Implement and Maintain Your BIM Standards
    • date and time:¬† May 3rd at 11amPT

    Find out more and register here