Funciones en fórmulas de variables

Tekla Structures
Modificado: 6 Dic 2022
2024
Tekla Structures

Operadores aritméticos

Utilice operadores aritméticos para combinar expresiones que dan como resultado valores numéricos. Puede utilizar los siguientes operadores aritméticos:

Operador

Descripción

Notas

+

suma

También se utiliza para crear cadenas de parámetros.

-

resta

*

multiplicación

La multiplicación es más rápida que la división.

=D1*0.5 es más rápido que =D1/2

/

división

Operadores lógicos y de comparación

Utilice operadores lógicos y de comparación dentro de sentencias if. Puede utilizar sentencias if-then-else para comprobar una condición y definir el valor según el resultado.

Por ejemplo,

=if (D1>200) then 20 else 10 endif

Puede utilizar los siguientes operadores dentro de sentencias condicionales:

Operador

Descripción

Ejemplo

==

los dos lados son iguales

!=

los lados no son iguales

<

el lado izquierdo es más pequeño

<=

el lado izquierdo es más pequeño o igual

>

el lado derecho es más pequeño

>=

el lado derecho es más pequeño o igual

&&

Y lógico

ambas condiciones deben ser verdaderas

=if (D1==200 && D2<40) then 6 else 0 endif

Si D1 es 200 y D2 es menor que 40, el resultado es 6; de lo contrario, 0.

||

O lógico

solamente una de las condiciones debe ser verdadera

=if (D1==200 || D2<40) then 6 else 0 endif

Si D1 es 200 o si D2 es menor que 40, el resultado es 6; de lo contrario, 0.

Funciones de referencia

Utilice las funciones de referencia para hacer referencia a la propiedad de otro objeto, como el espesor de placa de una parte secundaria. Tekla Structures hace referencia al objeto en el nivel de sistema, por lo que si la propiedad del objeto cambia, también lo hace el valor de la función de referencia.

Puede utilizar las siguientes funciones de referencia:

Función

Descripción

Ejemplo

fTpl("template attribute", "object GUID")

Da como resultado el valor del atributo de cuadro de un objeto que tiene un GUID de objeto especificado.

=fTpl("WEIGHT","ID50B8559A-0000-010B-3133-353432373038")

da como resultado el peso de un objeto cuyo GUID es ID50B8559A-0000-010B-3133-353432373038.

fP("user-defined attribute", "object GUID")

Da como resultado el valor del atributo definido por el usuario de un objeto que tiene un GUID de objeto especificado.

=fP("comment", "ID50B8559A-0000-010B-3133-353432373038")

da como resultado el atributo definido por el usuario nota de un objeto cuyo GUID es ID50B8559A-0000-010B-3133-353432373038.

fValueOf("parameter")

Da como resultado el valor del parámetro.

Si la ecuación es =P2+"*"+P3, el resultado será P2*P3

Con =fValueOf("P2")+"*"+fValueOf("P3"), donde P2=780 y P3=480, el resultado es 780*480

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

Da como resultado el valor de la base de datos de armaduras de un objeto.

Usage puede ser 2 ("Tirante") o 1 ("Principal").

FieldName debe ser uno de los siguientes:

  • 0 DiámetroNominal
  • 1 DiámetroReal
  • 2 Peso
  • 3 RadioMín
  • 4 RadioGancho1
  • 5 ÁnguloGancho1
  • 6 LongitudGancho1
  • 7 RadioGancho2
  • 8 ÁnguloGancho2
  • 9 LongitudGancho2
  • 10 RadioGancho3
  • 11 ÁnguloGancho3
  • 12 LongitudGancho3
  • 13 Área

fRebarCatalogValue("A500HW", "10", 1, 2)

da como resultado el tamaño, el uso y el peso de un objeto cuya calidad de armadura es A500HW.

Archivo ASCII como función de referencia

Puede hacer referencia a archivos ASCII para obtener datos. Tekla Structures busca los archivos en el siguiente orden:

  1. modelo

  2. ..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\

  3. proyecto (definido con la opción avanzada XS_PROJECT)

  4. firma (definido con la opción avanzada XS_FIRM)

  5. sistema (definido con la opción avanzada XS_SYSTEM)

El formato para leer archivos es el siguiente:

fVF("filename", "key_value_of_row", column_number)

  • El valor clave de fila es un valor de texto único.

  • El número de columna es un índice que empieza por 1.

