Funciones en fórmulas de variables
Puede utilizar funciones para calcular valores para variables paramétricas. Las fórmulas de variables siempre empiezan por el signo igual (=).
Para obtener más información, consulte Definir propiedades de objeto usando variables paramétricas.
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.
|
/ | 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 |
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 |
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 |
---|---|---|
|
Da como resultado el valor del atributo de cuadro de un objeto que tiene un GUID de objeto especificado. |
da como resultado el peso de un objeto cuyo GUID es ID50B8559A-0000-010B-3133-353432373038. |
|
Da como resultado el valor del atributo definido por el usuario de un objeto que tiene un GUID de objeto especificado. |
da como resultado el atributo definido por el usuario nota de un objeto cuyo GUID es ID50B8559A-0000-010B-3133-353432373038. |
|
Da como resultado el valor del parámetro. |
Si la ecuación es Con |
|
Da como resultado el valor de la base de datos de armaduras de un objeto.
|
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:
-
modelo
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
proyecto (definido con la opción avanzada
XS_PROJECT
) -
firma (definido con la opción avanzada
XS_FIRM
) -
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.
-
Valor clave de la fila (MET-202Z25)
-
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 |
si D1 = -15 |
exp(potencia) | Da como resultado e elevado a la potencia e es el número de Euler. |
si D1 = 2 |
ln(parámetro) | Da como resultado el logaritmo natural del parámetro (número base e) |
si P2 = 15 |
log(parámetro) | Da como resultado el logaritmo del parámetro (número base 10) |
si D1=100 |
sqrt(parámetro) | Da como resultado la raíz cuadrada del parámetro |
si D1 = 16 |
mod(dividendo, divisor) | Da como resultado el módulo de la división |
si D1 = 16 |
pow(número base, potencia) | Da como el número base elevado a la potencia especificada |
si D1 = 3 y D2 = 2 |
hypot(cateto1,cateto2) |
Da como resultado la hipotenusa
|
si D1 = 3 y D2 = 4 |
n!(parámetro) | Da como resultado el factorial del parámetro |
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 |
si P1 = 10.567 |
PI | Devuelve el valor de pi con 31 decimales |
|
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 |
|
floor() | Da como resultado el número entero mayor que sea menor o igual que el parámetro |
|
min() | Da como resultado el menor de los parámetros |
|
max() | Da como resultado el mayor de los parámetros |
|
sum() | Suma de los parámetros |
|
sqsum() | Suma de los parámetros al cuadrado: (parámetro1)2 + (parámetro2)2 |
|
ave() | Promedio de los parámetros |
|
sqave() | Promedio de los parámetros al cuadrado |
|
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:
|
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.
|
vwu(valor, unidad) |
Convierte los valores de longitud y los valores de ángulo. Las unidades disponibles son:
|
|
Las unidades dependen de las configuraciones en el menú .
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 |
Aceptar todos los perfiles que empiezan por PFC: Aceptar los perfiles que empiezan por PFC y alturas que empiezan por 2, 3, 4 o 5: Aceptar los perfiles que empiezan por PFC, las alturas que son 200, 300, 400 o 500 y la anchura que empieza por 7: |
length(parámetro) |
Da como resultado el número de caracteres del parámetro. |
|
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. |
|
getat(parámetro, n) |
Da como resultado el carácter número n (empezando desde cero) del parámetro. |
|
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. |
|
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. |
|
reverse(cadena) |
Invierte la cadena especificada. |
|
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 |
|
cos() | Da como resultado el valor del coseno |
|
tan() | Da como resultado el valor de la tangente |
|
asin() |
Función inversa de sin(), da como resultado el valor en radianes |
|
acos() |
Función inversa de cos(), da como resultado el valor en radianes |
|
atan() |
Función inversa de tan(), da como resultado el valor en radianes |
|
sinh() | Da como resultado el valor del seno hiperbólico |
|
cosh() | Da como resultado el valor del coseno hiperbólico |
|
tanh() | Da como resultado el valor de la tangente hiperbólica |
|
atan2() | Da como resultado el ángulo cuya tangente es el cociente de los dos números. Da como resultado el valor en radianes |
|
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)
osin(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). |
|
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.
|
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("cant", GUID) |
Da como resultado el ángulo de oblicuidad de la parte secundaria rotada cuyo GUID se ha especificado.
|
|
-
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 |
|
|
- Pilar
- viga
- Inclinación
- 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 |
|
|
- Sesgo
- Inclinación