Frmulas de Revit para el "uso diario" He estado haciendo una gran cantidad de familias paramtricas para Revit, y siempre
disfruto del poder de la utilizacin de frmulas para controlar las cosas. As ue a u tiene unos cuantos e!emplos ue he recogido a travs del tiempo, y tam"in algunas adiciones muy recientes #$uevas funciones de redondeo en Revit %&'%(. )os operadores "*sicos #+umar, restar, multiplicar, etc( se han de!ado fuera a propsito, pero no duden en agregar frmulas m*s ,tiles, ue utilicen en sus familias -.ponenciacin / elevado a la potencia de 0 1 / 2 0 - elevado a una potencia . - es una constante matem*tica ue es apro.imadamente igual a %,3. -s un n,mero irracional, pero si lo trunca a %& decimales sera %,3'4%4'4%4567&56%868. el uso de Revit 1 e.p #.( 9rculos con pi : -l uso de Revit pi 1 #( 9ircunferencia 1 pi#( ; #Radius ; %( 9ircunferencia 1 pi#( ; <iameter =rea de 9rculo 1 pi#( ; Radius 2 % raz cuadrada >alor fi!o 1 s rt#777( ?ar*metro 1 s rt#@idth( Frmula 1 s rt#@idth A Height( )ogaritmo -l logaritmo de un n,mero en una "ase dada es el e.ponente al ue la "ase de"e ser e.aminado a fin de producir ese n,mero. ?or e!emplo, el logaritmo de '&&& a la "ase '& es 8, de"ido a tres factores, de '& de"en multiplicarse para producir milB '& C '& C '& 1 '&&& el uso de Revit 1 log#'&&&( Forzar la activacin o desactivacin de un par*metro de +D$o ?ara forzar la activacin 1 'E% ?ara forzar la desactivacin 1 'F%
<eclaraciones condicionales )as declaraciones condicionales utilizan esta sint*.isB GF #EcondicinF, EresultadoHsi es ciertoF, EresultadoHsi es falsoF( )os operadores condicionales disponi"les E Ienor ue F Iayor ue 1 Ggualdad D <ividir A$< am"as declaraciones son ciertas JR Kna de las afirmaciones es verdadera $JL la declaracin es falsa )as declaraciones condicionales pueden contener valores numricos, nom"res numricos de par*metros, y + D $o hay par*metros. -n la actualidad, E1 yF 1 no se aplican. ?ara e.presar esta comparacin, se puede utilizar una lgica $J. ?or e!emplo, un E1 " se puede introducir como $JL#AF M( simple GF GF #)ength E 7&&, EverdaeroF, EfalsoF( Frmulas ue retornan cadenas de te.to GF #)engthE7&&,"Apertura demasiado estrecho","Apertura JN"( Kso del operador lgico A$< #y( GF # A$< #. 1 ' , y 1 %(, EverdaderoF, EfalsoF( Returna EverdaderoF si am"as h .1' y y1%, de lo contrario EfalsoF Kso del operador lgico JR #o( lgica GF # JR # . 1 ' , y 1 % ( , EtrueF, EfalseF( Retorna EverdaderoF si cual uiera de estos son ciertosB .1' o y1%, de lo contrario EfalsoF Jperador GF #si( anidado GF # )ength E 6&& , '&& , GF # )ength E 36& , %&& , GF # )ength E '&&& , 8&& , 5&& ( ( ( Returns '&& if )engthE6&&, %&& if )engthE36&, 8&& if )engthE'&&& and 5&& if )engthF'&&& +G con condicin + D $o )ength F 5& Returna casilla activada #EverdaderoF( si )ength F 5& $J con condicin + D $o
$JL#>iz( Retorna casilla activada #EtrueF( en caso de ue el par*metro de + D $o llamado ">iz" no est activado, y la casilla retorna sin activar #EfalsoF( en caso de ue el par*metro de + D $o llamado ">iz" est activado. 0 +G J retorna el m*yor de tres valores <igamos ue tienes estos 8 par*metros de longitud, y uieres un cuarto par*metro para devolver el mayor valor de los 8B )ength A )ength M )ength 9 Retorna )ength #<evuelve el mayor de los tres par*metros de longitud( Retorna )ength 1 if#and#or#)ength A F )ength M, )ength A 1 )ength M(, or#)ength A F )ength 9, )ength A 1 )ength 9((, )ength A, if#and#or#)ength M F )ength A, )ength M 1 )ength A(, or#)ength M F )ength 9, )ength M 1 )ength 9((, )ength M, if#and#or#)ength 9 F )ength A, )ength 9 1 )ength A(, or#)ength 9 F )ength M, )ength 9 1 )ength M((, )ength 9, & mm((( 9rdito aB Ooe Phou por esta frmulaQ Jtra opcin es utilizar un par*metro e.tra llamado "9alc", ue es una manera poco m*s torpe, pero tam"in m*s f*cil y m*s mane!a"le para nosotros los mortales. 9alc 1 if#)ength A F )ength M, )ength A, )ength M( Retorna )ength 1 if#9alc F )ength 9, 9alc, )ength 9( Lrigonometra de tri*ngulos rect*ngulosB conocidosB a A " c 1 s rt #a 2 2 % A " %( A 1 atan #a D "( M 1 atan #" D a( conocidosB a A c " 1 s rt #c 2 % H a 2 %( A 1 asin #a D c( M 1 acos #a D c( 9onocidoB " A c un s rt 1 #c 2 % H " 2 %( A 1 acos #" D c( M 1 asin #" D c(
9onocidoB c A A a 1 c ; sin #A( " 1 c ; cos #A( M 1 7& R H A 9onocidoB c A M a 1 c ; cos #M( " 1 c ; sin #M( A 1 7& S H M conocidosB A A M " 1 a ; tan #M( c 1 a D cos #M( A 1 7& S H M 9onocidoB M A A a 1 " ; tan #A( c 1 " D cos #A( M 1 7& R H A conocidosB A A A " 1 a tan D #A( c 1 a sin D #A( M 1 7& R H A 9onocidoB " A M a 1 " D tan #M( c 1 " D sin #M( A 1 7& S H M Funcin de apro.imacin "Round" H $ueva en Revit en %&'% )os valores en las frmulas pueden ser ahora redondeados hacia arri"a o hacia a"a!o. ?or e!emplo, cuando se calcula la altura de un peldaTo de escalera, se necesita la funcin de redondeo para encontrar el valor adecuado. Round#.( )a funcion de redondeo Round devuelve un n,mero redondeado m*s cercana a un n,mero entero. $o tiene en cuenta la direccin de redondeo #redondeando hacia arri"a o hacia a"a!o(. +i el n,mero es #por e!emplo( %5,6 a %5,7, la funcin redondea a %6. +i se trata de %8,' a %8,5, la funcin redondea a %8. -!emplosB Round#%8,5( 1 %8 Round#%8,6( 1 %5 Round#%8,U( 1 %5 Round#H%8,5( 1 H%8 Round#H%8,6( 1 H%8
Round#H%8,U( 1 H%5 +inta.is )a sinta.is de la funcin de redondeo Round esB Round #n,mero( $,mero es el n,mero a redondear. Roundup#.( "/" es un valor sin unidades ue de"e devolver el mayor valor entero menor o igual a .. ?or e!emploB Roundup#%8,&( 1 %8 Roundup#%8,6( 1 %8 Roundup#%8,7( 1 %8 Roundup#H%8,&( 1 H%8 Roundup#H%8,6( 1 H%5 Roundup#H%8,7( 1 H%5 )a sinta.is de la funcin de redondeo Round esB Roundup #n,mero( $,mero es el n,mero a redondear hacia arri"a. RounddoVn#.( "/" es un valor sin unidades ue de"e devolver el valor m*s pe ueTo integrante mayor o igual a .. ?or e!emploB RounddoVn#%8,&( 1 %8 RounddoVn#%8,6( 1 %5 RounddoVn#%8,7( 1 %5 RounddoVn#H%8,&( 1 H%8 RounddoVn#H%8,6( 1 H%8 RounddoVn#H%8,7( 1 H%8 )a sinta.is de la funcin de redondeo Round esB RounddoVn #n,mero( $,mero es el n,mero a redondear hacia a"a!o. Lenga en cuenta ue cuando los n,meros como %8.6 son redondeados, ue puede resultar en %8 %5. ?ara producir un resultado esta"le, para todos los &.6 casos, y vuelta al n,mero entero m*s grande. -so significa ue el %8,6 se redondea a %5, mientras ue H%8,6HH%8