Quantity of materials
Hi all, I am new to BIM and I am eager to learn, Can anyone help me understand how to get the quantity of:
• The bricks used for a wall
• The concrete used for a Column, Beam, slab or the structure
• The number of tiles/blocks used for a given surface
• The number of pipes and fixtures used for plumbing, electrical, fire & HVAC
• The length of wires used for electrical work
• The quantity of mortar being used for a wall plaster including the number of cement bags, quantity of plaster sand and quantity of water.
• The quantity of steel used for the given Column, beam, slab or whole structure.
A suggestion of how and where to apply the M15, M20, M30 & M40 grade concrete, additionally the recommended quality of steel to be used as and where applicable according to industry standards would be of great help.
Comments
Hi @inshaA :
let me try to help you out with your questions:
it all starts with how BlenderBIM (BBIM, this name is going to change soon by the way) handles quantity take-off tasks
please see the link at the bottom from where you can watch some quick 'n dirty clips I prepared in the past on the subject (extracting quantities from a BIM model using BBIM), but I would recommend a great source of information that are the videos from @SigmaDimensions on YouTube, this is the most recent covering the 5D subject, which is the cost dimension of BIM
some elements in the user interface have been updated so you might find slight differences here and there compared to more recent releases of BBIM
once the quantity (length, area, volume) of the elements in your model is known, then you can apply any common approach used in Quantity Surveying or QS
there are countless examples and tutorials online, but you need to know the area of your walls first of course, and here is where BBIM truly excels
same applies
similar to bricks in a wall, it all begins with knowing the area of the surface at play and apply the required formula
here gets a bit tricky for me because I haven't had the chance to fully dive in the MEP (Mechanical, Electrical, Plumbing) features in BBIM but I count on catching up soon.
I am ok with counting fixtures and measuring conduits, pipes etc. but using BBIM for MEP modeling and quantity take-off still has a few grey areas I need to clarify at the moment
same as above
again, once you know the mix ratio of the mortar (or the proportion of its elements like cement, lime, and sand), and you know the area of the wall, it's just arithmetic
in my experience (I work as a quantity surveyor) I use average percentage of steel per type/size of concrete element, this comes from having run a number of tests (by just measurig and counting the reinforcement element of several samples and develop its weight per m² or m³) to build up some benchmarks or directly from the structural engineering drawings indicating it.
To be honest I haven't had the time or priority to model rebars details in BBIM and extract quantities from the same model, but some other users reading this surely have a better understanding and could be willing to contribute (not how to extract quantities from a bar bending schedule, rather how to automatically generate one in BBIM provided the model is detailed enough to support it and this feature is currently available)
interesting question
in BBIM you can use (among others) material resources and, starting from the mix ratio (for instance, as you know M15 uses 1:2:4 by dry volume indicating 1 part of cement, 2 of sand, 4 of aggregates) you can extract and organize your quantities accordingly
but this does not answer your question how and where to apply.. I believe you need to understand the subject first, BIM is a fantastic tool but it does not spare you from having sufficient knowledge of structural design
something worth mentioning: you need a BIM model to practice, I stronlgy recommend to start with a very simple one and move on from there
to summarize:
In my opinion understanding BIM in general can be daunting at first but I can guarantee you it's worth the challenge and efforts, plus it pays back with interest in a relatively short time, in my experience it has been, quite literally, a revolutionary tool
this community gave me a tremendous help and support and it seems only fair to me to return it in case someone needs information in a field where I can be of assistance
kindly advise
cheers
link to my clips
So I have all of my EPS insulation by material selected. A quick calculation shows 32sm of insulation, which seems high but I can check it in ArchiCad also. Is there a step by step on how to create schedules for cost or other values? Since what I am aiming for is a sum of all materials, by material name, volumes, and then I want to do total volume/density = kg of material * kgCO2e/m3 = total kgCO2e for the whole project for every material enumerated. I'm especially curious to know how doors and windws will be calculated and/or omitted (we developed a special window in Archicad that uses BMats by volume of frame, glass, etc. but most door/window/objects don't do that).


Turns out ArchiCad shows 450.79kg of this EPS insulation material, so at 25kg/m3 density, that gives 18m3 of material. A match to the ArchiCad schedule:
Where I've got ~450kg of material with an embodied carbon value of 3.29kgCO2e/kg of material = ~1483kg CO2e for the total of foam insulation on this little job. I wonder if BBim is calculating that material across openings? Where ArchiCad nets them?
hi @Andyro :
I can try to walk you through the initial steps, maybe starting with Spreadsheet Import/Export and how to arrange for a query, or you already know how to deal with it?
windows and doors too
could you please simplify your request into separate items?, it would be more simple to answer, thanks
@steverugi first of all thank-you kindly for your offer of guidance! if you have even a cost by volume methodology explained somewhere I could follow along and just try to use my file's Psets for embodied carbon instead of price? I have zero clue how to do any of this in BBim - I'm a complete n00b as of 2 weeks ago.
Tomorrow morning I can send you a simple example on how to extract quantities based on criteria from property, class, pset etc
Let's start from there :)
Hi @Andyro
let's see if I can summarize it for you in a few steps (oversimplified example):
The model
here is a dummy house with doors and windows, you can find the .ifc file in attachment
their types are shown under the IfcTypeProduct container framed in green
list windows and doors in the model
go to Spreadsheet Import/Export in the Quality and Coordination > Collaboration panel
this is the output (see details later below)
create a table in a web browser
references
can this be a good start?
here a link to a folder with some queries I prepared that should cover several cases
they are shown in an Excel file and saved as .json file you can import using the

arrow-down
iconfile here, you need to change the suffix to .ifc
in the folder you can find an example of how to extract materials and other properties, please let me know
PS to extract weight from an element you need to assign its density as property to the material and use manual calculation, more on this some other time if needed
Thanks @steverugi ! I got it to work. Some of my files weren't authored in Bonsai so names are different, but I did successfully export a bunch of stuff that were classed as IfcBuildingElementProxy so the workflow works for sure. Also I don't get the option to export to web, only csv/xlsx/ods. (on OSX, not sure if that is the difference). But when I tried to get a qty for 'Embodied Carbon' I get a .py error.

