Project Parametrics
A Project Parametric is a named variable scoped to a project and accessible from any formula in that project. They are also called parametrics in the UI.
When to Use
- Values that appear in many formulas:
#labour_rate,#inflation,#floor_area. - Project assumptions that might change:
#contingency_pct,#overhead_factor. - Computed roll-ups you want to reference elsewhere: a Live define that always equals the current total direct cost.
Types of Define
| Type | Meaning |
|---|---|
| Number | Plain numeric constant. |
| Formula | An expression evaluated on use. |
| Live | A computed value drawn from project aggregations. Read-only from formulas. |
| String | Text (rarely used in math). |
| Boolean | 0 / 1. |
| Date | Serial date. |
Live examples built into TX1:
#dc_total— current Direct Cost total.#oh_total— current Overhead total.#gross_total— current Sell Total.#carbon_total— total carbon emissions.
Creating a Define
- Open the Parametrics panel.
- Click New Define.
- Name (letters, digits, underscores — no spaces).
- Type.
- Value (for Number/String/Date) or expression (for Formula).
- Optional description and formatting.
Referencing
= #labour_rate * Qty
= [LABOUR_RATE] * Qty // equivalent
Live Defines
Live defines are recomputed after every change to the underlying aggregation. They cannot be edited — attempting to set one returns an error.
Modifying From a Formula
Use SET(#name, expression) to update a define mid-formula:
= SET(#running_total, L5 + #running_total)
The VariableChanged event then notifies every formula that references #running_total and they re-evaluate.
Deleting a Define
Deleting a define fails if any formula still references it. GetParametricUsageAsync returns usage sites — inspect these before deleting.
Scope Hint
Every define has a Scope field:
- Global — available everywhere in the project.
- DirectCostBreakdown / OverheadBreakdown / ResourceBreakdown — scoped to a specific entity (see 07.6).
Project parametrics are always visible; scoped parametrics only exist inside their scope.
Best Practices
- Name defines in
snake_case. - Prefix with a category:
rate_…,qty_…,pct_…. - Add a description — future-you will thank you.
- Freeze the define's value during tender submission (lock the project).