In this lesson, students explore ways to create tabular views called schedules and summarize information about the building elements through groupings, sorting, and calculating values.
One of the key benefits of the BIM workflow is the ability to manage not only the drawings, but also the tabular information in the project database. With BIM, users can dynamically generate and update schedules of building elements to support many purposes, including to:
- Improve the visibility and predictability of costs and material quantities.
- Facilitate construction management tasks, such as cost estimating and procurement.
- Summarize building performance and LEED certification data.
Since the information flow in Autodesk® Revit® products is bidirectional, the data from changes in the model flows automatically into the schedule, and changes in the schedule automatically flow back into the model. The model data can be edited through our schedules, and this technique should be used when it is easier or more efficient than doing so selecting and changing elements in graphical model views.
Creating and Presenting Models through Schedules
A schedule presents a tabular view of the project data, which can be filtered, grouped, and formatted to fit your needs. Schedules can list every instance of the building elements or collapse multiple instances into single rows, based on the schedule’s grouping criteria. Since Revit software products create a database of the elements, building a schedule is similar to creating a database query.
Schedules should be formatted to meet the needs of the end-user, whether they are engineers, designers, clients, or code officials. Schedules are often placed on sheets either alone or accompanied by the corresponding model view. Finally, schedules can be exported to many formats, including delimited text files compatible with spreadsheet software and database formats.
Enhancing and Adding Information to Schedules
By adding information, or “intelligence,” to schedules, we optimize the workflow and maximize the utility of the building model. In this way, enhanced schedules can be the basis of analysis for many goals of project.
Since model elements store all information about their physical properties, we can add information fields or parameters to model element type―for example, type mark, size, material, fire rating, and any other custom data fields we need. These parameters can be either user entered, such as text fields, or calculated values that depend on other parameters.
Adding calculated values to schedules helps avoid errors and unnecessary time spent performing manual calculations. A simple example of a calculated value formula would be a width parameter set to equal twice the height of an object. In practice, formulas can be used in many ways, both simple and sophisticated. For example, formulas can be used to:
- Calculate area or volume of geometry.
- Create a clearance dimension parameter controlled by element size.
- Convert continuously variable values into integer values.
- Add shelves as the height of casework increases.
- Add diagonals in an open web joist as the length increases.
Formulas support the following arithmetic operations: addition, subtraction, multiplication, division, exponentiation, logarithms, and square roots. Formulas also support the following trigonometric functions: sine, cosine, tangent, arcsine, arccosine, and arctangent.
The valid formula abbreviations for arithmetic operations and trigonometric functions include:
- Addition: +
- Subtraction: ─
- Multiplication: *
- Division: /
- Square root: sqrt: sqrt(16)
- Exponentiation: ^: x^y, x raised to the power of y
- e raised to an x power: exp
- Logarithm: log
- Absolute Value: abs
- Sine: sin
- Arcsine: asin
- Cosine: cos
- Arccosine: acos
- Tangent: tan
- Arctangent: atan
You can enter integers, decimals, and fractional values in formulas, using normal mathematical syntax, as shown in the examples below:
- Length = Height + Width + sqrt(Height*Width)
- Length = Wall 1 (11000mm) + Wall 2 (15000mm)
- Area = Length (500mm) * Width (300mm)
- Volume = Length (500mm) * Width (300mm) * Height (800 mm)
- Width = 100m * cos(angle)x = 2*abs(a) + abs(b/2)
- ArrayNum = Length/Spacing
Lastly, we can even introduce conditional statements to our schedules. A conditional statement uses the following structure: IF (<condition>, <result-if-true>, <result-if-false>). And it means that the values entered for the parameter depends on whether the condition is satisfied (true) or not satisfied (false).
Conditional statements can contain numeric values, numeric parameter names, and Yes/No parameters. You can use the following comparisons in a condition: <, >, =. You can also use Boolean operators with a conditional statement: AND, OR, NOT. Currently, <= and >= are not implemented. To express such a comparison, we can use a logical NOT. For example, a<=b can be entered as NOT(a>b).
The following are sample formulas that use conditional statements.
- Simple IF: =IF (Length < 3000mm, 200mm, 300mm)
- IF with a text parameter: =IF (Length > 35', “String1”, “String2”)
- IF with logical AND: =IF ( AND (x = 1 , y = 2), 8 , 3 )
- IF with logical OR: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
- Embedded IF statements: = IF ( Length < 35' , 2' 6" , IF ( Length < 45' , 3' , IF ( Length < 55' , 5' , 8' ) ) )
- IF with Yes/No condition: = Length > 40 (Note that both the condition and the results are implied.)