BIM Forensics

By 24th November 2017 Announcements

3D Repo for the brave


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 (soon)

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 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.



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 for this workflow this is not recommended. 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 through a web browser
  3. Search and analyse data in Node-RED
  4. Visualise results in and share with your team
  5. Alternatively, export BCF 

3D Repo – Node-RED workflow


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



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


Load the first 3D Repo flow

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 (triple-click in the code box, 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 “INPUTS” node in the flow canvas 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: “”
    3. Leave the rest as is for now
  12. Hit Deploy button
  13. Go to Sample_Federation in 3D Repo
  14. New issue called “Green bricks” appears in the issues tracker

Congratulations! You have successfully deployed your first flow.

There are more options predefined in the filter. Activate them by deleting “//” or pressing ctrl+/ on your keyboard. Each line in filter is a key-value pair which corresponds with model’s metadata. In 3D Repo activate Meta tool, inspect objects, add more metadata filters and try various combinations.

Specify name in issueName. createIssue toggle enables/disables creation of a new issue in tracker. The first boolean item (true/false) in the filter values list enables string search. In this case “Category”:[false, “SYSTEM: BRICKS”] we are looking for objects with Category exactly matching SYSTEM: BRICKS. This example “BrickName”:[true, “1X3″,”2X3”] searches for any object with Category with value containing either “1X3” or “2X2”.  

Dashboard returns quantities of each search term and can be viewed at http://localhost:1880/ui .


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