1 - BIM 5D CRASH COURSE
Log in to access completion tracker and earn ๐Ÿฅ• XP!
๐Ÿ“„ Lesson Notes
Table Of Contents

Introduction ๐Ÿงพ

Definition of an IfcCostSchedule๐Ÿ“Š ๐Ÿ“

An IfcCostSchedule brings together instances of IfcCostItem. A Cost schedule can be used to present:

  • cost information in an estimate for constructions costs,
  • cost information in a work order,

Manual Cost Schedules ๐Ÿ“‹

We'll start by creating a simple Cost Schedule manually, and then we'll see how we can import a Schedule, and a Schedule of Rates from a spreadsheet.

Adding Cost Schedules ๐Ÿ“‹

Let's get started! We'll be continuing from the previous tutorial, where we already have 4D data. If you haven't done so, check out the 4D tutorial first.

Head on over to the Blender Scene Properties โžก๏ธ Costing and Scheduling Tab โžก๏ธ Cost Panel.

img

Clicking โž• will prompt a menu where you can specify a Name ๐Ÿท๏ธ, and a predefined Type ๐Ÿ“.

img

The predefined type can be chosen from the dropdown list ๐Ÿ“œ, here's a description for each predefinedType.

  • BUDGET : An allocation of money for a particular purpose.
  • COSTPLAN : An assessment of the amount of money needing to be expended for a defined purpose based on incomplete information about the goods and services required for a construction or installation.
  • ESTIMATE : An assessment of the amount of money needing to be expended for a defined purpose based on actual information about the goods and services required for a construction or installation.
  • PRICEDBILLOFQUANTITIES : A complete listing of all work items forming construction or installation works in which costs have been allocated to work items.
  • SCHEDULEOFRATES : A listing of each type of goods forming construction or installation works with the cost of purchase, construction/installation, overheads and profit assigned so that additional items of that type can be costed.
  • TENDER : An offer to provide goods and services.
  • UNPRICEDBILLOFQUANTITIES : A complete listing of all work items forming construction or installation works in which costs have not yet been allocated to work items.
  • USERDEFINED : User-defined type.
  • NOTDEFINED : Undefined type.

Source

I have called my schedule EC1-5D-Tutorial and set the predefined type to BUDGET.

We should then see it listed in the Cost Panel. img

Editing attributes โœ๏ธ

To give more information about the schedule, you can edit the following attributes by clicking on the "Grease Pencil" โœ๏ธ:

  • Name ๐Ÿท๏ธ,
  • Description ๐Ÿ“„,
  • Identification ๐Ÿ†”,
  • Status (PLANNED, APPROVED, AGREED, ISSUED, STARTED) ๐Ÿ“…,
  • Submitted On ๐Ÿ“ค,
  • Update Date ๐Ÿ”„,
  • Predefined Type ๐Ÿ“,

Cost Items ๐Ÿงพ

Entity Definition of IfcCostItem ๐Ÿ’ฐ

An IfcCostItem describes a cost or financial value together with descriptive information that describes its context.[...] An IfcCostItem can be used to represent the cost of:

  • goods and services,
  • the execution of works by a process,
  • lifecycle cost,
  • and more.

Source

Click on the tree like button to display the Cost Schedule Tree View and enable adding Cost Items. img

Adding Cost Items ๐Ÿ“Š

Clicking on โž• Add Summary Cost will add a root cost item. At the moment, it has no ID, no Name, no Cost Value, nor Quantity. You can't tell much yet, so here's a description of the columns:

img

Let's fix this!

Editing the ID and the name can be done by double clicking within the tree view. I have called my root cost item Project EC1-5D-Tutorial and set the ID to EC1-DB.

You can also edit the cost item attributes (including the name and Identification), by pressing on the greasepencil. Editing attributes is the same as usual.

img

Cost Breakdown Structure (CBS) ๐Ÿ“Š

We'll add cost items in a hierarchy, to create a simple Cost breakdown structure (CBS). Select a cost item, and press on "+Add" to add a child cost item. You can create as many levels as you wish. levels, as shown below:

Ideally, the Work Breakdown Structure (WBS) should be used as a basis to create the CBS, where the cost items Ids should refer to the relevant WBS Codes.

Here's a small example below, this will allow us to go into great detail for self production, digging into 4D again, as well as review how to budget costs for packages to be awarded to subcontractors.

img

Adding Cost Values ๐Ÿงฎ

Let's look at a single cost item, we'll select the "Window Type 01" cost item. We'll add a cost rate - which can be added from a schedule of rates ( we'll see this later on), or can be added manually:

Press on the coin-like button to add a cost value. Below the tree, you can add a fixed cost of 350 to this cost item. Write 350 in the number field, and press on the "+" button to add it to the cost item.

Note how you can add multiple cost values to a single cost item. The total cost rate will be the sum of all the cost values.

img Tada! It should be listed an look as above.

Currency ๐Ÿ’ท

We don't yet have any currency in this project, so let's add one. Click on the "Currency" button, and add a currency from the predefined list or create your custom currency. This should be the ISO currency code. I have added GBP for British Pounds.

Then click on "+" to add it to the project.

img

Creating Cost Item Quantities ๐Ÿ“ˆ

We'll now create quantities for our cost items.

There are many ways to do this:

  • Counting,
  • Deriving from building element Quantities,
  • Manually,
  • From Tasks,
  • From Resources.

Counting ๐Ÿงฎ

We'll start with the "Window Type 01" cost item. We'll create a quantity for the number of windows of this type. Assuming we have a larger project than this current example, we would need to search and select the elements we want to count.

Searching and Selecting Elements ๐Ÿ•ต๏ธโ€โ™€๏ธ

We can go to the Project Overview Tab, Grouping and Filtering Panel, and add a Search Group. We'll be adding two filters, a Filter class IfcWindow and a Filter Type PF-01.

When you press on Search, you should see all the windows of type PF-01 in the 3D view selected.

img

Tip: Queries ๐Ÿ“

Keep note of the Filter Query, by clicking on the "Filter" button. We'll need to understand this syntax if we want to automate the process of assigning elements to cost items through a spreadsheet using such queries IfcWindow, type="PF-01". img

Assigning Elements to Cost Items ๐Ÿ“

Back in the cost panel, with your cost item selected, look at the Cost Item Quantities Subpanel.

To assign and count elements you've selected, click on the "+" button. This will simply count the elements you've just assigned to that cost item. You can also select one assigned elements to remove items individually, or alternatively, press on Clear assignments to remove all assignments.

img

Derived Quantities ๐Ÿ“ˆ

Ensure your building Elements have correct Quantities - as accurate as how a trained quantity surveyor would derive them manually. If you're not sure about the quality of your derived quantities, I'll show you some examples in the full 4D & 5D course.

Search

Just as before, we'll search for the elements we want to derive quantities from. We'll be adding two filters, a Filter class IfcCovering and a Filter Type RMF-01. Giving us a query of IfcCovering, type="RMF-01".

Press Search, and you should see all the elements of type RMF-01 in the 3D view selected.

Quantity Take off ๐Ÿ“

Back in the cost panel, with your cost item selected, look at the Cost Item Quantities Subpanel again. With the correct quantity type selected, click on the "Properties"-like button to do a quantity take off. This will also derive the total quantity for the cost item, and if you have a cost rate, it will also show the sub-total.

img

Manual Quantities ๐Ÿ“ˆ

We can add a quantity manually, by selecting the cost item, and clicking on the "Property"-like button. This will show a dropdown list below the schedule tree, where you can choose the quantity type and then press on the "+" button to add it to the cost item.

img

Once you click on "+" you can edit the quantity value. I have added IfcQuantityTime with a value of 365 days.

img

Tip: Units ๐Ÿ“

You cannot edit the unit here. It so happens I've set it the day unit as my default project unit. If you need to change the unit, you can do so in the Blender Scene Properties Project Overview Tab โžก๏ธ Geometry Panel > Unit Panel. Add a day IfcConversionBasedUnit to the project, and set it as the default unit. All your time quantities will then be in days.

img

Quantities from tasks ๐Ÿงฎ

What if we can get time information from a task ? We can then assign a task to a cost item, and derive the quantity from the task.

A task can also have a Quantity Set. For example, if the task duration is 5 days, the Qto_TaskBaseQuantities would have as properties:

  • StandardWork : 5.0
  • OverTime : 0.0 ( or NULL )

We need to select the task, and then the cost item, and then in the Cost Item Quantities subpanel, under Tasks, choose the correct quantity, and hit the Properties-like button. This will:

  1. Assign the task to the cost item,
  2. Derive the quantity from the task QTO.

img

Give it a price, and off you go estimating costs from tasks!

Quantities from Resources ๐Ÿงฎ

A resource can also have a quantity set, and can be assigned to a cost item directly, allowing to derive the quantity from the resource.

Under the Cost Item Quantities Subpanel > "Resources" section: Select the resource and the cost item, a dropdown will pop-up if you have quantities on your resource - select the correct quantity type, then press on the "Property"-like button to:

  1. Assign the resource to the cost item,
  2. Derive the quantity from the resource QTO.

