ARCH-210 · Lesson 3 of 12 · 23 min

Building information modeling concepts

On the third Monday, Professor Ferreira puts a single door on the screen. It is a plain wooden door in a wall of the boathouse model. She clicks on it, and a panel of properties appears: its type, width, height, frame material, fire rating, manufacturer, cost, the room it opens into, the wall that hosts it, and a code from a classification system. 'This is the whole idea,' she says. 'A line on a CAD drawing is just a line. This door knows it is a door. It knows where it is, what it is made of, and what it is connected to. When you move the wall, the door moves with it. When you make a door schedule, this door is in it. When the contractor counts doors, this one counts.' Ingrid asks who types in all those properties. 'You do,' she says, 'or the manufacturer does, or nobody does, and then the schedule is wrong. That is the second idea.'

What BIM means

Building information modeling, or BIM, is the process of creating and managing a digital representation of a building's physical and functional characteristics as a model of objects with properties, from which drawings, schedules, quantities and analyses are generated. The word model in BIM refers both to the 3D geometry and to the database behind it. The word information is the important one: a BIM model can look exactly like a 3D CAD model, but every element in it carries data about what it is and how it relates to other elements.

BIM is often described as a process rather than a piece of software, and with good reason. The same software can be used well or badly. A model in which walls are drawn as generic boxes without types, floors are modeled as walls because it was quicker, and doors are drawn as lines in plan views will produce attractive images but useless schedules. The value of BIM comes from consistent, structured information, agreed between the people who create it and the people who use it.

Objects, categories, types and instances

Every BIM authoring program organizes elements in a hierarchy. The names differ between programs, but the ideas are the same.

  • A category is a broad class of element, such as walls, doors, windows, floors, roofs, stairs, furniture or structural columns. Categories control how elements display in views and which schedules they appear in.
  • A family or object class defines a kind of element within a category, with its geometry and its adjustable parameters, such as a single-swing door or a casement window.
  • A type is a named set of values for a family, such as a single-swing door 3'-0" × 7'-0" in solid wood. Changing a type property changes every element of that type in the model.
  • An instance is one placed element, such as door 101 in the boathouse. Instance properties, such as its mark number, the level it is on or the direction it swings, belong to that element alone.

The distinction between type and instance properties is one of the most important habits in BIM. If every door of a type should have the same width, width is a type property; if each door has its own fire rating because it sits in a different wall, fire rating may be an instance property. Getting this wrong leads either to dozens of nearly identical types or to schedules where every door must be checked by hand.

A door in a wall shown in a small 3D view, with a panel of properties beside it. The panel is divided into identity data, such as category, family, type and mark; dimensions, such as width and height; construction, such as frame material and fire rating; and relationships, such as the host wall, the level and the room it opens to. Lines connect each group of properties to the parts of the door they describe.
A BIM object carries geometry and information: its identity, dimensions, construction and relationships to other objects.

Relationships and constraints

BIM elements are connected to one another. A door is hosted by a wall: it cannot exist without one and moves when the wall moves. Walls are attached to levels: their base sits on one level and their top is constrained to another, so changing a floor-to-floor height updates every wall. Rooms are bounded by walls and know their own area and volume. Grids and levels form the skeleton of the model, and elements are aligned and locked to them. A window can be constrained to stay a set distance from a corner. These relationships are what make the model behave like a building rather than a collection of shapes.

Relationships save time but must be set up with care. A wall whose top is attached to a roof will follow the roof slope; a wall whose top is set to an unconnected height will not, and a later change to the roof will leave a gap. Before modeling, decide which elements drive others: usually grids and levels first, then structure, then walls, then openings and components.

Views come from the model

