Prototype application for bulk-editing BIM 360 issues using Autodesk Platform Services APIs.
Live demo is running on https://bim360-issue-editor-v2.autodesk.io.
In order to be able to access your BIM 360 project from this demo, you will need to add the following APS credentials as a custom integration:
- APS Client ID:
gnChEZ6tph1H9IAelM2mYufYZVU1qqKt
- APS App Name:
Internal BIM360 Testing App
The project includes two command-line scripts (under the bin/ folder) that can be used to export issues to XLSX and import them back, locally. The scripts require a configuration file that is generated by the web application.
Since the configuration contains sensitive data such as authentication tokens, The download is controlled using the boolean
ALLOW_CONFIG_DOWNLOAD
environment variable.ALLOW_CONFIG_DOWNLOAD
is set to false by default to disable the download, set this variable to true to enable this feature
- Navigate to the issue page for one of your BIM360 projects
- Use the "Command-Line Config" button in the bottom toolbar
- Download the archive and extract the configuration JSON
- Open your command-line (make sure that you have Node.js installed), and navigate to this project's root folder
- Try one of the following commands:
- To export BIM360 issues to XLSX:
node bin/bim360-to-excel.js <path/to/unzipped/config.json> <path/to/output/spreadsheet.xlsx>
- To import issues from XLSX back to BIM360:
node bin/excel-to-bim360.js <path/to/unzipped/config.json> <path/to/input/spreadsheet.xlsx>
- Optionally, include the
--sequential
parameter to update issues in sequence instead of in parallel - Optionally, include a
--range=<starting_row_number>-<ending_row_number>
parameter to only update issues in a given range of spreadsheet rows
- Optionally, include the
The scripts assume that the path to the spreadsheet is valid, so make sure that the entire folders structure is available
- Node.js v10.15 or newer, and yarn
- APS application credentials (creating an app)
- Callback URL of the APS application must be set to your host followed by
/auth/callback
so, for example, when running the application locally, the URL should behttp://localhost:3000/auth/callback
- Callback URL of the APS application must be set to your host followed by
- BIM 360 project with the APS application added as a custom integration
- clone this repository
- install dependencies:
yarn install
- provide the following env. variables
APS_CLIENT_ID
- client ID of your APS applicationAPS_CLIENT_SECRET
- client secret of your APS applicationAPS_APP_NAME
- name of your APS application (used when asking user to setup the BIM 360 integration)HOST_URL
- URL where the demo application is running (for example, http://localhost:3000)SERVER_SESSION_SECRET
- secret phrase used to encrypt session cookiesALLOW_CONFIG_DOWNLOAD
- set to false by default
export APS_CLIENT_ID=<client id>
export APS_CLIENT_SECRET=<client secret>
export APS_APP_NAME=<app name>
export HOST_URL=<host url>
export SERVER_SESSION_SECRET=<secret phrase>
export ALLOW_CONFIG_DOWNLOAD=<false>
yarn start
set APS_CLIENT_ID=<client id>
set APS_CLIENT_SECRET=<client secret>
set APS_APP_NAME=<app name>
set HOST_URL=<host url>
set SERVER_SESSION_SECRET=<secret phrase>
set ALLOW_CONFIG_DOWNLOAD=<false>
yarn start
When using Visual Studio Code, add this configuration to your .vscode/launch.json:
{
"type": "node",
"request": "launch",
"name": "Launch Server",
"program": "${workspaceFolder}/server.js",
"env": {
"APS_CLIENT_ID": "<client id>",
"APS_CLIENT_SECRET": "<client secret>",
"APS_APP_NAME": "<app name>",
"HOST_URL": "<host url>",
"SERVER_SESSION_SECRET": "<secret phrase>",
"ALLOW_CONFIG_DOWNLOAD": "<false>"
}
}
- Sample unable to download Autodesk native product file attachments (rvt, dwg, nwd) on the browser.
This sample is licensed under the terms of the MIT License. Refer to LICENSE for more details.
Petr Broz (@ipetrbroz), APS Developer Advocates