What I'm after are these values but I don't know the syntax to use...
(I'm guessing to grab my doors/windows I will need to properly classify them inside Bonsai).
Ah. So used AC_Pset_MaterialCustom and 'Embodied Carbon' (no more export error) as the name in the first and second columns, but got 0's in the Sum results - probably because there are several AC_Pset_MaterialCustoms and I need to point to the specific one I am after. So maybe I need to get volumes, density, and enumerated Embodied Carbon by material and do the multiplication/division in the spreadsheet? Is there a list of terms somewhere for these values? (ah! Yes, just dl'd your spreadsheet from DropBox, tx!)
Would you be willing to help add a case for Embodied Carbon or wbLCA calcs to your 'spreadsheet query.xlsx'? To get total project embodied carbon we usually take the value of Embodied Carbon per material (typically kgCO2e/kg of material, let's say we have 3kgCO2e/kg of EPS Insulation), and then multiply the kg of material we have. When we aggregate total materials by volumes instead of weight, then we just need to divide by density, where say we have a sum of 1m3 of insulation with a density of 25kg/m3, then we just multiply 25 x 1 = 25kg total, and then multiply 25*3kgCO2e/kg = 75kgCO2e of EPS Insulation... then we do that for every material in the model and we get embodied carbon for the whole project, now mandatory for permits in several EU countries. Super useful for have! Is it possible to load or pre-define these types of schedules as you have in your spreadsheet document?
follow these steps: https://community.osarch.org/discussion/comment/21344/#Comment_21344
Hi @Andyro
I managed to catch your custom using
Pset AC_Pset_MaterialCustom.EmbodiedEnergy
you need to put them both in the first column, the second column only indicates the heading in the output tablethere should be no space in the property name after the dot to avoid error, unless someone here show us how to do it, I tried with quote and double quote but no joy there
EDIT I used MyNew_Pset."New Property" and it worked..
Spreadsheet Import/Export is a great tool to export model entities and their data using queries but AFAIK no calculation is currently allowed
To be honest I need a bit of time to fully understand your request, will try again tomorrow, cheers
EDIT I used MyNew_Pset."New Property" with a space between 'New' and 'Property' and it worked.. please try
from https://docs.ifcopenshell.org/ifcopenshell-python/selector_syntax.html
@steverugi here's my file in case it helps: https://openbuilding.ca/wp-content/uploads/2024/08/Cubic-Bonsai-v1.6-IFC4X3.ifc_.zip - Basically I'm trying to get any number to report from the embodied carbon values that are assigned to the materials, and applied to many elements in the project, both objects and composite wall components and as raw basica elements (like a beam, simple solid). You will see the materials there with values for physical properties and embodied carbon. The compressed file is under 3mb. Thanks for taking a look - I'm still getting zero values. If I could start by just listing embodied carbon by material, and then even a separate schedule for elements by volume totals, and then another one for density or mass - I could assemble this and find a way to bring them together....
interesting model you have, very detailed
so from the classification pov this is how BIM was in the 2x3 era :)
using this query
you get this output (I purposely selected elements with some info, many don't)
in summary, to get the info relating to the material assigned to an element you need to call the
mats
and use its Pset after a dotsome elements have multiple materials that's why you have 1,2, and 3
does it help?
one more thing..
if you need just a list of materials used in the model and their properties you can use this query
to get this
..or if you need a table with the name of materials assigned
I added the volume of those items with it in their Qto_BuildingElementProxyQuantitites.NetVolume
hope it helps, cheers
PS you might want to use the weight calculated per element based on the density of the material assigned, will try to check tomorrow (haven't used weight for multiple materials yet)
Very cool - thanks for getting it sorted. The various 0, 1, 2 settings probably relate to how ArchiCad uses gross, conditional, net volume and area calculations, so the ifc export might reflect three different sets where only really one would be relevant to total calculations. I wouldn't be surprised if Graphisoft hasn't really invested the time to fully adopt IFC4x2, this is just what we get from export using an IFC4 translator and tbh I have never much paid attention to how these IFC files look - until now, as ArchiCad has been the 'walled garden' so many of us have been living in. I'm very keen to try and work through this tomorrow, and it also relates to how we may collect values to feed in to our energy modelling tool (an xlsx sheet for now). https://openbuilding.ca/wp-content/uploads/2024/08/TEUI-v3.015.xlsx - you can try from the link there <. All we really need to do comprehensive energy analysis using this tool is surfaces of floor/walls/roofs/windows (the latter by orientation ideally) and then RSI or U-values for each assembly. We might try to find a way to automated the assembly U-value by material RSI/U and its thickness, and then use a table to generate the stack of RSI values and invert to an aggregate assembly U-value. The TEUI3 tool then creates a weighted average of these to use in its calcs for heatloss and gain. If I can find a way to eventually build these calcs into Bonsai internally I will, but I'm just trying to figure out how surfaces, volumes and material database physical properties work in IFC first! Thanks :)
Oh - and the objects/elements with no embodied carbon are like that because many GDL objects in ArchiCad predated the introduction of Building Materials to ArchiCad - so they may have surface styles and other geometric qtys but they are for these purposes just dumb objects. In fact I'd say most ArchiCad objects, doors and windows don't have or use BMats in this way at all - which is a bit of a black hole for us as they represent a significant carbon footprint.
hi @Andyro
I think it's pretty simple in Bonsai but if you have elements using their class and own representation, your exported model looks like mostly meshes all classified as IfcBuildingElementProxy
lots of things here ;) but very interesting subject for me to delve into, hopefully someone on the platform with the required knowledge will properly answer to you
I only know how to use Bonsai using simple types (beams, slabs, etc) modeled in a conventional way but I am going to investigate further