Process Automation and ETL
24 February 2024
ETL Extract: Collect data
24 February 2024

QTO with ChatGPT of CAD (BIM) data

Quantity of materials (QTO) calculation in construction is the process of obtaining attributes of the quantity and volume of resources required for a construction project. For each group of items, an individual volume attribute must be selected - quantity attribute, length attribute (meters), area attribute (square meters) or volume attribute (cubic meters).


In addition, each group of creatures has its own refining factors that help you get the actual volume, not just a geometrically based one. These features of each group are what the QTO process takes into account.

The Quantity Take-Off (QTO) process is necessary to produce accurate costings and precise estimates, preventing over- or under-ordering of materials.

As an example, let's select a category of wall elements from a Revit® or IFC CAD (BIM) project, group the entities in that category by wall type, and sum the volumes for each type to represent the result as a QTO volume attribute table. A schematic representation of this process is shown in the following image.

In the example of this typical project (Figure 3.2-3), all the creature elements of the wall category are grouped by wall type, e.g. "Lamelle 11.5", "MW 11.5" and "STB 20.0", and have well-defined volume attributes represented in metric cubes. Our task is to learn how to automatically produce a table of volume attributes for all types in a wall category in any project.

Gone are the days when experienced foremens and estimators armed themselves with a ruler and protractor, carefully measuring every line on paper or PDF plans, a tradition that has not changed over the past millennia. With the development of 3D modeling, where the geometry of each element is now directly related to its automatically calculated volume attribute, the QTO process has become automated.

Specifically in our example, the task is to "select a wall category in the project, group all elements by type, and present volume attribute information in a tabular format".

Due to the closed nature of CAD (BIM) data, not every professional today can use direct access to structured data inside a CAD (BIM) program (more about this in the chapter "BIM-BOM concept"). Therefore, many people have to turn to tools based on the concepts of open-BIM and closedBIM, which are developed and promoted by CAD (BIM) program manufacturers.

Creating a table with volume attributes from CAD (BIM) projects using today's popular open-BIM libraries such as IFC.js for JavaScript would require about 150 lines of code, while using IfcOpenShell (open-BIM) or IronPython (closedBIM) would reduce automation code to 40 lines. When working with specialized user interface tools such as Solibr® or creating a table directly in Revit®, identical tabular attribute results are achieved in 17 button clicks.

With open-BIM and closedBIM tools, regardless of the amount of code written or the number of button clicks, it is possible to get the same volume table for groups of elements from a CAD (BIM) project. There are hundreds of different tools on the market today that can produce similar results.

Unfortunately, the native form in which raw CAD (BIM) data is stored does not allow it to be quickly manipulated openly, forcing users to work with open-BIM and closedBIM tools.

Translating unstructured data into a structured form significantly improves the efficiency of various processes: it increases the efficiency of data processing and speeds up the validation process by making requirements clear and transparent, as we have already discussed in the previous chapters.

Likewise, moving CAD (BIM) data into a structured form facilitates the attribute grouping process and the QTO process (the transition from CAD (BIM) data to structured data was described in detail in the chapter "Converting CAD (BIM) data to structured form").

A QTO volume attribute table is always a structured table, so by using structured CAD (BIM) data, we can group data by one or more attributes with just one line of code, instead of using tens or hundreds of lines in open-BIM or closedBIM that works with semi-structured mixed geometry and metainformation formats or closed native CAD (BIM) formats.


❏ An example of grouping an entire project by a single attribute. Text request in ChatGPT:

I have a Project as DataFrame - filter the data so “Type” containing the value "Type 1"


➤ ChatGPT Answer:

And while in the past you had to immerse yourself in learning data analytics to start writing such simple code, now the logic of the process is translated into code via text queries using modern LLM language models such as ChatGPT (more about how ChatGPT helps you automate data processing in the chapter "ChatGPT and LLM for Data Automation").


Automation and LLM language models, such as ChatGPT, can completely free professionals working with grouping and processing CAD (BIM) data from the need to learn programming languages or BIM tools, providing the ability to solve problems through text queries.

The acquisition of QTO with CAD (BIM) data and the advent of tools such as ChatGPT are transforming traditional approaches to estimating by offering an integrated and rapid method of working to obtain quantitative and volumetric attributes for individual entities and their groups as well as for the entire project.

Now any project manager or engineer can find for example the total volume of all elements of a wall category from a project with hundreds of thousands of elements in a few seconds by writing or speaking a query in one or more sentences.

In such a simple text query (Figure 3.2-9), the ChatGPT agent processes the text query and summarizes the volume attribute values of all entities of an element with a particular value of the "Category" attribute. The result is a number that represents the total volume attribute in the desired dimension for one specific category (the defined OST_Walls value of the entities in the "Category" attribute).

However, if the estimate as a whole is considered, separate attribute quantities or volumes grouped by individual attributes and their values must be obtained for each kind of work. Typically, estimators and estimators have individual rules for grouping and calculating the total value of quantities and volumes for each group of items. To simplify the generation of values for all groups, queries are not written as text queries, but as tables that describe the grouping rules for the groups of entities in the project.

Latest posts

Stay updated: news and insights

Facing Issues?
Reach Out!

Offer support for any troubleshooting or advanced use-cases

Fresh solutions are released through our social channels

           Related posts

Don't miss the new solutions



QTO with ChatGPT of CAD (BIM) data
This website uses cookies to improve your experience. By using this website you agree to our Data Protection Policy.
Read more

Subscribe now to get free discount coupon code. Don't miss out!
    I agree with the term and condition