Funzioni nelle formule delle variabili

Tekla Structures
Modificato: 6 Dic 2022
2024
Tekla Structures

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.

=D1*0,5 è un'operazione più rapida di =D1/2

/

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

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

Se D1 è 200 e D2 è minore di 40, il risultato è 6, altrimenti è 0.

||

OR logico

deve essere true una sola condizione

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

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

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

Restituisce il valore di attributo template di un oggetto con un GUID oggetto specificato.

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

restituisce il peso di un oggetto con GUID ID50B8559A-0000-010B-3133-353432373038.

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

Restituisce il valore dell'attributo utente di un oggetto con un GUID oggetto specificato.

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

restituisce l'attributo utente commento di un oggetto con GUID ID50B8559A-0000-010B-3133-353432373038.

fValueOf("parameter")

Restituisce il valore del parametro.

Se l'equazione è =P2+"*"+P3, il risultato è P2*P3

Con =fValueOf("P2")+"*"+fValueOf("P3"), dove P2=780 e P3=480, il risultato è 780*480

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

Restituisce il valore del catalogo delle barre d'armatura di un oggetto.

Usage può essere 2 ("Tie") o 1 ("Main").

FieldName deve essere uno dei seguenti:

  • 0 NominalDiameter
  • 1 ActualDiameter
  • 2 Weight
  • 3 MinRadius
  • 4 Hook1Radius
  • 5 Hook1Angle
  • 6 Hook1Length
  • 7 HookRadius
  • 8 Hook2Angle
  • 9 Hook2Length
  • 10 Hook3Radius
  • 11 Hook3Angl
  • 12 Hook3Length
  • 13 Area

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

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:

  1. modello

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

  3. progetto (impostare con l'opzione avanzata XS_PROJECT)

  4. azienda (impostare con l'opzione avanzata XS_FIRM)

  5. 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.

  1. Valore chiave della riga (MET-202Z25)

  2. 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

=fabs(D1) restituisce 15

se D1 = -15

exp(power)

Restituisce e elevato a potenza

e è il numero di Eulero.

=exp(D1) restituisce 7.39

se D1 = 2

ln(parameter)

Restituisce il logaritmo naturale del parametro (numero di base e)

=ln(P2) restituisce 2.71

se P2 = 15

log(parameter)

Restituisce il logaritmo del parametro (numero di base 10)

=log(D1) restituisce 2

se D1=100

sqrt(parameter)

Restituisce la radice quadrata del parametro

=sqrt(D1) restituisce 4

se D1 = 16

mod(dividend, divider)

Restituisce il modulo della divisione

=mod(D1, 5) restituisce 1

se D1 = 16

pow(base number, power)

Restituisce il numero di base elevato alla potenza specificata

=pow(D1, D2) restituisce 9

se D1 = 3 e D2 = 2

hypot(side1,side2)

Restituisce l'ipotenusa

  1. lato1

  2. ipotenusa

  3. lato2

=hypot(D1, D2) restituisce 5

se D1 = 3 e D2 = 4

n!(parameter)

Restituisce il fattoriale del parametro.

=n!(P2) restituisce 24

se P2 = 4

(1*2*3*4)

round(parameter, accuracy)

Restituisce il parametro arrotondato alla precisione specificata

=round(P1, 0.1) restituisce 10.600

se P1 = 10.567

PI

Restituisce il valore pi con 31 decimali

=PI restituisce 3.1415926535897932384626433832795

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

=ceil(P1) restituisce 2

floor()

Restituisce il numero intero più grande minore o uguale al parametro

=floor(P1) restituisce 1

min()

Restituisce il parametro più piccolo

=min(P1, P2) restituisce 1.4

max()

Restituisce il parametro più grande

=max(P1, P2) restituisce 2.3

sum()

Somma dei parametri

=sum(P1, P2) restituisce 3.7

sqsum()

Somma dei parametri elevati al quadrato: (parametro1)2 + (parametro2)2

=sqsum(P1, P2) restituisce 7.25

ave()

Media dei parametri

=ave(P1, P2) restituisce 1.85

sqave()

Media dei parametri elevati al quadrato

=sqave(P1, P2) restituisce 3.625

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.

=int(100.0132222000) restituisce 100, se i decimali sono impostati su 0 nella finestra di dialogo Opzioni.

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.

=imp(1,1,1,2) implica che 1 piede e 1,5 pollici restituisce 342,90 mm

=imp(1,1,2) implica che 1,5 pollici restituisce 38,10 mm

=imp(1,2) implica che 0,5 pollici restituisce 12,70 mm

=imp(1) implica che 1 pollice restituisce 25,40 mm

=3’/3" non è possibile, ma =imp(36)/imp(3) è corretto

vwu(value, unit)

Converte i valori di lunghezza e di angolo. Le unità disponibili sono:

  • "ft" ("piedi", "piede")

  • "in" ("pollice", "pollici")

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

=vwu(4.0,"in") restituisce 101,60 mm, se l'unità di lunghezza è impostata su mm e i decimali sono impostati su 2 nella finestra di dialogo Opzioni

=vwu(2.0,"rad") restituisce 114,59 gradi se l'angolo è impostato sui gradi e i decimali sono impostati su 2 nella finestra di dialogo Opzioni

Nota:

Le unità dipendono dalle impostazioni nel menu File > Impostazioni > Opzioni > Unità e decimali.

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 *, ? e [ ] con la funzione di corrispondenza.

=match(P1, "PL100*10") restituisce 1

Accetta tutti i profili che iniziano con PFC: =match(P4, "PFC*")

Accetta i profili che iniziano con PFC e altezze che iniziano con 2, 3, 4 o 5: =match(P4, "PFC[2345]*")

Accetta i profili che iniziano con PFC, altezze corrispondenti a 200, 300, 400 o 500 e larghezze che iniziano con 7: =match(P4, "PFC[2345]00?7*")

length(parameter)

Restituisce il numero di caratteri nel parametro.

=length(P1) restituisce 8

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.

=find(P1, "*") restituisce 5

getat(parameter, n)

Restituisce l'ennesimo (a partire da zero) carattere del parametro.

=getat(P1, 1) restituisce "L"

setat(parameter, n, character)

Imposta l'ennesimo (a partire da zero) carattere rispetto al carattere specificato nel parametro.

=setat(P1, 0, "B") restituisce "BL100*10"

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.

=mid(P1,2,3) restituisce "100"

reverse(string)

Inverte la stringa specificata.

=reverse(P1) restituisce "01*001LP"

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

=sin(d45) restituisce 0.71

cos()

Restituisce il valore del coseno

=cos(d45) restituisce 0.71

tan()

Restituisce il valore della tangente

=tan(d45) restituisce 1.00

asin()

Funzione inversa di sin(), restituisce il valore in radianti

=asin(1) restituisce 1.571 rad

acos()

Funzione inversa di cos(), restituisce il valore in radianti

=acos(1) restituisce 0 rad

atan()

Funzione inversa di tan(), restituisce il valore in radianti

=atan(1) restituisce 0.785 rad

sinh()

Restituisce il valore del seno iperbolico

=sinh(d45) restituisce 0.87

cosh()

Restituisce il valore del coseno iperbolico

=cosh(d45) restituisce 1.32

tanh()

Restituisce il valore della tangente iperbolica

=tanh(d45) restituisce 0.66

atan2()

Restituisce l'angolo la cui tangente è il quoziente dei due numeri. Restituisce il valore in radianti

=atan2(1,3) restituisce 0.32

Nota:

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) o sin(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).

=fMarketSize("S235JR", 10, 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.

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") restituisce 45

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("slope","ID50B8559A-0000-010B-3133-353432373038")

fAD("cant", GUID)

Restituisce l'angolo di rotazione della parte secondaria ruotata con il GUID specificato.

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

Nota:
  • 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

  1. Colonna
  2. Trave
  3. Pendenza
  4. 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

  1. Inclinazione
  2. Pendenza
È stato utile?
Precedente
Successivo