In BIM, a plan is a horizontal section through the model at a cut height, a section is a vertical cut, and an elevation is a projection from outside. Each is a view, a way of looking at the same model, with its own scale, visibility settings and annotations. Because the views share one model, a change in any view appears in all of them, and the door that appears in a plan, a section and a schedule is literally the same object. Lesson 6 covers how drawings are made from the model; for now, the key point is that drawings stop being the primary record of the design. The model is the record, and drawings are reports from it.

Level of development and level of information need

Not every element needs to be modeled in full detail at every stage. In schematic design, a wall may be a generic box of approximately the right thickness; in construction documents, it is a specific assembly with layers; in a fabrication model, it may include every stud. The industry describes this with the level of development, or LOD, a scale introduced in AIA contract documents in 2008 and maintained since then in an annual specification by BIMForum in the United States.

Five versions of a window in a wall, arranged left to right and labeled LOD 100, 200, 300, 350 and 400. At LOD 100 the window is a symbol or a rough box; at 200 it is a generic window of approximate size; at 300 it has accurate dimensions and position; at 350 it shows how it connects to the wall, with flashing and framing; at 400 it is a specific product with fabrication detail. A note below says LOD 500 is a field-verified record of what was installed.
Levels of development describe how far an element's geometry and information can be relied on at each stage.
Levels of development, after the BIMForum specification.
LODMeaningTypical stage
100A symbol or rough mass; size and location are approximateConcept
200A generic element with approximate size, shape and locationSchematic design
300Specific size, shape, location and orientation that can be measuredDesign development and construction documents
350As 300, plus the interfaces with other systemsCoordination
400Enough detail to fabricate and installShop drawings and fabrication
500Field-verified record of what was builtAs-built and operations

LOD is about reliability, not appearance. A beautifully detailed window family placed in an early model is still LOD 200 if its size has not been decided. Europe and many international projects now use a related idea, the level of information need, which asks what geometry, information and documentation each party actually needs for each purpose and at each decision point. It was set out in the European standard EN 17412-1 in 2020 and has since been taken up internationally. The question it asks is a good one for any student: what does this model need to do, for whom, and when?

Classification and open standards

To be useful beyond one program, model information must be organized in shared ways. Classification systems give every element a code: MasterFormat, published by the Construction Specifications Institute, organizes specifications by work result; UniFormat organizes elements by system, such as B2010 for exterior walls; and OmniClass combines many tables for the whole built environment. The United Kingdom's Uniclass serves the same purpose there.

The Industry Foundation Classes, IFC, define how building elements and their properties are written in an open format, independent of any one vendor. An IFC wall is an IfcWall entity with a globally unique identifier, a name, a type, geometry and property sets such as Pset_WallCommon, which holds standard properties like IsExternal, FireRating and ThermalTransmittance. Using IFC and other open standards is called openBIM; working entirely in one vendor's formats is sometimes called closed BIM. Most real projects mix the two.

An IFC file in its usual text form is readable. Each line defines one entity with a number, a type and a list of values, and entities refer to each other by number. The short script below reads a simplified fragment with two walls, a door and a slab, and finds which properties have been attached to which walls. Real IFC files contain thousands of lines and use special symbols for empty values, but the structure is the same.

