Se pueden usar instrucciones condicionales en las fórmulas para definir acciones en una familia que depende del estado de otros parámetros.
En el caso de las instrucciones condicionales, el software escribe valores para un parámetro si se cumple una condición que se haya especificado. Las instrucciones condicionales resultan útiles en ciertas circunstancias; sin embargo, hacen más complejas las familias y se deben usar solo en casos necesarios.
Para la mayoría de los parámetros, las instrucciones condicionales son innecesarias porque el propio parámetro de tipo es una especie de instrucciones condicionales: si este es el tipo, entonces se debe configurar este parámetro con el valor especificado. Los parámetros de ejemplar son un sitio más productivo donde colocar instrucciones condicionales, particularmente cuando se usan para configurar un parámetro que no varía continuamente.
Una instrucción condicional sigue esta estructura: IF (<condición>, <resultado-si-verdadera>, <resultado-si-falsa>)
Esto significa que los valores especificados para el parámetro dependen de si la condición se cumple (verdadera) o no (falsa). Si la condición es verdadera, el software devuelve el valor verdadero. Si la condición es falsa, se genera el valor falso.
Las instrucciones condicionales pueden contener valores numéricos, nombres de parámetros numéricos y parámetros Sí/No. En una condición se pueden usar las comparaciones siguientes: <, >, =. También se pueden usar operadores booleanos con una instrucción condicional: AND, OR, NOT. Por el momento, <= y >= no se han implementado. Para expresar esta clase de comparación se puede emplear un operador lógico NOT. Por ejemplo, a<=b se puede expresar como NOT(a>b).
A continuación se presentan varias fórmulas de ejemplo con instrucciones condicionales.
IF simple: =IF (Longitud < 3000 mm, 200 mm, 300 mm)
IF con un parámetro de texto: =IF (Longitud > 35', “String1”, “String2”)
IF con AND lógico: =IF ( AND (x = 1 , y = 2), 8 , 3 )
IF con OR lógico: =IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
Instrucciones IF incrustadas: =IF ( Longitud < 35' , 2' 6" , IF ( Longitud < 45' , 3' , IF ( Longitud < 55' , 5' , 8' ) ) )
IF con condición Sí/No: =Longitud > 40 (observe que se implican tanto la condición como los resultados)
Entre los usos típicos de las instrucciones condicionales se encuentran el cálculo de valores de matriz y el control de la visibilidad de un elemento según el valor de un parámetro. Por ejemplo, se pueden usar instrucciones condicionales para
En Revit, las matrices solo pueden tener un valor entero igual o mayor que 2. En algunas situaciones, conviene crear una fórmula condicional que conserve un parámetro de matriz de 2 aunque el valor calculado sea 1 o 0. Con tal fórmula, si el valor de matriz calculado es igual o mayor que 2, la fórmula conserva el valor. Sin embargo, si el valor calculado es 1 o 0, la fórmula cambia el valor a 2.
Formula: Número de matriz = IF (Arrayparam < 2, 2, Arrayparam)
Por ejemplo, si tiene un parámetro Luces que desea utilizar para controlar la visibilidad de la geometría de montante, puede crear un parámetro Sí/No como MontanVis y asignarlo al parámetro Visible en la paleta Propiedades de la geometría de montante. Como el parámetro MuntinVis es una operación Sí/No (o booleana), se implican tanto la condición (IF) como los resultados. En este ejemplo, cuando se cumple la condición (verdadera), se selecciona el valor del parámetro MuntinVis y la geometría de montante está visible. A la inversa, cuando no se cumple la condición (falsa), se borra el parámetro MuntinVis y la geometría de montante no está visible.
Formula: MuntinVis = Luces > 1