Measurements in Quantities are defined in recipes to conform to the concept that calculation of cost is usually a combination of many ingredients rather than simply counting or totalling some property of elements. A recipe can bind together any number of measurements, each of which can reference any combination of element properties and geometry, and couple them with rules governing which bill item they contribute to and when each measurement should be taken.
The following sections will start with basic counting recipes and work up gradually to implementing calculations, optional/automatic measurements and finishing with some common examples and questions.
Measurement recipes are viewed in the Quantity Take-off Manager, which can be opened by clicking the menu item CI Tools > Quantities > Quantity Take-off Manager and selecting the Recipes tab. All Quantities palettes also display an icon to quickly open the manager dialog ().
The key features of the manager are:
- An option to manage either the bill structure or measurement recipes. The UI structure reflects the close bond between the bill structure and recipes. Click Recipes for the purpose of this section.
- An uneditable view of the bill structure, primarily for the purpose of defining connections between bill items and measurements (more details in panel 4). Its features include:
a. A bill filter – enter any part of a name to show matching items only.
b. The bill structure. Categories can be expanded or collapsed, and both the project and linked bills are included.
c. Additional bill filters. The View As menu is primarily for hierarchical bill structures and either display the Full BoQ Structure (as shown above) or a Flat Bill Item List (omitting all the categories and just listing bill items). Show unused items only filters the bill to display only items that haven’t been linked to a recipe, useful for ensuring project costs have not been overlooked (see section 6, Auditing for more QA features). - The list of recipes with buttons for creating, deleting, importing and exporting bill items. Each recipe is preceded by a checkbox that toggles it on or off (turning it off prevents the recipe from calculating quantities). Measurements taken by the recipe are listed in the panel below (see 4 below).
Multiple items can be selected for quick editing or deletion, but only the measurements for the foremost selected recipe can be edited in the following panels. - The properties of the selected recipe, including:
a. An expression that can automatically attach the recipe to target elements. The recipe attaches to any element for which the expression is true. For example, if a recipe is applicable to any wall containing a brick material the linking expression could be:
wall.material contains “brick”
More information can be found in section 4.5 and expression examples in 4.5.6.
b. The list of measurements taken by this recipe, summarising the linked bill item key/name and the quantity calculation. The details of the selected measurement are displayed (and can be edited) in the panel below (see panel 5 below). Multiple measurements can be selected, but only the details of the foremost selected row can be viewed or edited.
c. This button is enabled when at least one bill item is selected in panel 2. When clicked, the selected bill items are added to the list of recipe measurements. Each bill item can only be added to a recipe once – any additional attempts will be ignored.
d. This button is enabled when an item is selected in panel 2 and an item selected in the list of measurements. When clicked, the selected bill item replaces whatever bill item was linked to the selected measurement. This is a much quicker than removing the old item, adding the replacement and recreating the calculations.
e. This button is enabled when an item is selected in the list of measurement. When clicked, the item is removed from the list of measurements. - The properties of the selected measurement (in panel 4). These expressions determine when the measurement is taken and how it is calculated:
a. An optional expression to determine when the measurement should be taken. If nothing is entered, the quantity calculation will be applied to every element the recipe is attached to. This option can help reduce the complexity of the expression in 4a, help to avoid creating many recipes for very narrow purposes and allow recipes to take many measurements targeting a common theme.
For example, a recipe may be created for calculating quantities related to brick walls which includes a calculation for the number of brick ties – but only for relevant walls. Target walls could be found on the basis of the geometry, construction and/or properties.
Another use is measuring a product that has to be priced against a wide range of sizes, e.g. waste pipes. The recipe could have a general condition that automatically attaches to relevant drainage objects, but the range of bill items associated with waste pipe products could each have an expression ensuring it only counts the relevant size.
Quantities will immediately check a newly entered expression and provide feedback if it can’t be understood. The text of an invalid expression will persist as long as the measurement remains selected in the list, but will be discarded when another measurement or recipe is selected (and the previous text will be restored).
b. The quantity calculation. This is covered in more depth in section 4.4, and detailed documentation for expressions can be found in section 7, Element Calculation Expressions.
The breadth of calculations is very broad, ranging from a fixed, numeric value through to complex expressions involving properties, parameters, geometry, attributes and much more. A basic example that simply counts each item is shown in section 4.3.1. Anything with a name, e.g. attributes, properties and parameters, can be isolated by name, e.g. the volume of the insulation skin in a wall could be measured with:wall.material("Insulation").volume
Quantities will always ensure the result is zero if any part of the calculation is can’t be applied to a measured element, for example if the above expression is used on an element that is not a wall or does not have a material called “Insulation”. Expressions can also reference names of materials, properties etc. that do not exist in the current project. The intention is to allow calculations to be written generically for broad applicability without fear of a stream of error messages or bogus results, supporting the concept of template recipes that can be shared across many projects.
Quantities will immediately check a newly entered expression and provide feedback if it can’t be understood. The text of an invalid expression will persist as long as the measurement remains selected in the list, but will be discarded when another measurement or recipe is selected (and the previous text will be restored).
Comments
0 comments
Please sign in to leave a comment.