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.
|
/ |
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 |
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 |
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 |
---|---|---|
|
Geeft als resultaat de template-attribuutwaarde van een object dat een bepaald object-GUID heeft. |
geeft als resultaat het gewicht van een object waarvan de GUID ID50B8559A-0000-010B-3133-353432373038 is. |
|
Geeft als resultaat de gebruikersattribuutwaarde van een object dat een bepaald object-GUID heeft. |
geeft als resultaat het commentaar van gebruikersattribuut van een object met GUID ID50B8559A-0000-010B-3133-353432373038. |
|
Geeft als resultaat de waarde van de parameter. |
Bij een vergelijking Bij |
|
Geeft als resultaat de waarde van de wapeningsstaafdatabase van een object.
|
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:
-
model
-
..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\
-
project (ingesteld met geavanceerde optie
XS_PROJECT
) -
bedrijf (ingesteld met geavanceerde optie
XS_FIRM
) -
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.
-
Sleutelwaarde van de rij (MET-202Z25)
-
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 |
als D1 = -15 |
exp(macht) |
Geeft als resultaat e tot de macht e is het getal van Euler. |
als D1 = 2 |
ln(parameter) |
Geeft het natuurlijke logaritme van de parameter (basiswaarde e) |
als P2 = 15 |
log(parameter) |
Geeft als resultaat de logaritme van de parameter (basiswaarde 10) |
als D1=100 |
sqrt(parameter) |
Geeft als resultaat de vierkantswortel van de parameter |
als D1 = 16 |
mod(deeltal, deler) |
Geeft als resultaat de modulus van de deling |
als D1 = 16 |
pow(basiswaarde, macht) |
Geeft als resultaat de basiswaarde vermenigvuldigd met de gespecificeerde macht |
als D1 = 3 en D2 = 2 |
hypot(zijde1,zijde2) |
Geeft als resultaat de hypotenusa (schuine zijde)
|
als D1 = 3 en D2 = 4 |
n!(parameter) |
Geeft als resultaat de faculteit van de parameter |
als P2 = 4 (1*2*3*4) |
round(parameter, nauwkeurigheid) |
Geeft als resultaat de parameter afgerond met de opgegeven nauwkeurigheid |
als P1 = 10,567 |
PI |
Geeft als resultaat de waarde van pi op 31 decimalen |
|
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 |
|
floor() |
Geeft als resultaat het grootste gehele getal kleiner dan of gelijk aan de parameter |
|
min() |
Geeft als resultaat de kleinste parameter |
|
max() |
Geeft als resultaat de grootste parameter |
|
sum() |
Som van de parameters |
|
sqsum() |
Som van de gekwadrateerde parameters: (parameter1)2 + (parameter2)2 |
|
ave() |
Gemiddelde van de parameters |
|
sqave() |
Gemiddelde van de gekwadrateerde parameters |
|
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:
|
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.
|
vwu(waarde, eenheid) |
Converteert de lengte- en de hoekwaarden. De beschikbare eenheden zijn:
|
|
De eenheden hangen af van de instellingen in het menu .
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 |
Alle profielen accepteren die beginnen met PFC: Accepteer profielen die met PFC beginnen en hoogte die met 2, 3, 4 of 5 begint: Accepteer profielen die met PFC beginnen, hoogten 200, 300, 400 of 500 hebben en breedte met 7 begint: |
length(parameter) |
Geeft als resultaat het aantal tekens in de parameter. |
|
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. |
|
getat(parameter, n) |
Geeft als resultaat het teken n:th (beginnend bij nul) van de parameter. |
|
setat(parameter, n, character) |
Stelt het teken n:th (beginnend bij nul) in op het gespecificeerde teken in de parameter. |
|
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. |
|
reverse(string) |
Keert de opgegeven string om. |
|
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 |
|
cos() |
Geeft als resultaat de cosinuswaarde |
|
tan() |
Geeft als resultaat de tanguswaarde |
|
asin() |
Omgekeerde functie van sin(), waarde in radialen |
|
acos() |
Omgekeerde functie van cos(), waarde in radialen |
|
atan() |
Omgekeerde functie van tan(), waarde in radialen |
|
sinh() |
Geeft als resultaat de hyperbolische sinuswaarde |
|
cosh() |
Geeft als resultaat de hyperbolische cosinuswaarde |
|
tanh() |
Geeft als resultaat de hyperbolische tanguswaarde |
|
atan2() |
Geeft als resultaat de hoek waarvan de raaklijn aan de cirkel het quotiënt is van de twee getallen. Waarde in radialen |
|
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)
ofsin(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). |
|
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. |
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("kantel", GUID) |
Geeft als resultaat de kantelhoek van het geroteerde onderdeel waarvan de GUID is opgegeven. |
|
-
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 |
- Kolom
- Balk
- Helling
- 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 |
- Schuin
- Helling