Trying out Autodesk 360

I was recently searching for a web-based collaboration platform to quickly exchange models between people from different organizations, and since Autodesk had just release its new flavor of Autodesk 360 website, I gave it a try.

The first impression when logging to the new Autodesk 360 Hub is the integration of social capabilities. Every modification is displayed in a handy timeline for everyone to see. I had some prior experience with the project management tool Basecamp (https://basecamp.com/), and I see in this new version of Autodesk 360 some of the features that made Basecamp so successful.

These features, along with the new domain name (autodesk360.com), show the effort of Autodesk for producing a complete web-based solution for reviewing BIM content.
Everything in Autodesk 360 is organized around projects, which come with their own calendars and wikis. To work with Autodesk 360, you first have to create a new project and invite members to this project:

createProject

After adding a nice logo to your project, you can create folders and start uploading Revit models:

uploadFilesThe upload is pretty quick, but the file has to be processed to be visible through your browser.

uploading

Every members will be able to see and download files uploaded in their project. These model also appear in the timeline for everyone to see or comment them.

timeLine

Once downloaded and processed, the model become visible in the embedded viewer browser. This is where the main feature of Autodesk 360 lies. The 3D model run smoothly, and the whole experience is nearly the same than with a desktop-base viewer.

3DModelViewer

Along with showing the 3D model, Autodesk 360 display every sheet embedded in the uploaded Revit model. My only wish here is to be able to annotate the drawing just like we do in Design Review, but I hope this will be available in a future release.

sheetsViewer

Another nice feature, the 3D viewer allow us to isolate elements by categories and display every elements properties.

displayCategories

It’s still miss the ability to create section, and most of it, to be able to download Revit sheets as pdf for an easier reviewing, but I don’t lost hope.

During my whole experience, I just encounter one problem, with my model freezing in generating preview mode just after downloading it.

On the whole, the new Autodesk 360 come really close to a mature web-based model reviewer, and I see a lot of new applications coming to life, especially for the one who are not spending their days in front of Revit, but still need a quick access to the model.

Revit Tracking

My previous post about Revit performance highlighted the need for precise feedback from user about starting and synchronizing time. This is important when dealing with many users, with potentially different configuration and performance. In this case, these loading times can alert you soon enough of a problem with a model.

Having feedback from every user is also important, since you need to detect quickly if any user is having more difficulty to open a file than the average.

You can also compare file size progression with loading time to establish and check your set of good practices for keeping Revit models powerful.

To be more accurate and systematic with these measures, I create a small piece of code to log every opening, synchronizing and closing of Revit model for multiples users.

On startup, the application subscribe to the events triggered on opening, synchronizing or closing a model.

         public RevitLogger( UIControlledApplication a)
        {
            ControlledApplication app = a.ControlledApplication;

            //Subscribe to the opening event
            app.DocumentOpening += 
                 DocumentOpeningEventHandler;
            app.DocumentOpened += 
                 DocumentOpenedEventHandler;

            //Subscribe to the synchronizing event
            app.DocumentSynchronizingWithCentral += 
                 DocumentSynchronizingEventHandler;
            app.DocumentSynchronizedWithCentral += 
                 DocumentSynchronizedEventHandler;

            //Subscribe to the closing event
            app.DocumentClosing += 
                 DocumentClosingEventHandler;
            app.DocumentClosed += 
                 DocumentClosedEventHandler;
        }

Subscribing to the starting event and the ending event allow me to track down the time taken by each task.

Afterward, each event handler measure the time taken to perform the task, along with other properties related to the Revit file like its name, its path, if it is workshared, and so on.

For example, to log the opening of a model:

         private void DocumentOpeningEventHandler(
                 object sender,
                 Autodesk.Revit.DB.Events.DocumentOpeningEventArgs args)
        {
            //Retrive info about the file
            BasicFileInfo FileInfo = BasicFileInfo .Extract(args.PathName);

            _logReccord = new LogReccord(ReccordType .Open);
            _logReccord.ReccordStarting = DateTime.Now;
        }

         private void DocumentOpenedEventHandler(
                 object sender,
                 Autodesk.Revit.DB.Events.DocumentOpenedEventArgs args)
        {
            _logReccord.ReccordEnding = DateTime.Now;
        }

Here, the LogReccord class allow us to store the information retrieved in the event handler. Once these information are stored, it is pretty easy to collect them and write them down to a csv file.

It is now possible to quickly create very precise graph displaying opening time of different model, compare them and show their evolution along time

Image

The next step should be to send these information to a shared SQL database in order to retrive data from every users. We should have this way a company-wide tool for keeping track of Revit performance.

 

Revit Performance Tips

A regular complain about Revit is its slowness. If this can be a psycological problem coming from people used to the quick reaction time of AutoCAD, it can also become a real problem when working with large models on short deadlines.

I’m use to separate Revit performance in two parts, opening the model and displaying it:

Displaying complex views

When a view become too complex for Revit to display it properly, zoom and pan actions become too slow to work properly.

The main rule to avoid this is to display only what you need. Close any unnecessary view, create cropped a view to work in a specific area, and hide every useless element.

Some visual styles need more power to run, keeping everything in Wireframe or Hidden Line can be a good practice. Even with these visual styles, filters with solid fill pattern override can slow down your view. Prefer lines override, or better, no override at all.

Link CAD only on a specific view (Current view only), and limit these insertions to the minimum. Having a bunch of DWG files displayed in every view of your model is bad for Revit performance and your spirit.

InserDWG

Loading large models

Another part of the problem lays in the time a model take to open, save and synchronize with its central. This time tends to augment with the size of the Revit file. If the size of a model is not a problem in itself, it can be a symptom of a poorly organized and therefore slow model.

To avoid ending up spending more time watching Revit starting than actually working with it, the main rule is to keep your model tidy.

Start by removing every unused view, family or group. Used wisely, the Purge Unused Element command can be useful here. Don’t use Revit family content sites. These families ae generally stuffed with heavy materials, complex geometries and parameters you don’t need. It’s also a good practice to use families provided by Autodesk with Revit.

Every model should have a starting page, defined in the Manage Project tab.

ManageStartingView

I generally use a Drafting View to display a handful of information about the opened model.

StartingView

If someone complains about a model becoming slower to open each time, ask every user to actually count how much time it take to open it. Having quantified feedback about Revit performance while opening large model can be really useful to prevent model for become unusable.

Revit Phases

Phases are a very interesting feature in Revit, allowing us to place our project in time. Phase can also become a major headache when not used properly, so in order to understand it, I wrote a few lines about it.

The first step while working with Phases is to define them, in the Project Phases tab of the Phasing window:

PhasingWindows

Once these phases are created, a lifespan can be defined for every object in our Revit model. To do so, every building element has two properties, Phase created and Phase Demolished. These two properties define the life of our object, when it is created and when it will be demolished.

To illustrate this, we create a few object and place them on a timeline:

  • Four walls, “created” during the Existing phase and never demolished.
  • A small kitchen, created in Phase 1 and demolished in the same phase.
  • Two columns, “created” during the Existing phase and demolished in Demo phase.
  • Three partitions walls, created in Phase 2 and never demolished.

Timeline

To place ourselves on this timeline, every view has a Phase parameter. This position in time define how Revit will display elements regarding their life cycle.

To illustrate my explanation, I create a new phase filter, called Phase Highlight, with the following properties:

PhaseFilter

I also create graphic overrides to change object colors by their phase status:

Overides

Every element created in the current phase and not demolished during this phase has the New phase status. For example, if we place ourselves in the Existing phase, the four walls and the columns had just been created, and appear in cyan (New status graphic override):

Example1_complete

Every element created during an earlier phase, and not demolished this phase are in the Existing status. If we place ourselves in the Demolition phase, we can see the four wall becoming red (Existing status graphic override):

Example2_complete

But if this element is demolished during this phase, and has been created on an earlier phase, it had the Demolished status, like the two columns in this example.

If the element is created and demolished in the current phase, it take the Temporary status, like the kitchen in this example (Blue is the Temporary Status override):

Example3_complete

Since elements are displayed only if they are actually present during the current phase, we have to place ourselves in the Phase 2 to be able to see the partitioning walls:

Example4_complete

If an element is not fitting in any of the four Phase Status, it is not displayed at all, meaning that we cannot display an element that appear in a future phase.