I previously posted about how to quickly repath links based on some control mechanisms. Enter BIM 360, and the wild world of Revit cloud worksharing… I expect that it will be commonplace now for existing projects and datasets to move across to BIM360 ‘mid project’. But that creates some interesting problems, like creating folders, dealing with the initiation process, and replacing local Revit Links with their cloud versions.

This post is focused on that process of changing all of the Revit link paths to link to the BIM 360 models. Unfortunately, the previous method I used (TransmissionData, like eTransmit) is not available for cloud hosted models. So how do we automate this process?

We went about it this way:

  1. Initiate all Revit models on the BIM 360 Document Management cloud (manually, for now)
  2. Create one federated model on the BIM 360 cloud that links in all the other cloud hosted Revit models. You might do this one manually, using Reload From in the Manage Links dialog box.
  3. Once you have that one ‘super host model’, use a batch process to harvest all of the cloud model data
  4. Using the harvested data, create a script that implements a Reload From method to batch reload local models from their cloud counterpart

On the journey to solving step 3, I experimented with a few different methods. I discovered that you need to use the ExternalResource class to get information about BIM 360 cloud models (not ExternalReference).

I also realised that I had to deal with Reference Information, which appears to be a .NET dictionary per link that stores some funky Forge IDs and so on. But I want to store all this data in our VirtualBuiltApp BIM Management system, so I had to serialise the Reference Information to a string that could be stored in a database VARCHAR field (or push to Excel if you are still doing things the old way). Dimitar Venkov gave me a few tips about using JSON with IronPython in Dynamo (thanks mate!), so after that all the harvesting pieces were in place!

Here is some of the harvesting and JSON code. Notice that I played around with using a container class to pass data between Dynamo nodes. In the end, JSON string was the answer:

 data = []
for u in unwraps:
    data.append(u.GetExternalResourceReference(linkresource))

class dummy(object):
    def ToString(self):
        return 'container'
container = dummy()

sdicts = []

for y in data:
    dictinfo = ExternalResourceReference.GetReferenceInformation(y)
    container.dictinfo = dictinfo
    infos.append(container)
    shortnames.append(ExternalResourceReference.GetResourceShortDisplayName(y))
    versionstatus.append(ExternalResourceReference.GetResourceVersionStatus(y))
    insessionpaths.append(y.InSessionPath)
    serverids.append(y.ServerId)
    versions.append(y.Version)
    sdicts.append(json.dumps(dict(dictinfo)))

The next step was to create the ‘batch reload from’ tool. Now that we had the necessary data, we just had to use it to grab the matching cloud path information (from our database) and apply it to each Revit link.

I created a node that essentially built a new reference path from the JSON and other data that we had harvested. Here is some of that code:

 des = []
for x in referencesInfo:
    des.append(json.loads((x)))
newdicts = []
for y in des:
    newdicts.append(Dictionary[str, str](y))

serverGuids = []
for g in serverIdsIn:
    tempguid = Guid(g)
    serverGuids.append(tempguid)

newrefs = []
for z in range(len(referencesInfo)):
    serverIdIn = serverGuids[z]
    referenceInfo = newdicts[z]
    versionInfo = versionsInfo[z]
    sessionPathIn = sessionsPathIn[z]
    tempRef = ExternalResourceReference(serverIdIn, referenceInfo, versionInfo, sessionPathIn)
    newrefs.append(tempRef)

OUT = newrefs

The final step was to get a RevitLinkType and a matching ReferenceInformation and apply them to each other. I stored the data in our cloud based BIM Management Application, VirtualBuiltApp. Then I could easily just pull the data into Dynamo with a suitable database connector, and match up the RevitLinkType in the current file with its associated cloud identity. For that genuine 90s feel, you could use Excel to store the data as it is just a JSON string and some other strings:

Here is the key bit of code that actually changes the link path (without all of my other error checking bits and pieces):

     try:
        newCloudPath = newCloudPaths[l]
        reloaded = fileToChange.LoadFrom(newCloudPath, defaultconfig)
        successlist.append(reloaded.LoadResult)
        TransactionManager.Instance.ForceCloseTransaction()
    except:
        successlist.append("Failure, not top level link or workset closed")

