Funzioni nelle formule delle variabili
È possibile utilizzare le funzioni per calcolare i valori per le variabili parametriche. Le formule variabili iniziano sempre con un segno di uguale (=).
Per ulteriori informazioni, vedere Impostazione delle proprietà degli oggetti utilizzando le variabili parametriche.
Operatori aritmetici
Utilizzare gli operatori aritmetici per combinare espressioni che restituiscono valori numerici. È possibile utilizzare i seguenti operatori aritmetici:
Operatore | Descrizione | Note |
---|---|---|
+ | somma | Utilizzare inoltre per creare stringhe di parametri. |
- | sottrazione | |
* | moltiplicazione | La moltiplicazione è più rapida della divisione.
|
/ | divisione |
Operatori logici e di confronto
Utilizzare operatori logici e di confronto all'interno delle istruzioni if. È possibile utilizzare istruzioni if-then-else per testare una condizione e impostare il valore in base al risultato.
Ad esempio:
=if (D1>200) then 20 else 10 endif
Nelle istruzioni If è possibile utilizzare i seguenti operatori:
Operatore | Descrizione | Esempio |
---|---|---|
== |
entrambi i lati sono uguali |
|
!= |
i lati non sono uguali |
|
< |
il lato sinistro è più piccolo |
|
<= |
il lato sinistro è più piccolo o uguale |
|
> |
il lato destro è più piccolo |
|
>= |
il lato destro è più piccolo o uguale |
|
&& |
AND logico entrambe le condizioni devono essere true |
Se D1 è 200 e D2 è minore di 40, il risultato è 6, altrimenti è 0. |
|| |
OR logico deve essere true una sola condizione |
Se D1 è 200 o D2 è minore di 40, il risultato è 6, altrimenti è 0. |
Funzioni di riferimento
Utilizzare le funzioni di riferimento per fare riferimento alla proprietà di un altro oggetto, ad esempio lo spessore del piatto di una parte secondaria. Tekla Structures fa riferimento all'oggetto sullo stesso livello, pertanto se la proprietà dell'oggetto cambia, viene modificato di conseguenza il valore della funzione di riferimento.
È possibile utilizzare le seguenti funzioni di riferimento:
Funzione |
Descrizione |
Esempio |
---|---|---|
|
Restituisce il valore di attributo template di un oggetto con un GUID oggetto specificato. |
restituisce il peso di un oggetto con GUID ID50B8559A-0000-010B-3133-353432373038. |
|
Restituisce il valore dell'attributo utente di un oggetto con un GUID oggetto specificato. |
restituisce l'attributo utente commento di un oggetto con GUID ID50B8559A-0000-010B-3133-353432373038. |
|
Restituisce il valore del parametro. |
Se l'equazione è Con |
|
Restituisce il valore del catalogo delle barre d'armatura di un oggetto.
|
restituisce le dimensioni, l'utilizzo e il peso di un oggetto il cui tipo della barra d'armatura è A500HW. |
File ASCII come funzione di riferimento
È possibile fare riferimento ai file ASCII per ottenere dati. Tekla Structures cerca i file nel seguente ordine:
-
modello
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
progetto (impostare con l'opzione avanzata
XS_PROJECT
) -
azienda (impostare con l'opzione avanzata
XS_FIRM
) -
sistema (impostare con l'opzione avanzata
XS_SYSTEM
)
Il formato per la lettura dei file è il seguente:
fVF("filename", "key_value_of_row", column_number)
-
Il valore chiave della riga è un valore di testo univoco.
-
Il numero di colonna è un indice a partire da 1.
È possibile specificare un carattere per la separazione dei dati: fVF(data file, lookup value, column#[, separator character])
.
-
È possibile utilizzare un separatore di colonna preferito. Ciò consente di supportare gli spazi in nomi, profili, sagome e così via, nonché l'utilizzo di liste di distanze come input.
-
È possibile utilizzare stringhe vuote come input.
-
È possibile utilizzare solo un singolo carattere come separatore. Ad esempio, non è possibile utilizzare un separatore più complesso come
"/+/"
, poiché solo il primo carattere verrebbe considerato come separatore di colonna.
Esempio
La funzione =fVF("Overlap.dat", "MET-202Z25", 5)
è nella casella Formula della finestra di dialogo Variabili. La funzione recupera il valore 16.0
per il profilo MET-202Z25
dal file Overlap.dat.
-
Valore chiave della riga (MET-202Z25)
-
Numero della colonna (5)
Funzioni matematiche
Utilizzare le funzioni matematiche per creare espressioni matematiche più complesse. È possibile utilizzare le funzioni seguenti:
Funzione | Descrizione | Esempio |
---|---|---|
fabs(parameter) | Restituisce il valore assoluto del parametro |
se D1 = -15 |
exp(power) | Restituisce e elevato a potenza e è il numero di Eulero. |
se D1 = 2 |
ln(parameter) |
Restituisce il logaritmo naturale del parametro (numero di base e) |
se P2 = 15 |
log(parameter) | Restituisce il logaritmo del parametro (numero di base 10) |
se D1=100 |
sqrt(parameter) | Restituisce la radice quadrata del parametro |
se D1 = 16 |
mod(dividend, divider) | Restituisce il modulo della divisione |
se D1 = 16 |
pow(base number, power) | Restituisce il numero di base elevato alla potenza specificata |
se D1 = 3 e D2 = 2 |
hypot(side1,side2) |
Restituisce l'ipotenusa
|
se D1 = 3 e D2 = 4 |
n!(parameter) | Restituisce il fattoriale del parametro. |
se P2 = 4 (1*2*3*4) |
round(parameter, accuracy) | Restituisce il parametro arrotondato alla precisione specificata |
se P1 = 10.567 |
PI | Restituisce il valore pi con 31 decimali |
|
Funzioni statistiche
Utilizzare le funzioni statistiche per calcolare somme e medie, nonché per arrotondare i valori. È possibile utilizzare le seguenti funzioni statistiche:
Funzione | Descrizione | Esempio (P1 = 1,4 P2 = 2,3) |
---|---|---|
ceil() | Restituisce il numero intero più piccolo maggiore o uguale al parametro |
|
floor() | Restituisce il numero intero più grande minore o uguale al parametro |
|
min() | Restituisce il parametro più piccolo |
|
max() | Restituisce il parametro più grande |
|
sum() | Somma dei parametri |
|
sqsum() | Somma dei parametri elevati al quadrato: (parametro1)2 + (parametro2)2 |
|
ave() | Media dei parametri |
|
sqave() | Media dei parametri elevati al quadrato |
|
Esempio: funzioni statistiche ceil e floor
In questo esempio, sono disponibili le seguenti variabili parametriche:
-
Lunghezza trave: P1 = 3500
-
Spaziatura montanti: P2 = 450
P1 / P2 = 7,7778
È possibile utilizzare le funzioni statistiche ceil
e floor
per arrotondare il valore e quindi utilizzare il valore arrotondato come numero di montanti della trave:
-
=ceil(P1/P2)
restituisce 8 -
=floor(P1/P2)
restituisce 7
Funzioni di conversione dei tipi di dati
Utilizzare le funzioni di conversione dei tipi di dati per convertire i valori in un altro tipo di dati. È possibile utilizzare le seguenti funzioni di conversione dei tipi di dati:
Funzione |
Descrizione |
Esempio |
---|---|---|
int() |
Converte i dati in numero intero |
Utile in particolare per il calcolo delle dimensioni dei profili.
|
double() |
Converte i dati in doppia precisione |
|
string() |
Converte i dati in tipo stringa |
|
imp() |
Converte le unità imperiali Utilizzare questa funzione nei calcoli invece delle unità imperiali. Non è possibile utilizzare le unità imperiali direttamente nei calcoli. |
Per i seguenti esempi, l'unità di lunghezza è impostata su mm e i decimali sono impostati su 2 nella finestra di dialogo Opzioni.
|
vwu(value, unit) |
Converte i valori di lunghezza e di angolo. Le unità disponibili sono:
|
|
Le unità dipendono dalle impostazioni nel .
Operazioni su stringhe
Utilizzare le operazioni su stringhe per gestire le stringhe di caratteri. Le stringe devono essere racchiuse tra virgolette nelle formule delle variabili.
È possibile utilizzare le seguenti operazioni su stringhe:
Operazione |
Descrizione |
Esempio (P1 = "PL100*10") |
---|---|---|
match(parameter1, parameter2) |
Restituisce 1 se i parametri sono uguali e 0 se differiscono. È inoltre possibile utilizzare i caratteri jolly |
Accetta tutti i profili che iniziano con PFC: Accetta i profili che iniziano con PFC e altezze che iniziano con 2, 3, 4 o 5: Accetta i profili che iniziano con PFC, altezze corrispondenti a 200, 300, 400 o 500 e larghezze che iniziano con 7: |
length(parameter) |
Restituisce il numero di caratteri nel parametro. |
|
find(parameter, string) |
Restituisce il numero di ordine (a partire da zero) della stringa specificata e -1 se tale stringa non viene trovata dal parametro. |
|
getat(parameter, n) |
Restituisce l'ennesimo (a partire da zero) carattere del parametro. |
|
setat(parameter, n, character) |
Imposta l'ennesimo (a partire da zero) carattere rispetto al carattere specificato nel parametro. |
|
mid(string, n, x) |
Restituisce x caratteri della stringa a partire dall'ennesimo carattere (a partire da zero). Se si esclude l'ultimo argomento (x), restituisce l'ultima parte della stringa. |
|
reverse(string) |
Inverte la stringa specificata. |
|
Esempio 1
Per definire le dimensioni di profilo PL100*10 con due variabili P2 = 100 e P3 = 10, immettere la formula come segue:
="PL"+P2+"*"+P3
Esempio 2
Tekla Structures gestisce i passi bulloni come stringhe. Per definire il passo bulloni, impostare Tipo valore su Elenco distanze e immettere la formula come segue:
=P1+" "+P2
Il risultato è 100 200, se P1 = 100 (lunghezza) e P2 = 200 (lunghezza).
Funzioni trigonometriche
Utilizzare le funzioni trigonometriche per calcolare gli angoli. È possibile utilizzare le seguenti funzioni trigonometriche:
Funzione | Descrizione | Esempio |
---|---|---|
sin() | Restituisce il valore del seno |
|
cos() | Restituisce il valore del coseno |
|
tan() | Restituisce il valore della tangente |
|
asin() |
Funzione inversa di sin(), restituisce il valore in radianti |
|
acos() |
Funzione inversa di cos(), restituisce il valore in radianti |
|
atan() |
Funzione inversa di tan(), restituisce il valore in radianti |
|
sinh() | Restituisce il valore del seno iperbolico |
|
cosh() | Restituisce il valore del coseno iperbolico |
|
tanh() | Restituisce il valore della tangente iperbolica |
|
atan2() | Restituisce l'angolo la cui tangente è il quoziente dei due numeri. Restituisce il valore in radianti |
|
Quando si utilizzano le funzioni trigonometriche nelle formule delle variabili, è necessario includere un prefisso per definire l'unità. Se non si include un prefisso, Tekla Structures utilizza i radianti come unità di default.
-
d sta per degree (angolo). Ad esempio,
sin(d180)
-
r sta per radianti (default). Ad esempio,
sin(r3.14)
osin(3.14)
Funzione della dimensione di commercio
Utilizzare la funzione della dimensione di commercio in un componente personalizzato per selezionare una dimensione del piatto idonea (in genere spessore del piatto) tra le dimensioni di commercio disponibili. Ad esempio, lo spessore di un piatto deve corrispondere all'anima di una trave.
Funzione |
Descrizione |
Esempio |
---|---|---|
fMarketSize(material, thickness, extrastep) |
Restituisce la dimensione di mercato disponibile successiva per il materiale dal file marketsize.dat in base allo spessore specificato. Il file deve trovarsi nella cartella ..\environments\your_environment\profil o nella cartella di sistema. Per incremento extra immettere un numero per definire l'incremento alla dimensione successiva (valore di default 0). |
|
Esempio
In questo esempio sono presenti i seguenti dati in 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
Il primo elemento di una riga specifica il materiale, seguito dagli spessori di piatti disponibili in millimetri. La riga DEFAULT elenca gli spessori disponibili in tutte le altre classi di materiale.
Con i dati sopra riportati, la funzione =fMarketSize("S235JR",10,0)
restituisce 12, mentre la funzione =fMarketSize("S235JR",10,1)
restituisce 16 (la dimensione immediatamente successiva).
Funzioni della condizione di vincolo geometrico
Utilizzare le funzioni della condizione di vincolo geometrico per restituire l'angolo di inclinazione, pendenza e rotazione della trave secondaria rispetto alla parte principale (colonna o trave). È possibile utilizzare le seguenti funzioni della condizione di vincolo geometrico:
Funzione |
Descrizione |
Esempio |
---|---|---|
fAD("skew", GUID) |
Restituisce l'angolo di inclinazione della parte secondaria con GUID specificato.
|
ID50B8559A-0000-010B-3133-353432373038 è il GUID della parte secondaria che è con un angolo di 45 gradi rispetto alla parte principale. |
fAD("slope", GUID) |
Restituisce l'angolo di pendenza della parte secondaria con GUID specificato.
|
|
fAD("cant", GUID) |
Restituisce l'angolo di rotazione della parte secondaria ruotata con il GUID specificato.
|
|
-
Queste funzioni non restituiscono valori di angolo di inclinazione e pendenza positivi e negativi. Non è possibile determinare l'angolo di pendenza superiore e inferiore e l'inclinazione sinistra o destra con queste funzioni.
-
L'angolo di inclinazione massimo restituibile è di 45 gradi.
-
Tekla Structures calcola gli angoli in 2D in modo che pendenza e inclinazione siano isolate l'una dall'altra. Ad esempio, l'angolo di inclinazione non viene preso in considerazione quando si calcolo l'angolo di pendenza, ovvero il valore dell'angolo di pendenza rimane invariato indipendentemente dalla rotazione della parte secondaria attorno alla parte principale.
Per trovare la pendenza reale 3D con l'inclinazione inclusa, è possibile utilizzare la seguente formula matematica:
TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))
Esempio 1
Pendenza e inclinazione sono relative alla struttura di una trave in una colonna.
Vista laterale |
Vista superiore |
|
|
- Colonna
- Trave
- Pendenza
- Inclinazione
Esempio 2
Con due travi, la pendenza corrisponde in effetti all'inclinazione orizzontale della struttura della trave nell'altra trave, mentre la pendenza verticale della trave rispetto alla principale corrisponde all'angolo di inclinazione.
Vista laterale |
Vista superiore |
|
|
- Inclinazione
- Pendenza