/forge-bim360-issues

BIM 360 Issues: This sample demonstrates the Document Issues API for BIM 360 using the built-in PushPin Viewer extension

Primary LanguageC#MIT LicenseMIT

View and create BIM 360 Issues

Platforms .NET License

oAuth2 Data-Management Viewer BIM-360

Intermediate

Description

Demonstrate how to read and create BIM 360 Quality Issues using built-in PushPin Viewer extension.

Uses Data Management to list hubs, projects and files. Uses Viewer to show models and extensions to create toolbar buttons and panels. The lists BIM 360 Document Issues on the panel. Uses the Autodesk.BIM360.Extension.PushPin built-in extension to show pins on the model.

This sample implements the Retrieve Container ID, Retrieve Issues and Create Issues tutorials on server-side (C#) and Render Pushpin and Create Pushpin tutorials on the client-side (JavaScript).

Thumbnail

thumbnail

Live version

bim360issues.herokuapp.com

Setup

Prerequisites

  1. BIM 360 Account: must be Account Admin to add the app integration. Learn about provisioning.
  2. Forge Account: Learn how to create a Forge Account, activate subscription and create an app at this tutorial.
  3. Visual Studio: Either Community 2017+ (Windows) or Code (Windows, MacOS).
  4. .NET Core basic knowledge with C#
  5. JavaScript basic knowledge with jQuery

Running locally

Clone this project or download it. It's recommended to install GitHub desktop. To clone it via command line, use the following (Terminal on MacOSX/Linux, Git Shell on Windows):

git clone https://github.com/autodesk-forge/bim360-csharp-issues

Visual Studio (Windows):

Right-click on the project, then go to Debug. Adjust the settings as shown below.

Visual Sutdio Code (Windows, MacOS):

Open the folder, at the bottom-right, select Yes and Restore. This restores the packages (e.g. Autodesk.Forge) and creates the launch.json file. See Tips & Tricks for .NET Core on MacOS.

At the .vscode\launch.json, find the env vars and add your Forge Client ID, Secret and callback URL. Also define the ASPNETCORE_URLS variable. The end result should be as shown below:

"env": {
    "ASPNETCORE_ENVIRONMENT": "Development",
    "ASPNETCORE_URLS" : "http://localhost:3000",
    "FORGE_CLIENT_ID": "your id here",
    "FORGE_CLIENT_SECRET": "your secret here",
    "FORGE_CALLBACK_URL": "http://localhost:3000/api/forge/callback/oauth",
},

Run the app. Open http://localhost:3000 to view your files. It may be required to Enable my BIM 360 Account (see app top-right). Click on

Deployment

To deploy this application to Heroku, the Callback URL for Forge must use your .herokuapp.com address. After clicking on the button below, at the Heroku Create New App page, set your Client ID, Secret and Callback URL for Forge.

Deploy

Watch this video on how deploy samples to Heroku.

Further Reading

Documentation:

Tutorials:

Blogs:

Other samples:

Tips & Tricks

This sample uses .NET Core and works fine on both Windows and MacOS, see this tutorial for MacOS.

Troubleshooting

  1. Cannot see my BIM 360 projects: Make sure to provision the Forge App Client ID within the BIM 360 Account, learn more here. This requires the Account Admin permission.

  2. error setting certificate verify locations error: may happen on Windows, use the following: git config --global http.sslverify "false"

License

This sample is licensed under the terms of the MIT License. Please see the LICENSE file for full details.

Written by

Augusto Goncalves @augustomaia, Forge Partner Development