# Read a tiny, simplified IFC file (STEP physical file format) with plain Python.
# Each line is: #id = ENTITY(arguments);
import re
data = """
#1=IFCWALL('2O2Fr3t4X7Zf8NOew3FLOH',#9,'Wall-Ext-North','Exterior wall','Basic Wall',#10,#11,'W-01');
#2=IFCWALL('1kTvXnbbzCWw8lcMd1dR4o',#9,'Wall-Ext-South','Exterior wall','Basic Wall',#12,#13,'W-02');
#3=IFCDOOR('0LV8Pp4Ln6Uvx8ZQc7sCnj',#9,'Door-01','Main door','Single swing',#14,#15,'D-01');
#4=IFCSLAB('3vB2YO2MX4xv5uCqZZG05x',#9,'Floor-01','Timber deck','Floor',#16,#17,'S-01');
#30=IFCPROPERTYSINGLEVALUE('IsExternal','',IFCBOOLEAN(.T.),'');
#31=IFCPROPERTYSINGLEVALUE('FireRating','',IFCLABEL('45 min'),'');
#32=IFCPROPERTYSINGLEVALUE('ThermalTransmittance','',IFCTHERMALTRANSMITTANCEMEASURE(0.21),'');
#40=IFCPROPERTYSET('2VhD3kJ0z5yQnW9bY1aP7c',#9,'Pset_WallCommon','',(#30,#31,#32));
#50=IFCRELDEFINESBYPROPERTIES('0xR7Wq2mT4uB8sK1nH6eLd',#9,'','',(#1,#2),#40);
"""
ents = {}
for line in data.strip().splitlines():
    m = re.match(r"#(\d+)=(\w+)\((.*)\);", line)
    ents[int(m.group(1))] = (m.group(2), m.group(3))
count = {}
for kind, _ in ents.values():
    count[kind] = count.get(kind, 0) + 1
print("entities:", count)
def name(i):
    return re.findall(r"'([^']*)'", ents[i][1])[1]
for kind, args in ents.values():
    if kind == "IFCRELDEFINESBYPROPERTIES":
        objs = [int(x) for x in re.findall(r"#(\d+)", args.split("(")[1].split(")")[0])]
        pset = int(re.findall(r"#(\d+)", args)[-1])
        props = [int(x) for x in re.findall(r"#(\d+)", ents[pset][1].split("(")[1])]
        pname = re.findall(r"'([^']*)'", ents[pset][1])[1]
        for o in objs:
            for p in props:
                pk, pa = ents[p]
                key = re.findall(r"'([^']*)'", pa)[0]
                val = re.search(r"IFC\w+\((.*?)\)", pa).group(1).strip("'")
                print(f"{name(o):15s} {pname}.{key} = {val}")
Output
entities: {'IFCWALL': 2, 'IFCDOOR': 1, 'IFCSLAB': 1, 'IFCPROPERTYSINGLEVALUE': 3, 'IFCPROPERTYSET': 1, 'IFCRELDEFINESBYPROPERTIES': 1}
Wall-Ext-North  Pset_WallCommon.IsExternal = .T.
Wall-Ext-North  Pset_WallCommon.FireRating = 45 min
Wall-Ext-North  Pset_WallCommon.ThermalTransmittance = 0.21
Wall-Ext-South  Pset_WallCommon.IsExternal = .T.
Wall-Ext-South  Pset_WallCommon.FireRating = 45 min
Wall-Ext-South  Pset_WallCommon.ThermalTransmittance = 0.21

The thermal transmittance is a plain number because IFC stores measures in the units declared at the top of the file, usually SI units such as watts per square meter per kelvin, even on projects designed in feet and inches, and programs convert them for display.

What BIM is used for

A model can serve many uses over a building's life. A widely used guide to BIM execution planning, first published by Pennsylvania State University, lists uses such as existing conditions modeling, design authoring, design review, energy and lighting analysis, code validation, cost estimation, construction scheduling, site utilization planning, 3D coordination, digital fabrication, record modeling and facility management. People sometimes describe these as dimensions, with 4D for time and 5D for cost, though the numbering beyond that varies.

Public owners have pushed BIM forward. In the United States, the General Services Administration began requiring BIM for spatial validation on major federal projects in 2007, and the National Institute of Building Sciences publishes the National BIM Standard-United States, whose version 4 is organized as modules covering core requirements, BIM execution planning, BIM uses and COBie for handing data to facility managers. Each project defines its own requirements in a BIM execution plan, which you will write for the team exercise in lesson 10.

Worked problem

Type or instance?

Joon-ho is setting up the windows for the boathouse. There are four windows of the same casement design, 2'-0" wide by 3'-0" high, two facing the river and two facing the path. The river windows have obscured glass; the path windows have clear glass. Each needs a mark number for the schedule. Which properties should be type properties and which instance properties?

