Building a Forge Web Viewer

Web-based “BIM” solutions are the last big trend, and Autodesk is among the most advanced player in this area with their API offering called Forge.

Autodesk Forge is a product from Autodesk that don’t come with a user interface. Instead, it is designed to be used through other software, and especially web-based solutions. Autodesk Forge is also the technology behind most of the web-based product of Autodesk, like BIM 360 Team, Docs or the A360 Online File Viewer.

The community around these products is growing, and new resources and samples are published on an almost daily basis.

Among them, Augusto Gonzales recently wrote a comprehensive tutorial to build a small web viewer using Autodesk Forge and ASP.NET. Being more of a .NET programmer, I took on this opportunity to learn more about this new product and build my own web-based Forge viewer.

I start by creating an ASP.NET Core MVC Web Application with this tutorial. ASP.NET Core being a web framework developed by Microsoft, you can use your C# skills to “easily” build web application.

I follow the detailed explanations from Augusto Gonzales to send my model to the Autodesk server for conversion, get an GUID back and use it to display my model in the Forge viewer. The explication on the blog are straightforward, and I won’t delve into it. I just had to made some few changes since I am using a different version of the ASP.NET Core framework.

Using technologies from Microsoft, it is easy to publish my application on Azure, the Microsoft cloud hosting solution.

I called the end-result Termite, and it is available here.

The Termite Web Viewer

By default, you see a model of my neighborhood from my last post, but you can also upload your own files. A word of caution, uploading and translating a large model can take quite some time, do not close the windows until your model is displayed on the screen.

I also add some features to the viewer. You can lock the rotation of the view by clicking on the lock icon. I also put in place a very basic section tool. To use the section, click on “Add a section” and select a face in the model to create your section.

Viewer Extensions

These features are built as extension of the Autodesk Forge Viewer, are written in JavaScript and run in the browser of the end user.

The source code is available on GitHub. Seasoned web developer will probably find a lot to correct in my application, but I hope to improve with practice

I still have a lot to learn in this area, so you might expect some other web app in the next few weeks.

A360 Team

A year after my first post about Autodesk A360, I kept on testing its features as they came out. When one of my colleagues brought me an A360 Team subscription from last year Autodesk University, I tested it on a small project with some of my teammates.

Recently, Autodesk  unrolled a new design for A360. I use this occasion to share my thoughts about the evolution of the service since my last post.

Starting using A360 is really easy. Just invite your teammates to your A360 hub, drag and drop documents to the platform, and start editing or commenting them. Basically, anyone can edit anything, the revision control system is here to retrieve any previous version of a document in case of emergency.

Roles and permissions are organized around Team Members, who belong to an organization and have access to every project inside this organization. These Team Members can invite Project Contributors outside of the organization to participate on a specific project.

Roles

Different project types allow for different accessibility rules for Team Members and Project Contributors. However, don’t expect to find tune every option, we are not in a tightly controlled document management system, but more on a collaboration platform based on trust and a powerful versioning system.

Of course, A360 provides the ability to upload Revit models, and process them as they arrived on the platform. To me, this is the most important feature. Every model you upload on A360 will be processed to be visible online, without having to download it. This feature has largely improved since my last article, and you can now select which views and sheets that will appear on A360. To do so, open the Views For A360 windows in Revit and create a set of views to be uploaded to A360. Save your model, upload it, wait for a while and every selected view will appear on the model page.

A360Views

You can upload a single file or an assembly, which is a set of files linked together. When uploading an assembly, A360 asks for a parent file and uploads it along with every other file in the same folder. As it is processing this parent file, it takes these linked models into account to create online views.

UploadAssemblySmall

My first impression of the online 3D viewer is quite good. It is fluid and really easy to use. One of the wishes of my previous article have been fulfilled, you can now create Sections of your model. Sections are beautiful, with a nice cut pattern, but the section plane is barely usable. Instead of being able to quickly select a face of your model to create a section plane, you have to painfully drag a predefined plane where you want to cut your model. Since the section plane gizmo stays aligned with the model origin, you can’t move it while zooming. I have to say I was pretty frustrated by the experience, seeing everything I was hoping for a web-based model viewer, and not being able to use it because of these few issues.

