Giter VIP home page Giter VIP logo

aps-takeoff-to-bidform-items's Introduction

Create BidForm Items of BuildingConnected by Takeoff of Autodesk Construction Cloud

Node.js npm Platforms

Authentication Data-Management Model-Derivative Viewer

BuildingConnected ACC TakeOff

MIT Level

Intermediate

Description

This sample demonstrates the use case: The project administrator of BuildingConnected(BC) project creates bid scope-specific-form items with the model quantities of Autodesk Construction Cloud (ACC) Takeoff. The sample allows the user to create new BC project, bidpackage with the information from ACC project and Takeoff package. It also allows the user to edit the fields of bid form items and update with BC data.

Thumbnail

Demonstration

https://youtu.be/W9rGN-2XnRM

Setup

Prerequisites

  1. APS Account: Learn how to create a APS Account, activate subscription and create an app at this tutorial. For this new app, use http://localhost:3000/aps/auth/callback as Callback URL. Finally take note of the Client ID, Client Secret and Callback URL.
  2. ACC Account: must be Account Admin to add the app integration. Learn about provisioning.
  3. ACC Takeoff: must have one active ACC project with Takeoff module enabled.
  4. Create Takeoff Items:
    • 5.1. Upload some sheets/models to Takeoff >> Sheets & Models
    • 5.2. Create one package with the name which will be consistent to that in buildingconntected
    • 5.3. Create some takeoff types. The corresponding quantities will be generated automatically
  5. Building Connected Account and Subscription: You must have a relevant BuildingConnected subscription for each endpoint. In this sample, BuildingConnected Pro is needed.
    • Users (no subscription required)
    • Opportunities (Bid Board Pro)
    • All others (BuildingConnected Pro)
  6. (Optional)Bid Project and BidPackage: Create one test project and bidPackage in BuildingConnected manually
  7. Node.js: knowledge with Node.js.
  8. knowledge with html5,JavaScript, css,jQuery and bootstrap 10.knowledge with Data Management API with ACC Docs, Viewer SDK and ACC Takeoff API and BuildingConnected API etc.

Running locally

Install NodeJS, version 8 or newer.

Clone this project or download it (this nodejs branch only). 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-platform-services/aps-takeoff-to-bidform-items

Install the required packages using npm install. Set the environment variables with your client ID, client secret, callback url and finally start it. Via command line, navigate to the folder where this repository was cloned and use the following:

Mac OSX/Linux (Terminal)

npm install
export APS_CLIENT_ID=<<YOUR CLIENT ID FROM DEVELOPER PORTAL>>
export APS_CLIENT_SECRET=<<YOUR CLIENT SECRET>>
export APS_CALLBACK_URL=<<YOUR CALLBACK URL>>
npm start

Windows (use Node.js command line from Start menu)

npm install
set APS_CLIENT_ID=<<YOUR CLIENT ID FROM DEVELOPER PORTAL>>
set APS_CLIENT_SECRET=<<YOUR CLIENT SECRET>>
set APS_CALLBACK_URL=<<YOUR CALLBACK URL>>
npm start

OR, set environment variables at launch.json for debugging.

Use Cases

  1. Open the browser: http://localhost:3000. Please watch the Video for the detail and usage.

  2. After the user logging succeeds, the code will start to extract all projects of Autodesk Construction Cloud (ACC) this user is member of and the takeoff packages with the projects.

  3. (Optional) Select one ACC project, in the context menu, click Create Bid Project, one BuildingConnected project will be created and link with this ACC project.

  4. Select one BuildingConnected project. Select one Takeoff package, in the context menu, click Create Bid Package. This will create a bid package with the information of the ACC Takeoff package (such as name). The scope-specific-bid-form will be also initialized.

  5. When selecting the Takeoff package, the corresponding takeoff items will be exported to the table. Click any of record, the corresponding takeoff model items will be loaded in the viewer.

  6. Inspect those model items, quantity, and unit. If they are suitable for bidding, click the arrow icon in bid column. The scope specific bid form item will be created in the list of Bid Scope Specific Forms

  7. Double check the items in Bid Scope Specific Forms if they need to be modified. After it is confirmed, click upload icon to send the bid form items to BuildingConnected.

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

Known Tips

  1. Sheets & Models for ACC TakeOff is not ACC>>Files, while BuildingConnected project associates with ACC>>Files now. So this sample has to map BuildingConnected files to ACC>>Takeoff>>Sheets & Models
  2. The mapping of bid package and takeoff package is by their name. ensure to make them consistent in order to work with this sample

Limitations

  1. This sample does not implement complex scope-specific-form such as nested sections.
  2. This sample does not implement all unit types.
  3. This sample only implements the type of Line Items. As to Alternates, Inclusions, etc, the section is designed, but no contents. The code logic can be similar to that of Line Items.

Further Reading

Blogs

License

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

Written by

Xiaodong Liang @coldwood, Developer Advocacy and Support

aps-takeoff-to-bidform-items's People

Contributors

xiaodongliang avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.