Note: Labor Resources Qto

img

Note: Material Resources Qto

img

Note: Equipment Resources Qto

img

Warning: Crew, Subcontractor, Product

Crews do not have Qtos.

Subcontractor and Product Resources are not supported for Qtos at the moment.

Calculating Costs from tasks with Resources ๐Ÿงฎ

The ultimate 4D-5D workflow I enjoy, is to calculate costs from resources which are assigned to tasks.

We previously used the building objects assigned to tasks to calculate required resource work based on productivity data. Our resources also have base costs assigned to them, which we can now use to calculate the cost of the task. Let's go crazy : Here are the steps: Select the task, and the cost item. Press on "+" to assign the task, and then press on the coin-like button next to "Resources" section. Boom. You have a cost for your task.

img

Open up your cost item's value for editing, and you'll notice you have a list of cost values, one for each resource. The total cost is the sum of all the cost values. These cost values are derived from the resource's base cost, and the Schedule work of each resource.

img

Summing up Cost Items

Sums

Let's start with the Architectural cost item package.

Select the cost item, press on the coin-like button as below, and then under the schedule tree, you'll need to choose "Sum" and press on "+" to add it to the cost item.

Warning

Since the cost value is derived from the sum of its nested costs, you need to sure you also sum up the cost item package called Windows & External Doors, and External Facade, otherwise you'll get a 0.

img

Formulas

You can also create formulas to calculate the cost value of a cost item.

Tip:Cheat Sheet ๐Ÿ“

You can create simple formulas using operators:

  • add: +
  • divide: /
  • multiply: *
  • subtract: -.

For example, if you want to add a 20% profit margin to your cost item, you can write SUM()*1.2 in the formula field.: Dumb Formulas 30*25, or 30*(20+5) are also supported. Smart Formulas: Labor()+(1.2*Material())

Let's look at the last one in detail:

First, add a cost item for which you will make a formula. Nest two children. One for Labor, and one for Material.

Add a cost rate with a `category=Labor``, by:

  1. ressing on the coin-like button,
  2. Chose "Category" in the dropdown list,
  3. Write a cost rate value,
  4. Write the category name

img

Then, select the parent cost item, and add a cost value as a SUM. Then just edit the formula to be Labor(). Add a second cost value, and edit the formula to be Material(). Repeat the same for the ancestors of the cost item.

img

Now, finally, let's add a sum cost value to the root cost item, here called TOTAL WITH TAX, click on the formula operator, and write Labor()+(1.2*Material()).

You can then save the formula by pressing on the tick button.

img

SCHEDULE OF RATES ๐Ÿ“‹

We need to import a Schedule of Rates. We'l' use a template that looks as such:

img

Importing a Schedule of Rates ๐Ÿ“ฅ

To import a Schedule of Rates, you need to: Disable editing any cost schedule you may be working on. Press on the "Import" button, this will prompt a menu where you can choose to import a Schedule of Rates from a .csv.

img

Once imported, it should be listed as a cost schedule[SCHEDULEOFRATES] in the Cost Panel.

Here's what the tree looks like in BlenderBIM:

img

Applying Cost Rates to Cost Items ๐Ÿ“‹

Open your cost schedule, and under the Cost Item Rates subpanel, click on the shcedule of rates to use from the dropdown list.

img

You'll then see your list of rates you can use. Select a rate, and Select a cost item. Then press on the "Copy" button to apply your rate.

img

Automating Cost Schedules ๐Ÿ“‹

We'll use a template that looks as such:

img

  • You can also add as many levels of cost items as you wish, using the Hierarchy column, to represent the nesting structure.
  • You can add as many columns for Rate categories as you wish. End the column name with Rate to indicate it's a rate column.
  • You can add a Manual Quantity in the Quantity column.
  • You can add a unit in the Unit column, these should be the standard symbol names.
  • You can add a property to take off from a Selection of Objects in the Property and Query columns.

Tip: How to automate

The property column should be filled as Count or as the name of the Quantity from a Quantity set you want to take off.

The query columns needs a particular syntax: remember the query syntax we noted down earlier? That was for descriptive purposes - Here's an acutal list of rules for the syntax:

Here's a cheat sheet from the blenderbim.org documentation: Cheat Sheet

Importing Cost Schedules from a Spreadsheet ๐Ÿ“ฅ

Use the .ods or .excel spreadsheet and save it to a .csv file for import. Go to the Blender Scene Properties โžก๏ธ Costing and Scheduling Tab โžก๏ธ Cost Panel -> Import button.

img

Chose your schedule, and boom ! You have a cost schedule, with auto assignments.

img