Descargar en PDF

Anuncio
Revit 2014
FÓRMULAS PARA EL DÍA A DÍA
Este post está basado en una entrada en revitforum.org de Klaus Munkholm.
Para explotar todas las capacidades del editor de familias de Revit, es muy importante conocer qué fórmulas
tenemos a nuestra disposición para controlar los parámetros de las familias. Obviamente no tenemos todas
las capacidades que podríamos utilizar en una hoja de cálculo de Excel, pero sí las suficientes para poder
construir familias con un comportamiento “inteligente”.
A continuación paso a transcribiros y a poner algunos ejemplos de las fórmulas que tenemos disponibles y
cuál es su sintaxis, que es prácticamente igual que en Excel.
Operadores básicos



















Suma: +
Resta: Multiplicación: *
División: /
Exponencial: ^: x^y, x elevado a la potencia de y
Logaritmo: log(x)
Raíz cuadrada:
De un valor = sqrt(16)
De un parámetro = sqrt(Anchura)
De una fórmula = sqrt(Anchura + Altura)
Seno: sin(x)
Coseno: cos(x)
Tangente: tan(x)
Arcoseno: asin(x)
Arcocoseno: acos(x)
Arcotangente: atan(x)
e elevado a una potencia de x: exp(x)
Valor absoluto: abs(x)
Pi: pi()
www.arquitecton.es
[email protected]
Revit 2014
Forzar parámetros sí/no a estar marcados o no marcados, o lograr el valor verdadero/falso
Forzar marcado

=1<2
Forzar no marcado

=1>2
Instrucciones condicionales
Se pueden usar instrucciones condicionales en las fórmulas para definir acciones en una familia que depende
del estado de otros parámetros.
Las instrucciones condicionales usan la siguiente 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).
Operadores condicionales soportados






< Menor que
> Mayor que
= Igual
AND() Ambas instrucciones son verdaderas
OR() Alguna de las instrucciones es verdadera
NOT() La instrucción es falsa
Las instrucciones condicionales pueden contener valores numéricos, nombres de parámetros numéricos y
parámetros Sí/No.
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:
o = IF ( Longitud < 3000 mm , 200 mm , 300 mm )
IF con un parámetro de texto:
o = IF ( Longitud > 350mm , “Texto 1” , “Texto 2” )
IF con AND lógico:
o = IF ( AND ( x = 1 , y = 2 ), 8 , 3 )
www.arquitecton.es
[email protected]
Revit 2014




IF con OR lógico:
o = IF ( OR ( A = 1 , B = 3 ) , 8 , 3 )
Instrucciones IF anidadas:
o = IF ( Longitud < 350mm , 50mm , IF ( Longitud < 450mm , 60mm , IF
( Longitud < 550mm , 70mm , 80mm ) ) )
IF con condición Sí/No:
o = Longitud > 40 (si es verdadero devuelve una casilla marcada, si es falso, una casilla sin
marcar)
NOT con condición Sí/No:
o = NOT ( Param ) Devuelve una casilla marcada si el parámetro "Param" no está marcado y
viceversa.
Redondeo
Desde la versión de Revit de 2012 también podemos utilizar expresiones de redondeo.
Redondeo
Round(x)
La función redondeo devuelve el número entero más cercano al evaluado. No tiene en consideración la
dirección del redondeo (arriba o abajo).
Ejemplos:






round ( 23.4 ) = 23
round ( 23.5 ) = 24
round ( 23.6 ) = 24
round ( -23.4 ) = -23
round ( -23.5 ) = -23
round ( -23.6 ) = -24
Redondeo hacia abajo
Rounddown(x)
“x” es un valor sin unidad que devuelve el número entero de valor menor más cercano o igual a "x".
Ejemplos:






rounddown ( 23.0 ) = 23
rounddown ( 23.5 ) = 23
rounddown ( 23.9 ) = 23
rounddown ( -23.0 ) = -23
rounddown ( -23.5 ) = -24
rounddown ( -23.9 ) = -24
www.arquitecton.es
[email protected]
Revit 2014
Redondeo hacia arriba
Roundup(X)
“x” es un valor sin unidad que devuelve el número entero de valor mayor más cercano o igual a "x".
Ejemplos:






roundup ( 23.0 ) = 23
roundup ( 23.5 ) = 24
roundup ( 23.9 ) = 24
roundup ( -23.0 ) = -23
roundup ( -23.5 ) = -23
roundup ( -23.9 ) = -23
Las expresiones enumeradas anteriormente son las bases de aplicaciones para el control de las familias. Con
dichas expresiones se pueden generar fórmulas para resolver una gran variedad de situaciones diferentes,
como pueden ser las siguientes:
Trigonometría para triángulos rectos
Conociendo:
a+b



c = sqrt( a ^ 2 + b ^ 2 )
A = atan( a / b )
B = atan( b / a )



b = sqrt( c ^ 2 - a ^ 2 )
A = asin( a / c )
B = acos( a / c )
a+c
www.arquitecton.es
[email protected]
Revit 2014
a+A



b = a * tan(A)
c = a * sin(A)
B = 90° - A



b = a * tan(B)
c = a * cos(B)
A = 90° - B



a = sqrt( c ^ 2 - b ^ 2 )
A = acos( b / c )
B = asin( b / c )
a+B
b+c
b+A



a = b * tan(A)
c = a * sin(A)
B = 90° - A
b+B



a = b * tan(B)
c = b * sin(B)
A = 90° - B



a = c * sin(A)
b = c * cos(A)
B = 90° - A



a = c * cos(B)
b = c * sin(B)
A = 90° - B
c+A
c+B
www.arquitecton.es
[email protected]
Revit 2014
Cómo obtener el mayor de tres valores con instrucciones condicionales IF AND OR
Digamos que tenemos tres parámetros de longitud, y queremos un cuarto parámetro que nos devuelva el
mayor valor/longitud de los tres:
Long A
Long B
Long C
Long Mayor (Devuelve el mayor de los tres parámetros de longitud)
Una opción es usar un parámetro "Calc" adicional, lo cual es un poco más chapucero pero también mucho
más fácil y manejable para los que no controlan al 100% las instrucciones condicionales.
Calc = IF( Long A > Long B , Long A , Long B )
Long Mayor = IF( Calc > Long C , Calc , Long C )
Rango de valores
Dados los siguientes parámetros:
Valor Usuario = x
Valor Min = a
Valor Max = z
Especifica un rango de valores de entrada válidos, con los parámetros “Valor Min” y “Valor Max”; Luego, usa
el “Valor Actual” si está dentro del rango. Si no, usa el valor máximo o mínimo que nosotros le digamos.
Valor Actual = IF( Valor Usuario < Valor Min , Valor Min , IF( Valor Usuario > Valor Max , Valor
Max , Valor Usuario ) )
www.arquitecton.es
[email protected]
Descargar