Functies in variabeleformules

Tekla Structures
2021
Tekla Structures

Rekenkundige operatoren

Gebruik rekenkundige operatoren om uitdrukkingen die numerieke waarden als resultaat geven te combineren. U kunt de volgende rekenkundige operatoren gebruiken:

 

Operator

Beschrijving

Opmerkingen

+

optellen

Ook te gebruiken bij het maken van tekenreeksen en parameters.

-

aftrekken

 

*

vermenigvuldigen

Vermenigvuldigen gaat sneller dan delen.

=D1*0,5 is sneller dan =D1/2

/

delen door

 

Logische en vergelijkingsoperatoren

Gebruik logische en vergelijkingsoperatoren binnen if-instructies. U kunt if-then-else-instructies gebruiken voor het testen van een voorwaarde en om van de waarde op basis van het resultaat in te stellen.

Bijvoorbeeld:

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

U kunt de volgende operatoren binnen if-instructies gebruiken:

 

Operator

Beschrijving

Voorbeeld

==

beide zijden zijn gelijk

 

!=

zijden zijn niet gelijk

 

<

linkerzijde is kleiner

 

<=

linkerzijde is kleiner of gelijk

 

>

rechterzijde is kleiner

 

>=

rechterzijde is kleiner of gelijk

 

&&

Logisch EN

aan beide voorwaarden moet worden voldaan

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

Als D1 is 200 en D2 kleiner dan 40, dan is het resultaat 6, anders 0.

||

logisch OF

alleen aan één voorwaarde moet worden voldaan

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

Als D1 is 200 of D2 is kleiner dan 40, dan is het resultaat 6, anders 0.

Referentiefuncties

Gebruik referentiefuncties om naar de eigenschap van een ander object zoals de plaatdikte van een aansluitend onderdeel te verwijzen. Tekla Structures verwijst naar het object op het systeemniveau. Dus als de objecteigenschap wijzigt, wijzigt de waarde van de referentiefunctie ook.

U kunt de volgende referentiefuncties gebruiken:

 

Functie

Beschrijving

Voorbeeld

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

Geeft als resultaat de template-attribuutwaarde van een object dat een bepaald object-GUID heeft.

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

geeft als resultaat het gewicht van een object waarvan de GUID ID50B8559A-0000-010B-3133-353432373038 is.

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

Geeft als resultaat de gebruikersattribuutwaarde van een object dat een bepaald object-GUID heeft.

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

geeft als resultaat het commentaar van gebruikersattribuut van een object met GUID ID50B8559A-0000-010B-3133-353432373038.

fValueOf("parameter")

Geeft als resultaat de waarde van de parameter.

Bij een vergelijking =P2+"*"+P3 is het resultaat P2*P3

Bij =fValueOf("P2")+"*"+fValueOf("P3"), waar P2=780 en P3=480, is het resultaat 780*480

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

Geeft als resultaat de waarde van de wapeningsstaafdatabase van een object.

Usage kan 2 ("spanstaaf") of 1 ("hoofdonderdeel") zijn.

FieldName moet een van de volgende zijn:

  • 0 NominaleDiameter
  • 1 WerkelijkeDiameter
  • 2 Gewicht
  • 3 MinRadius
  • 4 Haak1Radius
  • 5 Haak1Hoek
  • 6 Haak1Lengte
  • 7 HaakRadius
  • 8 Haak2Hoek
  • 9 Haak2Lengte
  • 10 Haak3Radius
  • 11 Haak3Hoek
  • 12 Haak3Lengte
  • 13 Gebied

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

geeft als resultaat de grootte, het gebruik en het gewicht van een object waarvan de kwaliteit van de wapeningsstaaf A500HW is.

ASCII-bestand als een referentiefunctie

U kunt naar ASCII-bestanden verwijzen om gegevens te krijgen. Tekla Structures zoekt in de volgende volgorde naar de bestanden:

  1. model

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

  3. project (ingesteld met geavanceerde optie XS_PROJECT)

  4. bedrijf (ingesteld met geavanceerde optie XS_FIRM)

  5. systeem (ingesteld met geavanceerde optie XS_SYSTEM)

De indeling voor het lezen van bestanden is als volgt:

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

  • Sleutelwaarde van de rij is een unieke tekstwaarde.

  • Kolomnummer is een index die begint bij 1.