Puede especificar un carácter para la separación de datos: fVF(data file, lookup value, column#[, separator character]).

  • Puede utilizar un separador de columna preferido de su elección. Esto permite la compatibilidad con espacios en nombres, perfiles, formas, etc., así como el uso de listas de distancia como entrada.

  • Puede utilizar textos en blanco o vacíos como entrada.

  • Solo se puede utilizar un carácter como separador. Por ejemplo, no puede utilizar un separador más complejo como "/+/", porque solo el primer carácter se consideraría un separador de columna.

Ejemplo

La función =fVF("Overlap.dat", "MET-202Z25", 5) está en el cuadro Fórmula en el cuadro de diálogo Variables. La función obtiene el valor 16.0 para el perfil MET-202Z25, del archivo Overlap.dat.

  1. Valor clave de la fila (MET-202Z25)

  2. Número de columna (5)

Funciones matemáticas

Utilice funciones matemáticas para crear expresiones matemáticas más complejas. Puede utilizar las siguientes funciones:

Función

Descripción

Ejemplo

fabs(parámetro)

Da como resultado el valor absoluto del parámetro

=fabs(D1) da como resultado 15

si D1 = -15

exp(potencia)

Da como resultado e elevado a la potencia

e es el número de Euler.

=exp(D1) da como resultado 7.39

si D1 = 2

ln(parámetro)

Da como resultado el logaritmo natural del parámetro (número base e)

=ln(P2) da como resultado 2.71

si P2 = 15

log(parámetro)

Da como resultado el logaritmo del parámetro (número base 10)

=log(D1) da como resultado 2

si D1=100

sqrt(parámetro)

Da como resultado la raíz cuadrada del parámetro

=sqrt(D1) da como resultado 4

si D1 = 16

mod(dividendo, divisor)

Da como resultado el módulo de la división

=mod(D1, 5) da como resultado 1

si D1 = 16

pow(número base, potencia)

Da como el número base elevado a la potencia especificada

=pow(D1, D2) da como resultado 9

si D1 = 3 y D2 = 2

hypot(cateto1,cateto2)

Da como resultado la hipotenusa

  1. cateto 1

  2. hipotenusa

  3. cateto 2

=hypot(D1, D2) da como resultado 5

si D1 = 3 y D2 = 4

n!(parámetro)

Da como resultado el factorial del parámetro

=n!(P2) da como resultado 24

si P2 = 4

(1*2*3*4)

round(parámetro, precisión)

Da como resultado el parámetro redondeado hasta el grado de precisión especificado

=round(P1, 0.1) da como resultado 10.600

si P1 = 10.567

PI

Devuelve el valor de pi con 31 decimales

=PI da como resultado 3.1415926535897932384626433832795

Funciones estadísticas

Utilice funciones de estadísticas para calcular sumas y promedios y para redondear valores. Puede utilizar las siguientes funciones estadísticas:

Función

Descripción

Ejemplo (P1 = 1.4 P2 = 2.3)

ceil()

Da como resultado el número entero menor que sea mayor o igual que el parámetro

=ceil(P1) da como resultado 2

floor()

Da como resultado el número entero mayor que sea menor o igual que el parámetro

=floor(P1) da como resultado 1

min()

Da como resultado el menor de los parámetros

=min(P1, P2) da como resultado 1.4

max()

Da como resultado el mayor de los parámetros

=max(P1, P2) da como resultado 2.3

sum()

Suma de los parámetros

=sum(P1, P2) da como resultado 3.7

sqsum()

Suma de los parámetros al cuadrado: (parámetro1)2 + (parámetro2)2

=sqsum(P1, P2) da como resultado 7.25

ave()

Promedio de los parámetros

=ave(P1, P2) da como resultado 1.85

sqave()

Promedio de los parámetros al cuadrado

=sqave(P1, P2) da como resultado 3.625

Ejemplo: Funciones estadísticas ceil y floor

En este ejemplo, tiene las siguientes variables paramétricas:

  • Longitud viga: P1 = 3500

  • Separación postes: P2 = 450

P1 / P2 = 7.7778

Puede utilizar las funciones estadísticas ceil y floor para redondear el valor y después emplear el valor redondeado como número de postes de la viga:

  • =ceil(P1/P2) da como resultado 8

  • =floor(P1/P2) da como resultado 7

Funciones de conversión de tipos de datos

Utilice funciones de conversión de tipos de datos para convertir valores en otros tipos de datos. Puede utilizar las siguientes funciones de conversión de tipos de datos:

Función

Descripción

Ejemplo

int()

Convierte los datos a entero

Resulta especialmente útil para calcular dimensiones de perfiles:

=int(100.0132222000) da como resultado 100 si los decimales están definidos en 0 en el cuadro de diálogo Opciones

double()

Convierte los datos a real

string()

Convierte los datos a cadena de caracteres

imp()

Convierte unidades del sistema británico

Utilice esta función en los cálculos, en lugar de unidades del sistema británico. No es posible utilizar unidades del sistema británico directamente en los cálculos.

En los ejemplos siguientes, la unidad de longitud está definida en mm y los decimales están definidos en 2 en el cuadro de diálogo Opciones.

=imp(1,1,1,2), que significa 1 pie y 1/2 pulgada, da como resultado 342.90 mm

=imp(1,1,2), que significa 1 1/2 pulgadas, da como resultado 38.10 mm

=imp(1,2), que significa 1/2 pulgada, da como resultado 12.70 mm

=imp(1), que significa 1 pulgada, da como resultado 25.40 mm

=3’/3" no es posible, aunque =imp(36)/imp(3) es correcto

vwu(valor, unidad)

Convierte los valores de longitud y los valores de ángulo. Las unidades disponibles son:

  • "ft" ("pie", "pies")

  • "in" ("pulgada", "pulgadas")

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

=vwu(4.0,"in") da como resultado 101.60 mm si la unidad de longitud está definida en mm y los decimales están definidos en 2 en el cuadro de diálogo Opciones.

=vwu(2.0,"rad") da como resultado 114.59 grados si el ángulo está definido en grados y los decimales están definidos en 2 en el cuadro de diálogo Opciones.

Nota:

Las unidades dependen de las configuraciones en el menú Archivo > Configuración > Opciones > Unidades y decimales.

Operaciones con cadenas

Utilice operaciones con cadenas para manipular las cadenas de caracteres. Las cadenas deben estar entre comillas en las fórmulas de variables.

Puede utilizar las siguientes operaciones con cadenas:

Operación

Descripción

Ejemplo (P1 = "PL100*10")

match(parámetro1, parámetro2)

Da como resultado 1 si los parámetros son iguales y 0 si son diferentes.

También puede utilizar los comodines *, ? y [ ] con la función match.

=match(P1, "PL100*10") da como resultado 1

Aceptar todos los perfiles que empiezan por PFC: =match(P4, "PFC*")

Aceptar los perfiles que empiezan por PFC y alturas que empiezan por 2, 3, 4 o 5: =match(P4, "PFC[2345]*")

Aceptar los perfiles que empiezan por PFC, las alturas que son 200, 300, 400 o 500 y la anchura que empieza por 7: =match(P4, "PFC[2345]00?7*")

length(parámetro)

Da como resultado el número de caracteres del parámetro.

=length(P1) da como resultado 8

find(parámetro, cadena)

Da como resultado el número de orden (empezando desde cero) de la cadena especificada y -1 si la cadena especificada no se encuentra en el parámetro.

=find(P1, "*") da como resultado 5

getat(parámetro, n)

Da como resultado el carácter número n (empezando desde cero) del parámetro.

=getat(P1, 1) da como resultado "L"

setat(parámetro, n, carácter)

Define el carácter número n (empezando desde cero) como el carácter especificado en el parámetro.

=setat(P1, 0, "B") da como resultado "BL100*10"

mid(cadena, n, x)

Da como resultado x caracteres de la cadena empezando desde el carácter número n (contando desde cero). Si deja en blanco el último argumento (x), da como resultado la última parte de la cadena.

=mid(P1,2,3) da como resultado "100"

reverse(cadena)

Invierte la cadena especificada.

=reverse(P1) da como resultado "01*001LP"

Ejemplo 1

Para definir el tamaño de perfil PL100*10 con dos variables P2 = 100 y P3 = 10, introduzca la fórmula de la siguiente manera:

="PL"+P2+"*"+P3

Ejemplo 2

Tekla Structures considerará las separaciones de tornillos como cadenas. Para definir la separación de tornillos, defina Tipo valor como Lista distancias e introduzca la fórmula de la siguiente manera:

=P1+" "+P2

El resultado será 100 200, si P1 = 100 (longitud) y P2 = 200 (longitud).

Funciones trigonométricas

Utilice funciones trigonométricas para calcular ángulos. Puede utilizar las siguientes funciones trigonométricas:

Función

Descripción

Ejemplo

sin()

Da como resultado el valor del seno

=sin(d45) da como resultado 0.71

cos()

Da como resultado el valor del coseno

=cos(d45) da como resultado 0.71

tan()

Da como resultado el valor de la tangente

=tan(d45) da como resultado 1.00

asin()

Función inversa de sin(), da como resultado el valor en radianes

=asin(1) da como resultado 1.571 rad

acos()

Función inversa de cos(), da como resultado el valor en radianes

=acos(1) da como resultado 0 rad

atan()

Función inversa de tan(), da como resultado el valor en radianes

=atan(1) da como resultado 0.785 rad

sinh()

Da como resultado el valor del seno hiperbólico

=sinh(d45) da como resultado 0.87

cosh()

Da como resultado el valor del coseno hiperbólico

=cosh(d45) da como resultado 1.32

tanh()

Da como resultado el valor de la tangente hiperbólica

=tanh(d45) da como resultado 0.66

atan2()

Da como resultado el ángulo cuya tangente es el cociente de los dos números. Da como resultado el valor en radianes

=atan2(1,3) da como resultado 0.32

Nota:

Al utilizar funciones trigonométricas en fórmulas de variables, se debe incluir un prefijo para definir la unidad. Si no se incluye un prefijo, Tekla Structures utiliza radianes como unidad por defecto.

  • d son grados. Por ejemplo, sin(d180)

  • r son radianes (por defecto). Por ejemplo, sin(r3.14) o sin(3.14)

Función de tamaño de mercado

Utilice la función de tamaño de mercado en un componente personalizado para seleccionar la dimensión de placa adecuada (normalmente el espesor de placa) de entre los tamaños de mercado disponibles. Por ejemplo, el espesor de una placa debe coincidir con el alma de una viga.

Función

Descripción

Ejemplo

fMarketSize(material, espesor, paso extra)

Da como resultado el siguiente tamaño de mercado disponible para el material en el archivo marketsize.dat, en función del espesor especificado.

El archivo debe estar en la carpeta ..\environments\your_environment\profil o en la carpeta de sistema.

Para un paso extra introduzca un número para definir el incremento hasta el tamaño siguiente (el valor por defecto es 0).

=fMarketSize("S235JR", 10, 0)

Ejemplo

En este ejemplo, tiene los siguientes datos en marketsize.dat:

S235JR,6,9,12,16,19,22
SS400,1.6,2.3,3.2,4.5,6,9,12,16,19,22,25,28,32,38
DEFAULT,6,9,12,16,19,22,25,28,32,38

El primer elemento de una fila es una calidad de material seguida de los espesores de placa disponibles en milímetros. En la línea DEFAULT se enumeran los espesores disponibles en los demás tipos de materiales.

Con los datos anteriores, la función =fMarketSize("S235JR",10,0) daría como resultado 12, y =fMarketSize("S235JR",10,1) daría como resultado 16 (el siguiente tamaño superior).

Funciones de condición de estructura

Utilice las funciones de condición de estructura para obtener el ángulo de sesgo, el ángulo de inclinación y el ángulo de oblicuidad de la viga secundaria en relación con la parte principal (columna o viga). Puede utilizar las siguientes funciones de condición de estructura:

Función

Descripción

Ejemplo

fAD("skew", GUID)

Da como resultado el ángulo de sesgo de la parte secundaria cuyo GUID se ha especificado.

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") da como resultado 45

ID50B8559A-0000-010B-3133-353432373038 es el GUID de la parte secundaria, que se encuentra en un ángulo de 45 grados respecto a la parte principal.

fAD("slope", GUID)

Da como resultado el ángulo de inclinación de la parte secundaria cuyo GUID se ha especificado.

=fAD("slope","ID50B8559A-0000-010B-3133-353432373038")

fAD("cant", GUID)

Da como resultado el ángulo de oblicuidad de la parte secundaria rotada cuyo GUID se ha especificado.

=fAD("cant","ID50B8559A-0000-010B-3133-353432373038")

Nota:
  • Estas funciones no devuelven valores positivos y negativos de inclinación y sesgo. Con estas funciones no es posible determinar la inclinación ascendente o descendente, ni el sesgo hacia la izquierda o hacia la derecha.

  • El ángulo máximo de sesgo que puede obtenerse es de 45 grados.

  • Tekla Structures calcula los ángulos en 2D para aislar la inclinación y el sesgo entre sí. Por ejemplo, el ángulo al sesgo no se tiene en cuenta al calcular el ángulo de inclinación, lo cual significa que el valor de ángulo de inclinación no variará independientemente de la rotación de la parte secundaria alrededor de la parte principal.

    Para averiguar la verdadera inclinación 3D con el sesgo incluido, puede utilizar la siguiente fórmula matemática:

    TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))

Ejemplo 1

La inclinación y el sesgo son relativos a una viga enmarcada dentro de una columna.

Vista lateral

Vista superior

  1. Pilar
  2. viga
  3. Inclinación
  4. Sesgo

Ejemplo 2

Con dos vigas, la inclinación es en realidad el sesgo horizontal de la viga enmarcada dentro de la otra viga y la inclinación vertical de la viga relativa a la principal es en realidad el ángulo de sesgo.

Vista lateral

Vista superior

  1. Sesgo
  2. Inclinación
¿Le ha resultado útil?
Anterior
Siguiente