TL;DR
Revit's formula errors are vague on purpose to be general — but each message maps to a short list of causes. 'Inconsistent units' means a missing unit or mismatched IF branches; 'constraints not satisfied' means a value went negative or impossible; circular references mean your dependency chain loops. When the message doesn't lead anywhere, the isolation method — rebuild the formula piece by piece with reporting parameters — finds any error in minutes instead of hours.
Key Takeaways
- ✓Every vague error message maps to a short, learnable list of real causes.
- ✓"Inconsistent units" → missing unit on a constant, or IF branches returning different types.
- ✓"Constraints are not satisfied" → a computed value the geometry cannot build; hunt the hidden negative.
- ✓Formulas are case-sensitive about parameter names — renames silently break every dependent formula.
- ✓The isolation method: strip the formula to its smallest working piece, re-add parts until it breaks.
- ✓Flex the family at extreme values before shipping — users will find the edge cases if you do not.
The formula bar turns red, and Revit offers a sentence that names no parameter, no position, no cause. Debugging by random clicking can eat an afternoon. Debugging with a method takes minutes — because formula failures fall into a small number of patterns, and each pattern has a known place to look.
Decode the Error Message First
| Revit says | It usually means | Look at |
|---|---|---|
| "Inconsistent units" | Constant missing its unit, or IF branches of different types | Every numeric constant; both IF branches |
| "The formula is inconsistent" | Result type does not match the parameter type | What type the formula actually produces |
| "Invalid formula" | Syntax: parentheses, commas, or a misspelled function | Parenthesis count; function names |
| "Constraints are not satisfied" | Computed value is geometrically impossible | Subtractions that can go negative |
| "Circular chain of references" | A depends on B depends on A | The dependency chain between parameters |
| "Can't find parameter" | Renamed or deleted parameter still referenced | Exact, case-sensitive parameter names |
The Big Three, In Detail
1 — Inconsistent Units
Scan every constant for a unit, then check that both IF branches return the same type. The unit rules themselves are covered in the arithmetic chapter.
2 — Constraints Are Not Satisfied
The formula is valid; the value is impossible — almost always a hidden negative at some input combination. Add temporary reporting parameters for each intermediate value, flex the family until one goes below zero, then guard it with abs() or a minimum-value IF.
3 — Circular References
Decide which parameters are drivers (user input, no formulas) and which are calculated. Values must flow one way — drivers to followers. Sketch the arrows on paper if the chain is long; the loop becomes obvious.
The Isolation Method
When the message doesn't lead anywhere, stop reading the formula and start rebuilding it:
Five additions into a seven-part formula, the culprit has nowhere to hide. This works on every error type — unit problems, type mismatches, even lookup failures — because it shrinks the search space to one fragment at a time. For lookup table issues specifically, the default value appearing everywhere is the classic signal that the match is failing.
The Pre-Save Checklist
Thirty seconds before saving any formula prevents most debugging sessions:
Key Takeaways
- ✓Every numeric constant has a unit (in dimension formulas).
- ✓Opening and closing parentheses count is equal.
- ✓Both branches of every IF return the same type.
- ✓No subtraction can go negative at plausible inputs.
- ✓Parameter names match exactly, including case.
- ✓The family flexes at minimum, typical, and maximum values without errors.
The last point matters most. Flex before you ship — drag every driver parameter to its extremes in the Family Editor. Every combination you don't test is a combination a user will eventually type.
Frequently Asked Questions
Chapter 10 of 10
Debugging under pressure — the full method
Printable checklist, worked examples of every error type, and all 10 chapters in the complete bundle. 40% off at $18.
