The Internet of Things on AWS – Official Blog

Using NVIDIA Omniverse to prepare 3D assets from Building Information Models for AWS IoT TwinMaker

Introduction

The manufacturing and architecture, engineering, construction and operations (AECO) industries have widely adopted building information model (BIM) software to generate accurate 3D models for use in a digital twin. These 3D models can be anything from a factory floor to a construction site or office building. However, exporting 3D models from BIM software often results in inefficient models for rendering. The high rendering performance of a digital twin’s 3D scene is imperative for effectively monitoring operational events for the twin.

AWS IoT TwinMaker is a managed service for building digital twins to connect 3D models with real-world Internet of Things (IoT) data. Using this service, you can create interactive dashboards for engineers on a plant floor to help monitor and review their systems’ live and historical health. These dashboards feature a 3D scene to connect a virtual replica of your building or machine to real IoT data. AWS IoT TwinMaker supports the Graphics Language Transmission Format (glTF) format for efficiently rendering 3D scenes on a browser, but it currently does not support any BIM formats.

3D models created from a BIM file format like Autodesk Revit are difficult to convert and optimize without specialty software. NVIDIA Omniverse is a modular development platform for building and connecting OpenUSD-based 3D workflows and tools, enabling the management of BIM models, such as Autodesk Revit, and preparing the 3D model for use in a digital twin. Omniverse unlocks interoperability between 3D tools and data sets and can be used to convert standard 3D and CAD file formats like STP, OBJ and FBX to Universal Scene Description (OpenUSD). Omniverse’s Autodesk Revit Connector plugin allows for live-sync development on a BIM file. With NVIDIA technology, it becomes possible to connect everyone, from engineers and building designers in Revit to developers, artists, and visualization experts, in Omniverse for simultaneous collaboration and faster iteration of project workflows.

In this blog, you will learn how to create a 3D asset for a digital twin from an Autodesk Revit file using the NVIDIA Omniverse platform and AWS IoT TwinMaker. The tutorial in this blog converts the Autodesk Revit format to OpenUSD for processing in Omniverse. When satisfied with your model, you will export it to the glTF format and upload it to AWS IoT TwinMaker.

Walkthrough

The architecture below illustrates how a model conversion pipeline can be created with NVIDIA Omniverse to convert your Autodesk Revit file into a glTF model via OpenUSD. You will execute the step-by-step guide in this blog to complete the model conversion.

Prerequisites

  1. A local device that meets the technical requirements of NVIDIA Omniverse
  2. Autodesk Revit app installed and working locally
  3. NVIDIA Omniverse downloaded with the appropriate license based on your business requirement
  4. AWS Console access with permissions for AWS IoT TwinMaker and Amazon Simple Storage Service (S3)
  5. An AWS IoT TwinMaker supported region
  6. An existing AWS IoT TwinMaker Workspace

Step 1: Set up the NVIDIA Omniverse Server

  1. Open the Omniverse Launcher app
  2. In the Nucleus tab, choose Add Local Nucleus Service
  3. Choose Next
  4. Enter your desired credentials for the Administrator Account
  5. Choose Complete Setup
  6. Navigate to localhost:3080 in your browser of choice and confirm all apps are in the state Running

Step 2: Install the Omniverse USD Composer App

  1. Open the Omniverse Launcher app
  2. In the Exchange tab, search for USD Composer
  3. Choose USD Composer
  4. Choose Install
    1. You may have to wait several minutes for the installation

Step 3: Install the Revit Plugin for Omniverse

  1. In the Exchange tab, search for Revit
  2. Choose Autodesk Revit Omniverse Connector
  3. Choose Install
    1. Note: You must already have the Revit app installed on your machine

Step 4: Open the Sample Revit File

  1. Open the Autodesk Revit app
  2. Choose the Sample Architecture Project from the home page
    1. You can also find the sample file here, choose rac_basic_sample_project.rvt

Step 5: Configure the Revit Plugin for Omniverse in Autodesk Revit

  1. Under the Omniverse tab, select the user icon
  2. Choose localhost as your server
  3. Choose OK
  4. If you have issues connecting to your Nucleus server perform the following:
    1. Open the Omniverse Launcher app
    2. In the Exchange tab, search for Nucleus Navigator
    3. Choose Omniverse Nucleus Navigator
    4. Choose Install
    5. After the installation completes, choose Launch
    6. Enter localhost as the server name
    7. Enter admin as both the username and password to log in
    8. Repeat Step 5

Step 6: Select a 3D View in Autodesk Revit

  1. In the Project Browser box on the bottom left, select a 3D view (double click)
    1. Choose the 3D view {3D}

Step 7: Configure Sync From Revit to Omniverse

  1. Under the Omniverse tab, choose Settings
  2. The following settings are suggested:
    1. For Include Options, select Include Cameras, Include Lights, Include Vegetation, and Enable Family Data Instancing
    2. For Material Options, select Use Autodesk Materials
    3. For Send to Omniverse Settings, choose Send to locally installed Viewer
      1. Select Use Current Create
    4. Choose Save

Step 8: Sync from Revit to Omniverse

  1. Under the Omniverse tab, choose Send to Omniverse
  2. Wait for the file conversion and for the Omniverse Create app to open
  3. The following image shows what you should see in the Omniverse Create app:

Step 9: Export to glb in Omniverse

  1. In the Omniverse USD Composer, choose File, Export
  2. In the Select Export Folder dialog box, perform the following:
    1. Select a file path to save the export on your machine
    2. Enter a name for the export file
    3. For the file format dropdown, choose glb File (*.glb)
  3. Choose Save

Step 10: Import 3D Model to AWS IoT TwinMaker

  1. Open the AWS IoT TwinMaker Console in your web browser
  2. Navigate to the AWS IoT TwinMaker Resource Library page
    1. AWS IoT TwinMaker will store your 3D model in the S3 bucket associated with your TwinMaker workspace
  3. Navigate to the Scenes page, choose Create Scene
    1. Enter a scene name and description
    2. Choose Create Scene
  4. On the Scene Composer page, choose the plus (+) sign, and choose Add 3D model
  5. Select your local glb model from the list, then click on the canvas to place it in your scene
  6. Optionally, you can continue to edit your scene by adding widgets, tags, and binding your 3D models to IoT property data

Cleaning Up

Be sure to remove the resources created in this blog to avoid charges by performing the following:

  1. Delete any created scenes from your AWS IoT TwinMaker workspace
  2. Delete all files in the Resource Library
  3. Delete your AWS IoT TwinMaker workspace

Conclusion

In this blog, you successfully converted an Autodesk Revit BIM file to the glTF format and imported it into AWS IoT TwinMaker. This solution allows manufacturing and AECO customers to use BIM models to build digital twins and enables 3D visualizations to be optimized for reliable monitoring of building scale workflows. A digital twin can now be built with 3D detail for the mechanical, electrical, and plumbing (MEP) systems of a building, as designed in Autodesk Revit. To fully monitor your digital twin, create entities and components with live data of your building and attach this data to your 3D model in an AWS IoT TwinMaker scene.

NVIDIA Omniverse has efficiently organized 3D model information (materials, geometry, lights, etc.) to provide a fast export experience and decrease model size. For larger designs you can look into the Omniverse scene optimizer tools. If your output is still larger than 100MB, consider using Cesium Ion to convert to 3D Tiles for faster streaming of the model. The conversion process in this blog is similar for other BIM tools with Omniverse Connectors to Sketchup, Archicad, and Rhino. For getting started with Omniverse and AWS IoT TwinMaker, visit the page on getting started with Omniverse and review how to get started with AWS IoT TwinMaker.


About the Author

Harry Wandersman is a Software Development Engineer on the AWS IoT TwinMaker frontend service team. He has worked in the IoT space since 2018, helping build and develop the AWS IoT SiteWise and AWS IoT TwinMaker services. Harry is passionate about 3D graphics and immersive virtual experiences, and its application in IoT to support digital twins.