Prototype application for bulk-editing BIM 360 issues using Autodesk Forge APIs.
Live demo is running on https://bim360-issue-editor.autodesk.io.
In order to be able to access your BIM 360 project from this demo, you will need to add the following Forge credentials as a custom integration:
YhryNMLor4R1maFhY4zER8unpISoP5E4
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, it is provided in a password-protected ZIP archive. The password is configured using the
CLI_CONFIG_PASSWORD
environment variable.
node bin/bim360-to-excel.js <path/to/unzipped/config.json> <path/to/output/spreadsheet.xlsx>
node bin/excel-to-bim360.js <path/to/unzipped/config.json> <path/to/input/spreadsheet.xlsx>
--sequential
parameter to update issues in sequence instead of in parallel--range=<starting_row_number>-<ending_row_number>
parameter to only update issues in a given range of spreadsheet rows
The scripts assume that the path to the spreadsheet is valid, so make sure that the entire folders structure is available
/auth/callback
so, for example, when running the application locally, the URL should be http://localhost:3000/auth/callback
yarn install
cd node_modules/forge-server-utils && yarn run build:node
FORGE_CLIENT_ID
- client ID of your Forge applicationFORGE_CLIENT_SECRET
- client secret of your Forge applicationFORGE_APP_NAME
- name of your Forge 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 cookiesCLI_CONFIG_PASSWORD
- password to be used to encrypt the command-line configuration fileexport FORGE_CLIENT_ID=<client id>
export FORGE_CLIENT_SECRET=<client secret>
export FORGE_APP_NAME=<app name>
export HOST_URL=<host url>
export SERVER_SESSION_SECRET=<secret phrase>
export CLI_CONFIG_PASSWORD=<another secret phrase>
yarn start
set FORGE_CLIENT_ID=<client id>
set FORGE_CLIENT_SECRET=<client secret>
set FORGE_APP_NAME=<app name>
set HOST_URL=<host url>
set SERVER_SESSION_SECRET=<secret phrase>
set CLI_CONFIG_PASSWORD=<another secret phrase>
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": {
"FORGE_CLIENT_ID": "<client id>",
"FORGE_CLIENT_SECRET": "<client secret>",
"FORGE_APP_NAME": "<app name>",
"HOST_URL": "<host url>",
"SERVER_SESSION_SECRET": "<secret phrase>",
"CLI_CONFIG_PASSWORD": "<another secret phrase>"
}
}
This sample is licensed under the terms of the MIT License. Refer to LICENSE for more details.
Petr Broz (@ipetrbroz), Forge Partner Development Group