U kunt een teken opgeven voor de gegevensscheiding: fVF(data file, lookup value, column#[, separator character]).

  • U kunt een willekeurig kolomscheidingsteken gebruiken. Dit geeft ondersteuning voor spaties in namen, profielen, vormen, enzovoort, en ook voor het gebruik van afstandslijsten als invoer.

  • U kunt blanco of lege tekstvelden als invoer gebruiken.

  • U kunt slechts één teken als een scheidingsteken gebruiken. U kunt bijvoorbeeld geen complex scheidingsteken zoals gebruiken "/+/", omdat alleen het eerste teken als een kolomscheidingsteken wordt beschouwd.

Voorbeeld

De functie =fVF("Overlap.dat", "MET-202Z25", 5) is in het vak Formule in het dialoogvenster Variabelen. De functie krijgt de waarde 16.0 voor het profiel MET-202Z25 van het bestand Overlap.dat.

  1. Sleutelwaarde van de rij (MET-202Z25)

  2. Kolomnummer (5)

Wiskundige functies

Gebruik wiskundige functies om complexere wiskundige uitdrukkingen te maken. U kunt de volgende functies gebruiken:

 

Functie

Beschrijving

Voorbeeld

fabs(parameter)

Geeft als resultaat de absolute waarde van de parameter

=fabs(D1) geeft als resultaat 15

als D1 = -15

exp(macht)

Geeft als resultaat e tot de macht

e is het getal van Euler.

=exp(D1) geeft als resultaat 7,39

als D1 = 2

ln(parameter)

Geeft het natuurlijke logaritme van de parameter (basiswaarde e)

=ln(P2) geeft als resultaat 2,71

als P2 = 15

log(parameter)

Geeft als resultaat de logaritme van de parameter (basiswaarde 10)

=log(D1) geeft als resultaat 2

als D1=100

sqrt(parameter)

Geeft als resultaat de vierkantswortel van de parameter

=sqrt(D1) geeft als resultaat 4

als D1 = 16

mod(deeltal, deler)

Geeft als resultaat de modulus van de deling

=mod(D1, 5) geeft als resultaat 1

als D1 = 16

pow(basiswaarde, macht)

Geeft als resultaat de basiswaarde vermenigvuldigd met de gespecificeerde macht

=pow(D1, D2) geeft als resultaat 9

als D1 = 3 en D2 = 2

hypot(zijde1,zijde2)

Geeft als resultaat de hypotenusa (schuine zijde)

  1. zijde 1

  2. hypotenusa

  3. zijde 2

=hypot(D1, D2) geeft als resultaat 5

als D1 = 3 en D2 = 4

n!(parameter)

Geeft als resultaat de faculteit van de parameter

=n!(P2) geeft als resultaat 24

als P2 = 4

(1*2*3*4)

round(parameter, nauwkeurigheid)

Geeft als resultaat de parameter afgerond met de opgegeven nauwkeurigheid

=round(P1, 0.1) geeft als resultaat 10,600

als P1 = 10,567

PI

Geeft als resultaat de waarde van pi op 31 decimalen

=PI geeft als resultaat 3,1415926535897932384626433832795

Statistische functies

Gebruik statistische functies om hoeveelheden en gemiddelden te berekenen en waarden af te ronden. U kunt de volgende statistische functies gebruiken:

 

Functie

Beschrijving

Voorbeeld (P1 = 1.4 P2 = 2.3)

ceil()

Geeft als resultaat het kleinste gehele getal groter dan of gelijk aan de parameter

=ceil(P1) geeft als resultaat 2

floor()

Geeft als resultaat het grootste gehele getal kleiner dan of gelijk aan de parameter

=floor(P1) geeft als resultaat 1

min()

Geeft als resultaat de kleinste parameter

=min(P1, P2) geeft als resultaat 1,4

max()

Geeft als resultaat de grootste parameter

=max(P1, P2) geeft als resultaat 2,3

sum()

Som van de parameters

=sum(P1, P2) geeft als resultaat 3,7

sqsum()

Som van de gekwadrateerde parameters: (parameter1)2 + (parameter2)2

=sqsum(P1, P2) geeft als resultaat 7,25

ave()

Gemiddelde van de parameters

=ave(P1, P2) geeft als resultaat 1,85

sqave()

Gemiddelde van de gekwadrateerde parameters

=sqave(P1, P2) geeft als resultaat 3,625

Voorbeeld: Statistische functies voor ceil en vloer

In dit voorbeeld hebt u de volgende parametrische variabelen:

  • Lengte ligger: P1 = 3500

  • Tussenafstand kolom: P2 = 450

P1/P2 = 7,7778

U kunt de statistische functies ceil en floor gebruiken voor het afronden van de waarde. Vervolgens gebruikt u de afgeronde waarde voor het aantal liggerkolommen:

  • =ceil(P1/P2) geeft als resultaat 8

  • =floor(P1/P2) geeft als resultaat 7

Conversiefuncties van gegevenstypen

Gebruik conversiefuncties van het gegevenstype om waarden naar een ander gegevenstype te converteren. U kunt de volgende conversiefuncties van het gegevenstype gebruiken:

 

Functie

Beschrijving

Voorbeeld

int()

Zet data om naar integer

Vooral nuttig voor berekenen van profieldimensies:

=int(100.0132222000) geeft 100 als de decimalen in het dialoogvenster Opties op 0 zijn ingesteld

double()

Zet data om naar dubbel

 

string()

Zet data om naar string

 

imp()

 

Converteert inches

Gebruik deze functie bij berekeningen in plaats van inches. U kunt geen inches gebruiken bij berekeningen.

Voor de volgende voorbeelden is in het dialoogvenster Opties de lengte-eenheid ingesteld op mm en de decimalen op 2.

=imp(1,1,1,2) wat betekent dat 1 foot 1 1/2 inch gelijk is aan 342,90 mm

=imp(1,1,2) wat betekent dat 1 1/2 inches gelijk is aan 38,10 mm

=imp(1,2) wat betekent dat 1/2 inch gelijk is aan 12,70 mm

=imp(1) wat betekent dat 1 inch gelijk is aan 25,40 mm

=3’/3" kan niet, maar =imp(36)/imp(3) kan wel

vwu(waarde, eenheid)

Converteert de lengte- en de hoekwaarden. De beschikbare eenheden zijn:

  • "ft" ("feet", "foot")

  • "in" ("inch", "inches")

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

=vwu(4.0,"in") geeft 101,60 mm als in het dialoogvenster Opties de lengte-eenheid is ingesteld op mm en de decimalen op 2.

=vwu(2.0,"rad") geeft 114,59 graden als in het dialoogvenster Opties de hoek is ingesteld op graden en de decimalen op 2.

Opmerking:

De eenheden hangen af van de instellingen in het menu Bestand > Instellingen > Opties > Eenheden en decimalen.

Stringbewerkingen

Gebruik stringbewerkingen om strings te manipuleren. Strings moeten binnen variabeleformules tussen aanhalingstekens staan.

U kunt de volgende stringbewerkingen gebruiken:

 

Bewerking

Beschrijving

Voorbeeld (P1 = "PL100*10")

match(parameter1, parameter2)

Geeft als resultaat 1 als parameters gelijk zijn en 0 indien verschillend.

U kunt ook jokertekens *, ? en [ ] met de match-functie gebruiken.

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

Alle profielen accepteren die beginnen met PFC: =match(P4, "PFC*")

Accepteer profielen die met PFC beginnen en hoogte die met 2, 3, 4 of 5 begint: =match(P4, "PFC[2345]*")

Accepteer profielen die met PFC beginnen, hoogten 200, 300, 400 of 500 hebben en breedte met 7 begint: =match(P4, "PFC[2345]00?7*")

length(parameter)

Geeft als resultaat het aantal tekens in de parameter.

=length(P1) geeft 8

find(parameter, string)

Geeft als resultaat het ordernummer (beginnend bij nul) van de gespecificeerde string en -1 als de gespecificeerde string niet in de parameter wordt gevonden.

=find(P1, "*") geeft 5

getat(parameter, n)

Geeft als resultaat het teken n:th (beginnend bij nul) van de parameter.

=getat(P1, 1) geeft "L"

setat(parameter, n, character)

Stelt het teken n:th (beginnend bij nul) in op het gespecificeerde teken in de parameter.

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

mid(string, n, x)

Geeft x-tekens van de string beginnend bij het teken n:th (beginnend bij nul). Geeft bij weglaten van het laatste argument (x) als resultaat het laatste onderdeel van de string.

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

reverse(string)

Keert de opgegeven string om.

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

Voorbeeld 1

Als u de profielgrootte PL100*10 met twee variabelen P2 = 100 en P3 = 10 wilt definiëren, voert u de volgende formule in:

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

Voorbeeld 2

Tekla Structures behandelt boutafstanden als strings. Als u boutafstanden wilt definiëren, stelt u Type waarde in op Afstandslijst en voert u de formule als volgt in:

=P1+" "+P2

Dit heeft als resultaat 100 200 als P1 = 100 (lengte) en P2 = 200 (lengte).

Trigonometrische functies

Gebruik trigonometrische functies om hoeken te berekenen. U kunt de volgende trigonometrische functies gebruiken:

 

Functie

Beschrijving

Voorbeeld

sin()

Geeft als resultaat de sinuswaarde

=sin(d45) geeft als resultaat 0,71

cos()

Geeft als resultaat de cosinuswaarde

=cos(d45) geeft als resultaat 0,71

tan()

Geeft als resultaat de tanguswaarde

=tan(d45) geeft als resultaat 1,00

asin()

Omgekeerde functie van sin(), waarde in radialen

=asin(1) geeft als resultaat 1,571 rad

acos()

Omgekeerde functie van cos(), waarde in radialen

=acos(1) geeft als resultaat 0 rad

atan()

Omgekeerde functie van tan(), waarde in radialen

=atan(1) geeft als resultaat 0,785 rad

sinh()

Geeft als resultaat de hyperbolische sinuswaarde

=sinh(d45) geeft als resultaat 0,87

cosh()

Geeft als resultaat de hyperbolische cosinuswaarde

=cosh(d45) geeft als resultaat 1,32

tanh()

Geeft als resultaat de hyperbolische tanguswaarde

=tanh(d45) geeft als resultaat 0,66

atan2()

Geeft als resultaat de hoek waarvan de raaklijn aan de cirkel het quotiënt is van de twee getallen. Waarde in radialen

=atan2(1,3) geeft als resultaat 0,32

Opmerking:

Als u trigonometrische functies gebruikt in variabeleformules, moet u een prefix toevoegen voor het definiëren van de eenheid. Als u geen prefix toevoegt, gebruikt Tekla Structures radialen als standaardeenheid.

  • d is graden. Bijvoorbeeld sin(d180)

  • r is radialen (standaard). Bijvoorbeeld sin(r3.14) of sin(3.14)

Marktmaatfunctie

U kunt de marktmaatfunctie in een gebruikerscomponent gebruiken om een geschikte plaatafmeting (meestal plaatdikte) uit de beschikbare marktmaten te selecteren. De dikte van een plaat moet bijvoorbeeld bij het lijf van een ligger passen.

 

Functie

Beschrijving

Voorbeeld

fMarketSize(materiaal, dikte, extra stap)

Geeft de eerstvolgende beschikbare marktmaat voor het materiaal uit het bestand marketsize.dat, gebaseerd op de gespecificeerde dikte.

Het bestand moet opgeslagen zijn in de map ..\environments\your_environment\profil of in de systeemmap.

Voor extra stap voert u een getal in voor het definiëren van de toename naar de volgende maat (standaard is 0).

=fMarketSize("S235JR", 10, 0)

Voorbeeld

In dit voorbeeld hebt u de volgende gegevens 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

Het eerste item in een rij is een materiaalkwaliteit gevolgd door de beschikbare plaatdikte in millimeters. Op de regel DEFAULT staan alle dikten die voor materialen met een andere kwaliteitsklasse beschikbaar zijn.

Met bovenstaande gegevens geeft de functie =fMarketSize("S235JR",10,0) de waarde 12 en =fMarketSize("S235JR",10,1) de waarde 16 (één maat groter).

Kadervoorwaardefuncties

Met de kadervoorwaardefuncties worden de schuinte, helling en kantelhoek van de aansluitende ligger ten opzichte van het hoofdonderdeel (kolom of ligger) als resultaat gegeven. U kunt de volgende kadervoorwaardefuncties gebruiken:

 

Functie

Beschrijving

Voorbeeld

fAD("schuin", GUID)

Geeft als resultaat de schuine hoek van het aansluitende onderdeel waarvan de GUID is opgegeven.

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

ID50B8559A-0000-010B-3133-353432373038 is de GUID van het aansluitende onderdeel dat in een hoek van 45 graden ten opzichte van het hoofdonderdeel staat.

fAD("helling", GUID)

Geeft als resultaat de hellingshoek van het aansluitende onderdeel waarvan de GUID is opgegeven.

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

fAD("kantel", GUID)

Geeft als resultaat de kantelhoek van het geroteerde onderdeel waarvan de GUID is opgegeven.

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

Opmerking:
  • Deze functies geven geen positieve en negatieve waarden voor hellingen en schuinten. Het is niet mogelijk om met deze functies een stijgende of dalende helling te bepalen of een linker of rechter schuinte.

  • De maximaal als resultaat te geven hoek is 45 graden.

  • Tekla Structures berekent de hoeken in 2D zodat de helling en de schuinte van elkaar gescheiden zijn. Met de schuine hoek wordt bijvoorbeeld geen rekening gehouden bij het berekenen van de hellingshoek, wat betekent dat de waarde van de hellingshoek hetzelfde blijft, ongeacht de rotatie van het aansluitende onderdeel rondom het hoofdonderdeel.

    Als u de werkelijke 3D-helling met de opgenomen schuinte wilt weten, kunt u de volgende wiskundige formule gebruiken:

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

Voorbeeld 1

De helling en de schuinte zijn relatief ten opzichte van een ligger in een kolom.

 

Zijaanzicht

Bovenaanzicht

  1. Kolom
  2. Balk
  3. Helling
  4. Schuin

Voorbeeld 2

Met twee liggers is de helling feitelijk de horizontale schuinte van de ligger die in de andere ligger schuift en de verticale helling van de ligger ten opzichte van het hoofdonderdeel is feitelijk de schuinte-hoek.

 

Zijaanzicht

Bovenaanzicht

  1. Schuin
  2. Helling
Was dit nuttig?
Vorige
Volgende