Chat with us, powered by LiveChat

About

3D Repo Ltd is a Software as a Service (SaaS) platform provider of Building Information Modeling (BIM) solutions in the cloud. Headquartered in London, UK, 3D Repo offers web-based data management and visualization software for architects, consultants and contractors working on large multi-disciplinary construction projects globally. It is one of several BIM development kits in the cloud advocating the use of open standards.

More at Wikipedia

Node-RED is a flow-based development tool developed originally by IBM for wiring together hardware devices, APIs and online services as part of the Internet of Things. Node-RED provides a browser-based flow editor, which can be used to create JavaScript functions. Elements of applications can be saved or shared for re-use. The runtime is built on Node.js. The flows created in Node-RED are stored using JSON.

More at Wikipedia

Node-RED is a great tool for connecting to 3D Repo’s APIs for model checking, analysis and data mining. Its graphical programming interface is similar to popular tools such as Grasshopper or Dynamo and allows users advanced filtering of metadata and visualising the results in 3drepo.io. Insights depend on quality of the models and preferred format is IFC  for its interoperability, wide industry adoption and standardised data schema. 3D Repo supports BCF in (coming soon) and out which allows smooth integration to existing workflows.

Workflow

For purpose of advanced search and analytics, Node-RED is installed and runs locally. Node-RED flows can be deployed in cloud as well, however, running Node-RED on your computer is more cost effective and also safer as you will be sending username and password in API calls.

  1. Export IFC model from your BIM authoring tool
  2. Upload the file to 3repo.io through a web browser
  3. Search and analyse data in Node-RED
  4. Visualise results in 3drepo.io and share with your team

Installation

Node-RED is a Node.js application which has to be installed first. Follow the instructions below.

Node-RED installation instructions

Install Node-RED Dashboards

Run

Open Command Prompt on your Windows and type node-red to run it. Access Node-RED editor in your browser (Chrome or Firefox) at http://localhost:1880 .

More here

Hello world!

3D Repo flows provide necessary code to work with your data and visualising them. No coding skills are required to start but getting familiar with basics of JavaScript is encouraged.

This first flow is set up to work with a Sample_Federation in Sample_Project in your teamspace.

  1. Start Node-RED
  2. Go to your teamspace and open Sample_Federation model
  3. In a new tab, open Node-RED editor at http://localhost:1880
  4. From menu in right top corner select Import > Clipboard
  5. Copy code from here (ctrl+A, ctrl+C) and paste it (ctrl+V) in “Import nodes” dialog in Node-RED editor
  6. Select “new flow” and hit Import button
  7. Hit “Deploy” button
  8. In a new tab, open Node-RED dashboard at http://localhost:1880/ui
  9. Fill in your 3D Repo username and password in login section
  10. Go back to Node-RED editor
  11. Double-click on “MAIN INPUTS” node and fill in required fields:
    1. Type in your teamspace (identical with your username)
    2. In 3D Repo, open Sample_Federation and copy & paste model ID from your browser’s address bar, for example: “https://www.3drepo.io/teamspace/ba049092-14c6-459e-b92f-f8072f0e9ae5”
  12. Hit Deploy button
  13. Go to Sample_Federation in 3D Repo
  14. New issue called “Hello world!” appears in the issues tracker

Congratulations! You have successfully deployed your first flow.

Now try something more useful. You can find more samples and tutorials in here.

Join the discussion One Comment

  • Pavol Knapo says:

    If your flow doesn’t work and you get “no response from server” and “Error: socket hang up” errors from HTTP node, try increasing maximum API request timeout and limit.

    Go to Node-RED folder C:\Users\***\.node-red
    Open settings.js
    Uncomment and change following:

    httpRequestTimeout: 1200000,
    apiMaxLength: ’50mb’,

Leave a Reply