To actually implement the script and get productive, I opened 4 instances of Revit, and then used this process in each instance:

  1. Open the Revit file from BIM 360, with Specify… all worksets closed
  2. Unload all links
  3. Open all worksets
  4. Run the Reloader Script
  5. Confirm link status in Manage Links
  6. Optional: Add ‘bim 360 links loaded’ text to Start View (just for tracking purposes)
  7. Optional: Add comment to VirtualBuiltApp (optional, for tracking purposes)
  8. Close and Sync

In this way I can have 4 or more sessions operating concurrently, fixing all the link paths automatically, and I just need to gently monitor the process.

One nice thing is that I set the script up to immediately Unload a link after it had obtained and applied the new Path information. This means that the Revit instance does not get bogged down with many gigs of link data in memory, and in fact this is way faster than trying to use Manage Links for a similar process.

Ideally I would like to fully automate this, to the point where it opens each file, runs the script, and syncs. Unfortunately, time didn’t allow me to get all the code together for that (for now).

Finally, because we are using our custom built schema and validation tools, we can easily create visuals like this:

Modified versions of the Dynamo graphs can be found on the Bakery Github here:

dyn folder

To be able to use the new BIM360 Design or BIM 360 Document Management in Revit you need to be able to see ‘Document Management’ after clicking the BIM 360 link in the Revit Open Dialog box:

  1. Revit 2018.3 (or newer) is required and a direct download link can be found here.
  2. Download and install Desktop Connector for Windows.
  3. Download and install the Desktop Connector for BIM 360 plugin.
  4. Restart your machine if not prompted to do so.

I have added these steps to my public OneNote notebook on using BIM 36o with Revit:

Installation  (Web view)

 

Check out this page from Autodesk Knowledge base. Notice how it describes three different ways of linking for BIM 360 Design projects that involve Revit worksharing:

  • Method 1 – Controlled Sharing – ‘Consume’ Published Models from Packages
  • Method 2 – Controlled Sharing – Link from the Shared Folder
  • Method 3 – Live Linking

Each method requires fundamentally different sharing standards, and varying degrees of prior BIM 360 permissions and team setup.

Notice that Method 1 includes the concept of ‘packages’. The overall intention here is to try to emulate some existing workflows. While BIM files continuously change during project development, in traditional workflows a ‘team’ only interacts with a snapshot of the available BIM data from other teams (a package).

At this point, it is key to keep in mind that these different methods exist, and if you are a BIM Manager on a BIM 360 Design with Revit project, you will need to discuss and agree on the linking Method for managing the Revit data throughout the BIM creation phase of the project.

 

Interesting to see that many BIM360 services are offline right now (approx 10am Australian time, 1 June 2018):

You can always check Autodesk online service health at this link:

Autodesk Health Dashboard

 

It is something to think about as we move forward with reliance on cloud services – how important is 100% uptime with collaboration cloud products in the BIM world? Is 100% uptime even possible with current technology services, and the stacks (like Autodesk cloud) that rely on other stacks (like AWS cloud)?

I’m looking into ways to batch initialize Revit models onto the new BIM 360 Docs (Document Management) platform. It is a work in progress at the moment – in Revit 2018, I think that there is limited ability to use newer API features for creating a Cloud ModelPath for batch processing. But more on that later…

For now, I wanted to replicate a folder structure from a local network onto the BIM 360 Docs platform. To do this, you just need the Desktop Connector + Preview installed, and then you copy and paste the data.

Here are the steps:

  1. Clear Pending Actions on Desktop Connector for BIM 360 (recommended, use with care)
  2. Work Offline (recommended). Folders will appear blue in Windows Explorer.

  3. Set the folder path in the and create a CMD script using code below. It populates each subdirectory with a text file indicating the contents of the directory.
    @echo off
    chcp 65001 >nul
    for /r "C:\Your\Folder\Path\Here" %%d in (.) do dir /a:-d "%%~fd" > "%%~dpnd\DirectoryFilePlaceholder.txt"
  4. Run the script on your target directory (the local directory that you want to mirror into BIM 360 Document Management platform)
  5. Run a FreeFileSync task with filters to include only the ‘DirectoryFilePlaceholder.txt‘ as a mechanism of building the file structure. This task copies those txt documents to the BIM 360 using the local Desktop Connector path, as shown here:
  6. Then, disable ‘Work Offline’, so the sync to cloud should begin.
  7. Wait for ‘Processing’ to complete