And why the Measure tool shows up when the model is loading and disappears when the viewer had started?

Aside from the current issues of the 3D viewer, Autodesk has created a really interesting collaboration platform. Roles and permissions manage to stay simple while enabling most collaboration scenarios. I still have to test the integration within Revit through the A360 Collaboration for Revit, as soon as it will become available in Europe.

AutoCAD Civil 3D to Revit

I recently worked with AutoCAD Civil 3D and explored the various possibilities for creating toposurfaces in Revit from Civil 3D objects.

My first impulse was to import the surface as a DWG, and use it to create my toposurface. But a Civil 3D surface object is not identified when imported in Revit.

I use the Extract Object surface function in AutoCAD Civil 3D to transform every surface contour in a 3D polyline.

Extract Contour

Back in Revit, I import my surface as a set of 3D polylines following contours in my AutoCAD Civil Surface.

In the Toposurface tools, I select the imported DWG, and check the layers containing these polylines.

ImportFromDWG

Revit creates a surface point along every surface contour, and rebuilts our surface.

If you are a Subscription customer, you have access to the LandXML import from Site Designer, recently added to Revit. Start by exporting your AutoCAD Civil 3D surface in LandXML.

ScreenClip [2]

Then use the Site Designer to import it back in Revit.

ImportLandXML

The resulting Revit toposurface contains ten times less points than the version created from contour lines, which can be game-changing, especially if your are dealing with large or complex surfaces.

I didn’t found any free plug-in to import directly LandXML in your Revit model, but if you are of the DIY type, you can use the example of code provided by Jeremy Tammik on his blog.

You can also import AutoCAD Civil 3D points directly in Revit. To do so, you first have to change the style of your surface to display all its points.

ScreenClip [4]

Then, extract these points as simple AutoCAD points and convert them to COGO points. Here, make sure to set the Prompt for Description to Automatic, or you will have to type a description for every one of these point, which can be somehow tedious for thousands of points.

Edit Point Creation oprions

Now, you can export the coordinates of these COGO point as a Comma Separated text file, and use this file to create your toposurface in Revit.

ImportPoints

This option is a nice workaround if you don’t have the possibility to import directly LandXML in your Revit model.

Project Review with BIM 360 Glue

We are actively searching for a cloud-based solution for reviewing our models, and products from Autodesk were among the candidates, so I give a try to the Glue platform.

Autodesk BIM 360 Glue is the cloud-based solution for visualizing and reviewing BIM project, based on the DWF format from Autodesk.

I have to check it as a potential solution, so I will share my first thought here.

BIM 360 Glue work with a cloud-based repository, were we access from the web-browser admin page and the local client. As usual, everything is project-oriented.

GLUE

The admin interface provide every basic tools for administrating your projects.

Creating a project come in a few easy steps, were you name it and select user to be project administrators.

Create Project

After this first step, every project admin can invite new members to the project, and define their permission level.

ScreenClip [2]

Once you have been invited to a project, you will receive a nice invitation to download and install the client. The entire process is well thought, and no user should have any problem to download the client.

This client provide everything you need to review your model, with properties, length and area measures, saved views, sections and markups.

ScreenClip [3]

To upload content to the Glue platform, we use the Revit plugin. Once you are connected with your Autodesk account into Revit, you can upload view and sheet directly from the Revit interface.

Just click the Glue button, select your project and the views you want to upload, and Glue will take care of everything else.

01_Process

It also check if a given view has already be uploaded, and ask us if we want to update it, or create a new one.

If we update one, a notification appear on the client. Hitting the refresh button give us the latest version.

ScreenClip [24]

The activity panel show us every version of the uploaded view, and allow us to reload any previous version.

ScreenClip [4]

It seems than Autodesk BIM 360 Glue is a really interesting solution for project review. The integration with Revit and the versioning system add great features to an already nice viewer. The only missing thing here is the ability to print directly from the client.

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.