The following are the commonly used formulas that we have been using for several years. Here we include the basic functions that allow us to develop simple and complex formulas.

#### Basic operations

**Functions**

The following characters tell Revit what to do between 2 values.

**Command in Revit**

+

–

*

/

=

<

>

^

**Sum**

Sum

Subtract

Multiplication

Division

Equal

Less than

More than

Exponentiation

**Declarations**

The following statements tell Revit whether the formula will be a Boolean, alternative, or rounding. These are included at the beginning of the formula.

**Command in Revit**

IF()

AND()

OR()

NOT()

ROUND()

ROUNDDOWN()

ROUNDUP()

LOG()

**Definition**

Conditional declaration

Declaration to add

Declaration to have an alternative

Opposite / flase declaration

Rounding

Rounding down

Rounding up

Logarithm

## Formulae

The following formulas outline the basic operations that can be used in Revit.

**Conditional formula**

A formula that gives a numerical value based on the condition being true.

*Formula*

`IF ([Conditional], [Value if true] , [Value if false])`

*Example*

X = IF ( A > B , Z , Y )

**Conditional formula with text**

A formula that gives a text value based on whether the condition is true or false.

*Note: The text value as a result must be enclosed in quotation marks.*

*Formula*

`IF ([Conditional], [Value if true] , [Value if false])`

*Example*

X = IF ( A > B , “True” , “False” )

**Nested conditional formula IF() and AND()**

A formula that gives a result based on two conditionals.

*Formula*

`IF( AND( [Conditional 1], [Conditional 2]) , [Value if true] , [Value if false])`

*Example*

X = IF ( AND( A > B, A > C) , “True” , “False” )

**Nested conditional formula IF() and OR()**

A formula that gives a result based on one of two conditions being true.

*Formula*

`IF( AND( [Conditional Alternative 1], [Conditional Alternative 2]) , [Value if any alternative is true] , [Value if no alternatives are true])`

*Example*

X = IF ( OR( A > B, A > C) , “True” , “False” )

**Exponential**

Formula that returns the exponential of a value to the indicated power.

*Formula*

`[Numeric Value] ^ [Exponential]`

*Example*

X = Y ^ E

**Exponential of E**

Formula that returns the exponential E of a value.

*Formula*

`exp([Numeric Value])`

*Example*

X = exp(N)

**Circles**

Formula to calculate the value of the circumference and/or area of a circle.

*Formula*

```
Circumference = pi() * ([Radio] * 2)
Area = pi() * [Radio] ^ 2
```

*Example*

(Circumference) X = pi() * (Radius * 2)

(Area) X = pi() * Radius ^ 2

**Square Root**

Formula to calculate the square root of a numerical value.

*Formula*

`sqrt([Numeric Value])`

*Example*

X = sqrt(N)

**Force (Yes/No) parameters to Yes**

Formula that blocks a parameter to check (Yes)

*Formula*

`[1 < 2] , [1 = 1]`

*Example*

X = 1 < 2 , X = 1 = 1

**Force (Yes/No) parameters to No**

Formula that blocks a parameter to uncheck (No)

*Formula*

`[1 > 2] , [1 = 0]`

*Example*

X = 1 > 2 , X = 1 = 0

## Trigonometry with Right Triangles

The following formulas help us to calculate the values of angles and lengths of a triangle knowing 2 values of the triangle.

**Known: a + b**

*Formula*

**c **= sqrt(a ^ 2 + b ^ 2)

**A** = atan(a / b)

**B** = atan(b / a)

**Known: a + c**

*Formula*

**b** = sqrt(c ^ 2 - a ^ 2)

**A **= asin(a / c)

**B **= acos(a / c)

**Known: b + c**

*Formula*

**A **= acos(b / c)

**a** = sqrt(c ^ 2 - b ^ 2)

**B **= asin(b / c)

**Known: c + A**

*Formula*

**a** = c * sin(A)

**b **= c * cos(A)

**B **= 90° – A

**Known: c +** **B**

*Formula*

**a** = c * cos(B)

**b **= c * sin(B**)**

**A **= 90° – B

**Known: a + B**

*Formula*

**b** = a * tan(B)

**c **= a / cos(B)

**A **= 90° – B

**Known: b + A**

*Formula*

**a** = b * tan(A)

**c **= b / cos(A)

**B **= 90° – A

**Known: a + A**

*Formula*

**b** = a / tan(A)

**c **= a / sin(A)

**B** = 90° – A

**Known: b + B**

*Formula*

**a** = b / tan(B)

**c **= b / sin(B)

**A **= 90° – B

We hope you find this list useful.

If there is a formula you need, please describe it in the comments…