To force the sync you may have to toggle the ‘Offline’ status in the tray.

You can review sync state with the ‘Pending Actions’ link from the system tray:

After the file structure is copied and synced, you will be able to see it in BIM360 Docs.

You can then proceed with adding Permissions or uploading other files.

Previously the Desktop Connector was built for BIM 360 Team projects running C4R. With the shift to B3D (BIM 360 Docs) platform, you need to:

From the help:

This plugin is a connector that establishes BIM 360 Docs as a recognized data source for the Desktop Connector – making it available in your desktop folder and file structure for easy file management.

As with Desktop Connector, this means your BIM 360 Docs files are replicated in a connected drive. You can manage files in BIM 360 Docs through the connected drive, just as you would any other folder on your machine. Changes made on the desktop are automatically uploaded to BIM 360 Docs.

How do you get it?

After install, you will see this in Windows Explorer:

If you are already a C4R user, for a while you can keep working as you are. But the entire platform is shifting from C4R to B3D (BIM 360 Docs), and you will eventually have to make the leap. In the long run, it will allow for more control, like folder-level permissions, so for big projects it is going to make a lot of sense. For now, there is some confusion out there (like in this Twitter thread), so here are some basic steps to activate a new BIM 360 Docs account, setup a Project, and then invite some collaborators into the project.

First, you can go to your account and use the special link to create a new BIM 360 Docs workspace. That is, if you are starting fresh in the new platform.

Here is the activation form notes (read carefully). Note: the links are different depending on how you activate it. For example, if you have an existing C4R account and you want to ‘transition’, you would use the relevant activation link for existing C4R customers :

New BIM 360 workspace

 

Transitioning from C4R

 

Once done, you should have a new BIM 360 account:

And you just have to click the activate link in your email:

After that, you should be able to login to your BIM 360 workspace and start setting up some company settings, like adding a Logo and Business Units:

Setup a Business Unit:

https://help.autodesk.com/view/BIM360D/ENU/?guid=GUID-6A8990E7-A640-4267-83AF-64003B015F98

 

Finally, you can go ahead and Setup a Project:

https://help.autodesk.com/view/BIM360D/ENU/?guid=GUID-9C991F4C-7012-4770-B8F7-A1D45F5D9197

 

 

Then,

  • add Companies to your Workspace
  • Add Users to Companies.
  • And invite these Users to specific Projects.

In Revit 2018.3, after clicking Collaborate, you should be able to choose from 3 options:

You should see this in your Open dialog (if you have both a Team and a Docs entitlement):

Finally, you should be able to access Document Management, add folders, apply Permissions, and generally start work:

 

The tools have been updated for Revit 2019. I am providing some download links below for these tools:

  • Autodesk Classification Manager for Revit
  • Autodesk Model Checker for Revit
  • Autodesk Model Checker Configurator
  • Autodesk Enhanced DWG Exporter for Revit
  • Autodesk COBie Extension for Revit
  • Autodesk COBie Extension for Navisworks

Autodesk Classification Manager for Revit

The Classification Manager is free to download and use, just select your Revit version and get started.

Revit 2019

Revit 2018

Revit 2017

Revit 2016

 

Autodesk Model Checker for Revit

The Model Checker is free to download and use, just select your Revit version and get started.

Revit 2019

Revit 2018

Revit 2017

Revit 2016

 

Autodesk Model Checker Configurator

The Model Checker is free to download and use. Click here to download the installer.

 

Autodesk Enhanced DWG Exporter for Revit

The Enhanced DWG Exporter is free to download and use. This release includes localization for English, French, and German.

Revit 2018

English Installer  

Revit 2018

Deutsches Installations-Programm  

Revit 2018

 

Autodesk COBie Extension for Revit

The COBie Extension is free to download and use, just select your Revit version and get started.

Revit 2019

Revit 2018

Revit 2017

Revit 2016

 

Autodesk COBie Extension for Navisworks

This one is ‘coming soon’, so I will update the link once it is released

 

Autodesk main page for BIM Interoperability Tools here

