Sample application showing how to view and manipulate BIM 360 content from a HoloLens device using AR/VR Toolkit, Mixed Reality Toolkit, and Forge/BIM360 APIs.
npm install
The server requires several env. variables:
SERVER_URL
- URL on which this server can be accessed by other devices, for example, http://192.168.0.123:3000
FORGE_CLIENT_ID
- client ID of your Forge applicationFORGE_CLIENT_SECRET
- client secret of your Forge applicationFORGE_API_HOST
- base URL for all requests to Forge; use https://developer.api.autodesk.com
REDIRECT_URL
- callback URL for the 3-legged auth workflow, for example, http://192.168.0.123:3000/api/auth/3-legged/callback
BIM360_CONTAINER_ID
- BIM360 issues container IDBIM360_DOCUMENT_LINEAGE_ID
- ID of a specific BIM360 document lineage; will be used for listing/creating issuesBIM360_DOCUMENT_VERSION_URN
- URN of a specific BIM360 document version; will be used for viewing and for AR/VR toolkit scenesBIM360_DOCUMENT_SHEET_GUID
- GUID of a specific sheet; will be used for creating issuesTOOLKIT_API_HOST
- base URL for all requests to AR/VR toolkit; use https://developer-api-beta.autodesk.io
If you're using Visual Studio Code, here's an example configuration you can use in .vscode/launch.json:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/index.js",
"env": {
"SERVER_URL": "http://<your ip address>:3000",
"FORGE_CLIENT_ID": "<your client id>",
"FORGE_CLIENT_SECRET": "<your client secret>",
"REDIRECT_URL": "http://<your ip address>:3000/api/auth/3-legged/callback",
"FORGE_API_HOST": "https://developer.api.autodesk.com",
"TOOLKIT_API_HOST": "https://developer-api-beta.autodesk.io",
"BIM360_CONTAINER_ID": "<your BIM360 issue container id>",
"BIM360_DOCUMENT_LINEAGE_ID": "<your BIM360 document lineage ID, without base64-encoding>",
"BIM360_DOCUMENT_VERSION_URN": "<your BIM360 document version URN, base64-encoded>",
"BIM360_DOCUMENT_SHEET_GUID": "<your BIM360 document sheet GUID>"
}
}
]
}
To setup the Unity project for development and building: