Una situación en la que bastantes de nosotros hemos estado es la de tener un problema específico a la hora de introducir una fórmula en Revit en un parámetro y cometer el error de buscar en la web oficial de Autodesk. No digo que la información de las fórmulas en Revit de Autodesk en sí sea mala, simplemente que es muy escasa y además está repartida por varias páginas diferentes, por lo que resulta un proceso complejo encontrar específicamente lo que estamos buscando.
Supongo que ese es el motivo por el que, después de preguntar a los suscriptores de E3D sobre qué querían que escribiésemos «Fórmulas en Revit» fue la elección más votada.
Además de los controles básicos de la página de Autodesk, a saber: sumar (+), restar (-), multiplicar (*), dividir (/), elevar (^), logaritmo (log), raíz cuadrada (sqrt), seno (sin), coseno (cos), tangente (tan), arcoseno (asin), arcocoseno (acos), arcotangente (atan), e elevado a (exp) y 3,1416 (pi); conviene tener en cuenta unos cuantos factores a la hora de trabajar con fórmulas de Revit.
Si te interesa avanzar en tu Nivel de Revit, recuerda echar un vistazo a nuestro curso de Revit Avanzado. AQUÍ.
Factores a tener en cuenta a la hora de trabajar con fórmulas en Revit.
1. Las unidades sí importan
Es básico para trabajar con fórmulas en Revit saber primero de qué tipo es cada parámetro. Por ejemplo, si estamos trabajando con un parámetro de longitud (tipo Length), entonces toda la información que introduzcamos en las fórmulas de este parámetro tiene que estar en unidades de longitud (metros, milímetros). Si estamos trabajando con áreas entonces tendremos que introducir toda la información necesaria en unidades de área.
Veamos un ejemplo. En la siguiente puerta queremos calcular el área de pintura de la puerta y contamos con estos parámetros.
Ejemplo 1: fórmula para calcular el área de pintura de una puerta.
Queremos calcular el área de pintura. Este área es igual al área de la hoja de la puerta por dos, suponiendo que la hoja está pintada por ambos lados. Si el marco mide 250 mm entonces la fórmula quedaría del siguiente modo.
Primero generamos el parámetro Apintura, que debe ser del tipo «Área»
La fórmula del área de pintura se escribiría del siguiente modo:
Este proceso puede parecer sencillo pero se complejiza cuando introducimos fórmulas con más variables u operamos con los parámetros desde aplicaciones de programación. En el caso de programar es imprescindible que sepamos de qué tipo es cada parámetro antes de volcarle la información.
Por ejemplo, en el Dynamo de abajo volcamos la información después de trabajar en una definición a un parámetro llamado «Hab_Ocupacion». Como este parámetro es de número necesitamos transformar el texto en número (string.ToNumber) antes de volcarle la información al parámetro.
2. Redondear es posible
Es posible redondear valores para que el resultado sea un número entero. Para ello se utilizan las siguientes fórmulas:
- Redondear (round(x))
- Redondear hacia arriba (roundup(X))
- Redondear hacia abajo (rounddown(X))
¿Cuándo se usa? Este tipo de fórmula es especialmente útil cuando estamos trabajando con números enteros. El tipo de parámetro que necesitaremos para este caso es el de «Integer». Un ejemplo podría ser el de la clásica familia de escalera de pates. Si queremos que la escalera se pueda adaptar a cualquier altura, entonces necesitaremos que aumente el número de escalones en función de la altura a cubrir.
El número de escalones tiene que ser, a la fuerza, un número entero. En este caso utilizamos la fórmula que se ve abajo rounddown(ALTURA_TOTAL_ESCALERA/255 mm) para adaptar el número de escalones a una altura variable.
3. Los condicionantes pueden funcionar con distintos tipos de parámetros
Condicionantes con números o longitudes
La manera más sencilla de hacer una formula con condicionantes en Revit se escribe if(<condición>,<resolución si la condición es verdadera>, <resolución si la condición es falsa». Por ejemplo, en la fórmula de abajo tenemos el parámetro «b» que depende del «a». Si a es menor de 2500 mm entonces b será 200 mm, de lo contrario b será 400mm.
Condicionantes con Textos
Podemos querer también que el valor de un texto dependa de una cierta condición. Para poder incluir un texto en una fórmula de tipo condicionante debemos escribir el texto entre comillas «».
Condicionantes de Si/No
Los parámetro Si/No suelen asociarse a la visibilidad de un objeto. Ponemos aquí el ejemplo más sencillo posible de las fórmulas en Revit con este tipo de condicionantes, en el que hay solo dos parámetros: a (de longitud) y Visibilidad (de sí/no). Si a es menor que 2000, entonces el parámetro «Visibilidad» tendrá el valor de «Sí», si la condición no se cumple entonces el parámetro de «Visibilidad» tendrá el valor de «No».
Podemos querer conseguir que cuando un parámetro de visibilidad se encienda los demás se apaguen. Para eso usamos la fórmula de Revit not().
Por ejemplo en el caso de abajo el parámetro «OpuestoVisibilidad» se encenderá si el de «Visibilidad» se apaga y viceversa.
4. Si quieres información calculada en un parámetro que dependa de más de una categoría de familia Dynamo es tu mejor opción.
Dynamo es una aplicación de programación visual que se utiliza para llegar mediante programación donde el programa Revit, de momento, no alcanza. Dos de los nodos más utilizados que tiene son «Get Parameter Value By Name» y «Set Parameter Value By Name», el primero sirve para adquirir la información de un parámetro de cualquier elemento. El segundo sirve para volcar valores a cualquier parámetro de elementos.
Si no sabes muy bien qué es eso de Dynamo pero te gustaría saber más, puedes descargarte nuestra «Guía de Fundamentos de Dynamo» aquí.
¿Hay algo que hayas querido buscar en este post y no lo encuentras? Envíame un email a luisa@especialista3d.com.
Fórmulas en Revit por Especialista3D está licenciado bajo una Licencia Creative Commons Atribución-NoComercial 4.0 Internacional.