BIM 360 has just changed in a fundamental way. The trust environment is now more controlled, and it is sharing base technology with BIM 360 Docs. So instead of talking about C4R bolted onto A360 or BIM360, we will now be talking about ‘Revit files in this Docs module in this Team Project on BIM 360 Design’ (I think).

Revit 2018.3 is required and direct download link can be found here.

I’ll follow up with some more detailed information in the coming weeks.

Here is the post from Kyle:

All,
I wanted to welcome you, on behalf of the team here at Autodesk, to the Design Collaboration forum.  This forum exists for conversations about the design collaboration workflows possible in the BIM 360 Design product, which released today.  We look forward to the conversation.  First though, I’ll try to answer some likely questions you all have.

 

What’s BIM 360 Design?

BIM 360 Design is the next generation of Collaboration for Revit (C4R).  It enables the cloud worksharing you’ve come to love in C4R, but connected to the next generation BIM 360 platform.  You can learn more about it here on our new product center, and below is an image that captures what comes with it.BIM 360 Design.png

 

 

You can see that within BIM 360 Design there are 2 next gen modules that are included, Design Collaboration and Document Management.  Together with cloud worksharing, they represent the most seamless way to collaborate on Revit data across the globe.  We’ll talk more about the new workflow in subsequent targeted posts.

 

What Happened to C4R?

C4R just became BIM 360 Design as of today.  If you’re an existing subscriber, you’ll see the branding update in manage.autodesk.com shortly.  If you have existing projects in-progress, working against BIM 360 Team (aka Classic), nothing really changes aside from the branding you see in the account portal.  You can continue to work on those projects, and new subscriptions to BIM 360 Design can be allocated to new team members, who can then start to work on those existing projects.  More detail can be found in this FAQ.

 

What Can I Do With BIM 360 Design?

With BIM 360 Design, BIM authoring teams can say goodbye to “high trust” as the only way to work, and hello to flexible dynamics between multi-discipline BIM authoring teams. Along with those improved access controls comes a whole new web and mobile experience delivered by Next Gen BIM 360.  Across Document Management and the new Design Collaboration module, teams can:

  • Quickly and easily set up teams and define the data spaces they will work in.
  • Easily understand the current state of the project, with an aggregated view of the project data that can be navigated the way they think about it, not how our beloved authoring tools structure it.
  • Exchange data between teams in a controlled way, on the back of our new currency for data exchanges: Packages. These are like transmittals on steroids, allowing teams to curate the versions of Models, 2D Sheets, and 3D Views needed to communicate process.
  • Understand how data has changed over time. Change visualization can be enabled with the touch of a button on any BIM artifact contained in a Package. No more hunting for revision clouds or exporting the 3rd party tools.
  • Provide feedback on those BIM artifacts, with Markups and closed loop Issues created in Document Management (Issues are on their way to Design Collaboration).
  • Use the Preview version of Desktop Connector to collaborate on non-Revit project data, centralizing the data platform used for all Work in Progress (WIP) project data.
  • Use those BIM artifacts downstream for construction workflows across the Field Management, Project Management, and Model Coordination modules.

How Do I Get Started with BIM 360 Design?

If you’d like to start a new Project in this new way to work, you need to:

  1. Get a BIM 360 Account
    1. If you have an existing next gen BIM 360 account, you should automatically get the Design Collaboration module enabled tonight (April 9th US time zone)
    2. If you don’t have an existing account, your Contract Manager should receive an email shortly with instructions on how to get one created.
  2. Install the Revit 2018.3 Update
    This update released today, and should be available in the Autodesk Desktop app.  A direct download link can be found here.  This is required for Revit 2018 to know how to communicate with next gen BIM 360.
  3. Start a New Project and Enable Document Management + Design Collaboration
    With these two modules enabled, along with the latest update of Revit, you have what you need to get started.  We’ll have a separate thread that walks through the process to get up in running in more detail.

Hopefully, you all are as excited about this as we are.  We’re biased though; we’ve worked hard based on lots of feedback and customer engagement to deliver this new way to work, and your continued feedback and engagement will make sure that we deliver on the needs you all have.  Look out for subsequent discussions on specific parts of the overall product experience, and we look forward to hearing from there.  Post here in this thread with general questions.

 

Cheers,

Kyle & the Team

Kyle Bernhardt
Product Line Manager
BIM Project Delivery
Autodesk, Inc.