Show solution
  1. Width, height, frame material and the casement design are the same for all four, so they belong to the window type.
  2. Glazing differs between the two pairs. If glazing is part of the type, he needs two types, casement clear and casement obscured; this keeps the schedule clean.
  3. The mark number, sill height relative to the floor and the hosting wall differ for each window, so they are instance properties.
  4. He checks the result with a window schedule grouped by type, which should show two rows of two windows each.

Answer: Properties shared by every element of a kind belong to the type; properties unique to one placed element belong to the instance. A schedule is the quickest way to test the decision.

Exercise 3: interrogate a model

This exercise takes about three hours.

  • Open the sample house model supplied with your BIM program, or the class sample model.
  • Pick five elements from different categories and record their category, family, type and three type and three instance properties for each.
  • Change one type property and one instance property and observe which elements change.
  • Export the model to IFC, open it in a free IFC viewer and find the same five elements; note which properties survived and how they are named.
  • Deliverable: a table of the five elements and a paragraph on what was lost or renamed in the IFC export.

Self-critique checklist

  • Can I explain the difference between a type and an instance property with my own example?
  • Have I checked how relationships such as hosting and level constraints behave when I move an element?
  • Did I find the elements in the IFC viewer by their identifiers, not only by appearance?
  • Have I described what level of development the sample model represents?

Common mistakes

  • MistakeTreating BIM as 3D drawing.

    InsteadThe value lies in structured information about each element; geometry alone is not BIM.

  • MistakeModeling elements in the wrong category because it is quicker.

    InsteadUse the correct category, or schedules, views and exports will be wrong.

  • MistakeMaking a new type for every small variation.

    InsteadUse instance properties for values that differ between placed elements.

  • MistakeConfusing a detailed-looking element with a reliable one.

    InsteadLOD describes how far the information can be relied on, not how detailed it looks.

  • MistakeAssuming everything survives an IFC export.

    InsteadCheck exports in an independent viewer and agree property mappings with consultants.

Summary and key terms

  • BIM is the process of designing and documenting a building as a model of objects with properties, from which drawings and data are generated.
  • Elements are organized by category, family, type and instance; type properties are shared, instance properties belong to one element.
  • Relationships such as hosting, level constraints and room boundaries make the model behave like a building.
  • Drawings are views of the model, so a change in one view appears in all.
  • Levels of development from 100 to 500 describe how reliable an element is; the level of information need asks what each party needs, when.
  • Classification systems and IFC make model information usable across programs and organizations.
Category
A broad class of BIM element, such as walls, doors or floors.
Type
A named set of shared property values for a kind of element.
Instance
One placed element in the model, with its own instance properties.
Hosting
A relationship in which one element, such as a door, depends on another, such as a wall.
LOD
Level of development: how far an element's geometry and information can be relied on.
Property set
A named group of properties attached to an element, such as Pset_WallCommon in IFC.
openBIM
Working with open, vendor-neutral standards such as IFC and BCF.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. What makes a BIM door different from a door drawn in 2D CAD?

    Show answer

    It is an object with properties and relationships: it knows its type, size, materials, host wall, level and room, and it appears in schedules.

  2. Give an example of a type property and an instance property of a wall.

    Show answer

    Type: the layer build-up or thickness. Instance: its base level, top constraint or location.

  3. Why is LOD described as reliability rather than detail?

    Show answer

    Because an element may look detailed while its size or position is still undecided; LOD tells others what they can rely on.

  4. What is Pset_WallCommon?

    Show answer

    A standard IFC property set for walls holding properties such as IsExternal, FireRating and ThermalTransmittance.

  5. Name three BIM uses beyond producing drawings.

    Show answer

    Any three of: energy analysis, cost estimating, construction scheduling, clash detection, digital fabrication, facility management, code checking.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz