TL;DR
Text parameters accept formulas that return string literals in double quotes — usually through IF statements: IF(Is_Fire_Rated, "FD30", "STANDARD"). This turns descriptions, codes, and schedule labels into values that update themselves when the driving parameters change. The big limitation: Revit formulas cannot concatenate strings, so design label systems as fixed sets of complete phrases chosen by conditions.
Key Takeaways
- ✓Text formulas return string literals in double quotes: "FD30".
- ✓IF chains select between complete, pre-written phrases based on other parameters.
- ✓Formula-driven text removes the #1 schedule problem: descriptions that drift out of sync with geometry.
- ✓Revit cannot concatenate strings — you cannot build "900 x 2100" from two numbers in a formula.
- ✓Design around it: one complete phrase per condition, or separate schedule columns per value.
- ✓Comparisons work on text too: IF(Grade = "A", …) — but they are case-sensitive.
Every project has that schedule: the one where the description column says “FD30 fire door” on a door whose rating was value-engineered away two months ago. Text that humans maintain by hand drifts out of sync with the model. Text driven by formulas cannot drift — it reads the same parameters the geometry does.
How Text Formulas Work
A text parameter's formula returns a string literal — characters inside double quotes. On its own that just hard-codes a value, so the power comes from wrapping literals in conditions:
Toggle Is_Fire_Rated, and every schedule, tag, and view that reads Rating_Label updates instantly. The text is no longer data anyone maintains — it is a consequence of the model's state.
Three Real Patterns
1 — Size Category Labels
A nested IF sorts any width into a named band for schedules and tags:
2 — Compliance Flags
Accessibility checks read better as words than as raw dimensions:
3 — Specification Text by Configuration
Each branch is a complete, spec-ready phrase. When the family's Yes/No configuration changes, the specification text follows — no human in the loop. Chapter 7 covers the toggles driving these decisions.
Comparing Text in Conditions
Text works on the condition side too — useful when a text code drives geometry:
Watch out: text comparison is case-sensitive. "Heavy" does not equal "HEAVY" — pick a case convention and enforce it.
The Limitation: No Concatenation
Revit's formula language cannot join strings. There is no &, no + for text, no way to build "900 x 2100" out of Width and Height inside a formula. Two design strategies replace it:
Complete phrases per condition. Instead of assembling text from parts, write every possible full phrase and let an IF chain pick one — the pattern used in every example above. It costs a longer formula but stays fully automatic.
Separate columns. In schedules, give width and height their own columns instead of one combined “size” string. Where a single combined label is unavoidable, a tag family with multiple labels side by side achieves visually what the formula cannot.
Where Text Formulas Fit in the System
Text parameters are the family's reporting layer: arithmetic (Chapter 1) computes the values, conditionals make the decisions, and text formulas translate the result into words that schedules, tags, and humans consume.
Chapter 6 of 10
Labels that update themselves
All 10 formula chapters with worked examples, HD Video Vault, and the Formula Cheat Sheet. 40% off at $18.
