Functies in variabeleformules

Tekla Structures
2019i
Tekla Structures

Functies in variabeleformules

U kunt functies gebruiken om waarden voor parametrische variabelen te berekenen. Variabeleformules beginnen altijd met het is-gelijk-teken (=).

Raadpleeg voor meer informatie Objecteigenschappen instellen door parametrische variabelen te gebruiken.

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 te verwijzen, zoals de plaatdikte van een aansluitend onderdeel. 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 templateattribuutwaarde 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.

Als de vergelijking =P2+"*"+P3 is, is het resultaat P2*P3

Met =fValueOf("P2")+"*"+fValueOf("P3") , waarbij 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.

Gebruik kan 2 (spanstaaf) of 1 (hoofdonderdeel) zijn.

FieldName moet één van de volgende zijn:

  • 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)

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 verkrijgen. Tekla Structures zoekt in de volgende volgorde naar de bestanden:

  1. model

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

  3. project (ingesteld met variabele XS_PROJECT )

  4. bedrijf (ingesteld met variabele XS_FIRM )

  5. systeem (ingesteld met variabele XS_SYSTEM )

De indeling voor het lezen van bestanden is als volgt:

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

  • Sleutelwaarde van rij is een unieke tekstwaarde.

  • Kolomnummer is een index die begint bij 1.

Note:

Voer een spatie aan het einde van elke rij in het ASCII-bestand in. Anders wordt de informatie niet juist gelezen.

Voorbeeld

De functie =fVF("Overlap.dat", "MET-202Z25", 5) staat in het vak Formule in het dialoogvenster Variabelen. De functie krijgt de waarde 16,0 voor het profiel MET-202Z25 uit 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 datatypen

De 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 als resultaat 100 als de decimalen in het dialoogvenster Opties op 0 zijn ingesteld

double()

Zet data om naar double

 

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) betekent 1 voet 1 1/2 inch geeft 342,90 mm als resultaat

=imp(1,1,2) betekent 1 1/2 inch geeft 38,10 mm als resultaat

=imp(1,2) betekent 1/2 inch geeft 12,70 mm als resultaat

=imp(1) betekent 1 inch geeft 25,40 mm als resultaat

=3’/3" is niet mogelijk, maar =imp(36)/imp(3) is goed.

vwu(waarde, eenheid)

Converteert de lengte- en 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 resultaat als in het dialoogvenster Opties de lengte-eenheid op mm en de decimalen op 2 is ingesteld.

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

Note:

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

Tekenreeksbewerkingen

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

U kunt de volgende tekenreeksbewerkingen gebruiken:

Bewerking

Beschrijving

Voorbeeld (P1 = "PL100*10")

match(parameter1, parameter2)

Geeft 1 als parameters gelijk zijn en 0 is verschillend.

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

=match(P1, "PL100*10") geeft als resultaat 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 als resultaat 8

find(parameter, tekenreeks)

Geeft als resultaat het ordernummer (beginnend bij nul) van de gespecificeerde tekenreeks en -1 is de gespecificeerde tekenreeks niet is opgebouwd uit de parameter.

=find(P1, "*") geeft als resultaat 5

getat(parameter, n)

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

=getat(P1, 1) geeft als resultaat "L"

setat(parameter, n, teken)

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

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

mid(tekenreeks, n, x)

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

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

reverse(tekenreeks)

Keert de opgegeven tekenreeks om.

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

Voorbeeld 1

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

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

Voorbeeld 2

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

=P1+" "+P2

Dit geeft 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

Note:

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)

Stripmaatfunctie

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 passen bij het lijf van een ligger.

Functie

Beschrijving

Voorbeeld

fMarketSize(materiaal, dikte, extrastep)

Geeft de eerstvolgende beschikbare markmaat voor het materiaal van het bestand marketsize.dat als resultaat op basis van de door u gespecificeerde dikte.

Het bestand moet zich in de map ..\environments\your_environment\profil of de systeemmap bevinden.

Voor extrastep 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 zou de functie =fMarketSize("S235JR",10,0) 12 als resultaat geven en =fMarketSize("S235JR",10,1) zou 16 als resultaat geven (één maat groter).

Functies kadervoorwaarden

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("skew", GUID)

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

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") geeft als resultaat 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("slope", GUID)

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

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

fAD("cant", GUID)

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

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

Note:
  • 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. Schuinte

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. Skew
  2. Lossing
Was this helpful?
Vorige
Volgende