When times are busy and your workload is hectic, it’s easy to forget about certain tools and workflows which are not often used.
This happened to me the other day when a client asked if something could be done in Revit. I had to stop and think for a moment before confidently saying “Yep, of course it can be done.... this is Revit after all!”
The issue my client had was that a certain item being scheduled (a floor adhesive) covers a certain area per Kg and is produced in multiple Kg size containers; depending on the surface finish, this coverage changes.
I played around for a while with a normal component schedule, adding some conditional statements into formula driven calculated parameters.
Conditional statements in formulas define actions in a family that depend on the state of other parameters. With conditional statements, the software enters values for a parameter based on whether a specified condition is satisfied.
|Parameter Type||Name||Type of Parameter||Formula|
|Project Parameter:||5 Ltr Can||Yes/No|
|Schedule Parameter||10 Ltr Can||Yes/No||not(5 Ltr)|
|Schedule Parameter||Coverage||Number||if((5 Ltr)10, 20)|
|Schedule Parameter||No. of Cans||Number||((Area/1)/Coverage)|
The project parameter for 5 Ltr Can is assigned to the floor category and when a floor is selected in the model, the parameter can be checked or un-checked in the properties.
This then determines if the 10 Ltr schedule parameter is yes or no, which in-turn results in the coverage schedule parameter being set to either 10 or 20.
The following are some 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.)
Currently, <= and >= are not implemented. To express such a comparison, you can use a logical NOT.
For example, a<=b can be entered as NOT(a>b).
This method is great for controlling things like family types e.g. the number of glazing bars generated based on a windows size, or in the following image how a shading device can be adapted to suit requirements such as attaining the desired amount of shading:
However, it is not suitable for controlling multiple permutations on a system family such as my client’s requirement with the floor adhesive i.e. where there are multiple can sizes and various finishes resulting in different coverage areas per litre.
This is where key schedules come in.
What is a Key Schedule?
A key schedule is a special type of Revit schedule that lets you assign groups of parameter values to elements, like rooms or doors, based on a shared key value.
Schedules can comprise multiple items that have the same characteristics. For example, a room schedule might have 100 rooms with the same floor, ceiling, and base finishes. Rather than enter all this information manually for all 100 rooms in the schedule, you can define keys that automatically fill in information. If a room has a defined key, then as that room is added to a schedule, fields in the schedule automatically update, reducing the time required to produce the schedule.
You define keys using key schedules. Key schedules look very similar to component schedules, except that you define them to your specifications. When you create a key, it is listed as an instance property for the element. When you apply a value for the key, then the key's attributes are applied to the element. The results can also then be used within schedule calculation parameters.
How to Use Key Schedules
I would advise that before beginning to build the various project parameters and key schedules etc. in Revit you first carry out a little planning, using a good old pencil and piece of paper. Map out the parameters and their various values, then note how these are used within the component schedule formula.
Then follow this step-by-step guide in Revit:
Step 1 – Create Project Parameter for Key
Create a new project parameter for the key value. In my client example, I created parameters for the various size cans that the adhesive is sold in, as well as the types of surface finish.
The parameters in my example were all of type Yes/No and assigned to the Roofs category.
Step 2 – Create the Key Schedule
A key schedule is created in the same way that a normal component schedule is i.e. From View > Schedules > Schedule/Quantities.
The difference being that in the “New Schedule” dialog box, click the option type “Schedule Keys” and not “Schedule Building Components”.
Select the object category you wish to assign the key schedule to (in this example it was Roofs).
Next, specify the key parameter name. In the “Key Name” field, enter the project parameter you’re using as the key. In my example the first one was for “Contact Adhesive Can Size”.
Name your schedule so that you can easily recognise it as a key schedule, as well as what it is controlling. This makes editing later much easier.
Click OK to create the key schedule.
Step 3 – Define Key Schedule Fields
Once you’ve created the key schedule, you need to specify the parameter fields that will be driven by it. In this example, I want to drive all the adhesive can sizes and apply the coverage area they can achieve.
The Key Name is added by default and then you add the required fields in the same way as with a component schedule.
Click OK to finish the key schedule.
Step 4 – Enter the Key Data
The “Key Name” field is where you’ll enter the name for each individual key. This is what creates the link between the element and the key parameters. To add a new key, click the “Insert Data Row” button on the ribbon.
In my example, I have 3 data rows (1 for each can size) and as the can sizes are Yes/No types, I have checked the relevant one in each data row. In the Can Coverage column, I have then added the correct coverage area for each can size (optimum area).
This process was repeated in this example for the surface finishes which also determines the coverage.
Step 5 – Add Keys to Elements
When an object of the correct category is selected, in this case a roof, the project parameter as defined in Step 1 will be listed in the properties:
Create a new building component schedule with category as the key schedule and add the required fields you wish to schedule.
Add any additional calculated values required. In this example the Conditional Coverage and Can Quantity were defined.
Note: As well as defining the key parameter via the components properties, Revit will also provide a drop-down in the schedule, from which you can select the defined keys.
Any changes you make to the key schedule will update automatically in the building component schedule and vice versa. However, if you no longer want to derive an element’s parameters from the key, simply set the key value to “none”. This will reset all the parameter values.
And there you have it. Both the adhesive can size and surface type can be selected for each roof resulting in the correct coverage area and required number of cans being scheduled. It’s also possible to add further key parameters - in this example the variances of adhesive coverage based on temperature range.
Another example would be something like an office, school or hospital, where there are dozens of rooms all with various floor, wall and ceiling finishes.
Think of all the time this could save you, as well as ensuring that standardisation is maintained.
To find out more about Autodesk Revit have a look at our detailed web page, or for more information send us an enquiry now: