- Strona główna
- Tekla Structures
- Create models
- Custom components
- Add variables to a custom component
- Funkcje dostępne w formułach zmiennych
Funkcje dostępne w formułach zmiennych
Funkcje dostępne w formułach zmiennych
Do obliczania wartości zmiennych parametrycznych można używać funkcji. Formuły do obliczania zmiennych zawsze zaczynają się znakiem równości (=).
Aby uzyskać więcej informacji, zobacz Określanie właściwości obiektu za pomocą zmiennych parametrycznych.
Operatory arytmetyczne
Operatory arytmetyczne służą do łączenia wyrażeń, których wynikiem są wartości liczbowe. Można używać następujących operatorów arytmetycznych:
Operator |
Opis |
Uwagi |
---|---|---|
+ |
dodawanie |
Służy też do tworzenia łańcuchów parametrów. |
- |
odejmowanie |
|
* |
mnożenie |
Mnożenie przebiega szybciej od dzielenia. Operacja =D1*0.5 jest szybsza od operacji =D1/2 |
/ |
dzielenie |
Operatory logiczne i porównania
Użyj operatorów logicznych i porównań w wyrażeniach if. Można używać wyrażeń if-then-else do testowania warunku i ustalenia wartości zależnej od wyniku.
Przykład:
=if (D1>200) then 20 else 10 endif
Możesz używać następujących operatorów w zdaniach if:
Operator |
Opis |
Przykład |
---|---|---|
== |
obie strony są równe |
|
!= |
strony nie są równe |
|
< |
strona lewa ma wartość mniejszą |
|
<= |
strona lewa ma wartość mniejszą lub równą |
|
> |
strona prawa ma wartość mniejszą |
|
>= |
strona prawa ma wartość mniejszą lub równą |
|
&& |
operator logiczny AND oba warunki muszą być prawdą |
=if (D1==200 && D2<40) then 6 else 0 endif Jeżeli D1 wynosi 200 i D2 jest mniejsze od 40, wynikiem jest 6, w przeciwnym razie 0. |
|| |
operator logiczny OR tylko jeden warunek musi być prawdą |
=if (D1==200 || D2<40) then 6 else 0 endif Jeżeli D1 wynosi 200 lub D2 jest mniejsze od 40, wynikiem jest 6, w przeciwnym razie 0. |
Funkcje odwołań
Używaj funkcji odniesienia, aby odwołać się do właściwości innego obiektu, np. grubości blachy elementu podrzędnego. Tekla Structures odnosi się do obiektu na poziomie systemowym, dlatego jeśli właściwość obiektu zmieni się, zmieni się też wartość funkcji odniesienia.
Możesz używać następujących funkcji odwołań:
Funkcja |
Opis |
Przykład |
---|---|---|
fTpl("template attribute", "object GUID") |
Daje w wyniku wartość atrybutu szablonu obiektu o wskazanym GUID. |
=fTpl("WEIGHT","ID50B8559A-0000-010B-3133-353432373038") wynikiem jest ciężar obiektu, którego GUID równa się wartości ID50B8559A-0000-010B-3133-353432373038. |
fP("user-defined attribute", "object GUID") |
Daje w wyniku wartość zdefiniowanego przez użytkownika atrybutu obiektu o wskazanym GUID. |
=fP("comment", "ID50B8559A-0000-010B-3133-353432373038") wynikiem jest zdefiniowany przez użytkownika atrybut komentarz obiektu, którego GUID równa się wartości ID50B8559A-0000-010B-3133-353432373038. |
fValueOf("parameter") |
Daje w wyniku wartość parametru. |
Jeżeli równanie ma postać =P2+"*"+P3 , wynikiem jest P2*P3 Wynikiem równania =fValueOf("P2")+"*"+fValueOf("P3") , gdzie P2=780 i P3=480, jest 780*480 |
fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName) |
Daje w wyniku wartość obiektu z katalogu prętów zbrojeniowych. Opcja Usage może mieć wartość 2 („Tie”) lub 1 („Main”). Opcja FieldName musi mieć jedną z następujących wartości:
|
fRebarCatalogValue("A500HW", "10", 1, 2) daje w wyniku rozmiar, zastosowanie i ciężar obiektu, którego pręty zbrojeniowe są gatunku A500HW. |
Plik ASCII jako funkcja odwołania
W celu uzyskania danych można odwołać się do plików ASCII. Tekla Structures szuka plików w następującej kolejności:
model,
folder ..\TeklaStructuresModels\<model>\CustomComponentDialogFiles\ ,
projekt (ustawiony za pomocą opcji zaawansowanej XS_PROJECT ),
firma (ustawiona za pomocą opcji zaawansowanej XS_FIRM ),
system (ustawiony za pomocą opcji zaawansowanej XS_SYSTEM ).
Format polecenia odczytywania plików jest następujący:
fVF("filename", "key_value_of_row", column_number)
Wartość klucza wiersza jest unikatową wartością tekstową.
Numer kolumny jest wartością indeksu, która zaczyna się od 1.
Dodaj spację na końcu każdego wiersza w pliku ASCII. W przeciwnym razie informacje nie będą odczytane prawidłowo.
Przykład
Funkcja =fVF("Overlap.dat", "MET-202Z25", 5) znajduje się w polu Formuła w oknie dialogowym Zmienne. Funkcja uzyskuje wartość 16.0 w przypadku profilu MET-202Z25 , na podstawie pliku Overlap.dat.
Wartość klucza wiersza (MET-202Z25)
Numer kolumny (5)
Funkcje matematyczne
Funkcje matematyczne pozwalają utworzyć bardziej złożone wyrażenia matematyczne. Możesz używać następujących funkcji:
Funkcja |
Opis |
Przykład |
---|---|---|
fabs(parametr) |
Daje w wyniku wartość bezwzględną parametru. |
=fabs(D1) daje w wyniku 15 if D1 = -15 |
exp(wykładnik) |
Daje w wyniku liczbę e podniesioną do potęgi równej wykładnikowi. e jest liczbą Eulera. |
=exp(D1) daje w wyniku 7,39 if D1 = 2 |
ln(parametr) |
Daje w wyniku logarytm naturalny parametru (o podstawie równej e ). |
=ln(P2) daje w wyniku 2,71 if P2 = 15 |
log(parametr) |
Daje w wyniku logarytm parametru (o podstawie równej 10). |
=log(D1) daje w wyniku 2 if D1=100 |
sqrt(parametr) |
Daje w wyniku pierwiastek kwadratowy parametru. |
=sqrt(D1) daje w wyniku 4 if D1 = 16 |
mod(dzielna, dzielnik) |
Daje w wyniku wartość reszty z dzielenia. |
=mod(D1, 5) daje w wyniku 1 if D1 = 16 |
pow(podstawa, wykładnik) |
Daje w wyniku wartość podstawy podniesioną do potęgi równej wykładnikowi. |
=pow(D1, D2) daje w wyniku 9 if D1 = 3 i D2 = 2 |
hypot(przyprostokątna1,przyprostokątna2) |
Daje w wyniku długość przeciwprostokątnej.
|
=hypot(D1, D2) daje w wyniku 5 if D1 = 3 i D2 = 4 |
n!(parametr) |
Daje w wyniku silnię parametru. |
=n!(P2) daje w wyniku 24 if P2 = 4 (1*2*3*4) |
round(parametr, dokładność) |
Daje w wyniku parametr zaokrąglony z podaną dokładnością. |
=round(P1, 0.1) daje w wyniku 10,600 if P1 = 10.567 |
PI |
Daje w wyniku wartość liczby pi z dokładnością do 31 miejsc dziesiętnych. |
=PI daje w wyniku 3,1415926535897932384626433832795 |
Funkcje statystyczne
Funkcje statystyczne służą do obliczania sum i średnich oraz do zaokrąglania wartości. Możesz używać następujących funkcji statystycznych:
Funkcja |
Opis |
Przykład (P1 = 1.4 P2 = 2.3) |
---|---|---|
ceil() |
Daje w wyniku najmniejszą wartość całkowitą większą od parametru lub jemu równą. |
=ceil(P1) daje w wyniku 2 |
floor() |
Daje w wyniku największą wartość całkowitą mniejszą od parametru lub jemu równą. |
=floor(P1) daje w wyniku 1 |
min() |
Daje w wyniku parametr o najniższej wartości. |
=min(P1, P2) daje w wyniku 1,4 |
max() |
Daje w wyniku parametr o najwyższej wartości. |
=max(P1, P2) daje w wyniku 2,3 |
sum() |
Suma parametrów. |
=sum(P1, P2) daje w wyniku 3,7 |
sqsum() |
Suma kwadratów parametrów: (parametr1)2 + (parametr2)2. |
=sqsum(P1, P2) daje w wyniku 7,25 |
ave() |
Średnia parametrów. |
=ave(P1, P2) daje w wyniku 1,85 |
sqave() |
Średnia kwadratów parametrów. |
=sqave(P1, P2) daje w wyniku 3,625 |
Przykład: Funkcje statystyczne maksimum i minimum
W tym przykładzie mamy następujące zmienne parametryczne:
Długość belki: P1 = 3500
Rozstaw tralek: P2 = 450
P1 / P2 = 7,7778
Możesz użyć funkcji statystycznych ceil i floor do zaokrąglenia wartości, a następnie użyć wartości zaokrąglonych jako liczby tralek:
=ceil(P1/P2) daje w wyniku 8
=floor(P1/P2) daje w wyniku 7
Funkcje konwersji typu danych
Funkcje konwersji typu danych służą do zamiany wartości na inny typ danych. Możesz używać następujących funkcji konwersji typu danych:
Funkcja |
Opis |
Przykład |
---|---|---|
int() |
Zamienia dane na liczbę całkowitą. |
Przydaje się do obliczania wymiarów profilu: =int(100.0132222000) daje w wyniku 100, jeżeli w oknie dialogowym Opcje ustawiono wartości dziesiętne na 0. |
double() |
Zamienia dane na liczbę podwójnej precyzji. |
|
string() |
Zamienia dane na ciąg. |
|
imp() |
Służy do konwersji jednostek brytyjskich. Tej funkcji można użyć w obliczeniach zamiast jednostek brytyjskich. Nie można używać jednostek brytyjskich bezpośrednio w obliczeniach. |
W poniższych przykładach jednostką długości jest mm, a w oknie dialogowym Opcje ustawiono 2 miejsca dziesiętne. =imp(1,1,1,2) oznacza 1 stopę 1 1/2 cala i zwraca wartość 342.90 mm =imp(1,1,2) oznacza 1 1/2 cala i zwraca wartość 38.10 mm =imp(1,2) oznacza 1/2 cala i zwraca wartość 12.70 mm =imp(1) oznacza 1 cal i zwraca wartość 25.40 mm Zapis =3’/3" jest niemożliwy, ale zapis =imp(36)/imp(3) jest prawidłowy. |
vwu(wartość, jednostka) |
Przekształca wartości długości i kąta. Dostępne są następujące jednostki:
|
=vwu(4.0,"in") zwraca wartość 101.60 mm, jeśli w oknie dialogowym Opcje ustawioną jednostką długości jest mm i ustawioną liczbą miejsc dziesiętnych jest 2. =vwu(2.0,"rad") zwraca 114.59 stopnia, jeśli w oknie dialogowym Opcje ustawioną jednostką kąta jest stopień i ustawioną liczbą miejsc dziesiętnych jest 2. |
Jednostki zależą od ustawień w menu Plik > Ustawienia > Opcje > Jednostki i dziesiętne .
Operacje na łańcuchach znaków
Operacje na łańcuchach znaków umożliwiają manipulowanie tymi łańcuchami. Łańcuchy w formułach zmiennej muszą być ujęte w cudzysłowy.
Można używać następujących operacji na łańcuchach znaków:
Operacja |
Opis |
Przykład (P1 = "PL100*10") |
---|---|---|
match(parametr 1, parametr 2) |
Zwraca wartość 1, jeśli parametry są równe, a 0, jeśli są różne. Z funkcją match (zgodność) można również używać znaków wieloznacznych * , ? oraz [ ]. |
=match(P1, "PL100*10") zwraca wartość 1 Akceptuje wszystkie profile rozpoczynające się od PFC: =match(P4, "PFC*") Akceptuje profile rozpoczynające się od PFC i wysokości rozpoczynające się od 2, 3, 4 lub 5: =match(P4, "PFC[2345]*") Akceptuje profile rozpoczynające się od PFC, wysokości 200, 300, 400 lub 500 i szerokości rozpoczynające się od 7: =match(P4, "PFC[2345]00?7*") |
długość(parametr) |
Zwraca liczbę znaków parametru. |
=length(P1) zwraca wartość 8 |
find(parametr, łańcuch) |
Zwraca numer kolejny (licząc od zera) określonego łańcucha, i wartość -1, jeśli określony łańcuch nie zostanie znaleziony w parametrze. |
=find(P1, "*") zwraca wartość 5 |
getat(parametr, n) |
Zwraca n-ty (licząc od zera) znak parametru. |
=getat(P1, 1) zwraca "L" |
setat(parametr, n, znak) |
Ustawia n-ty (licząc od zera) znak parametru na określony znak. |
=setat(P1, 0, "B") zwraca "BL100*10" |
mid(łańcuch, n, x) |
Zwraca x znaków łańcucha, rozpoczynając od n-tego (licząc od zera) znaku. W przypadku pominięcia ostatniego argumentu (x) zwraca ostatnią część łańcucha. |
=mid(P1,2,3) zwraca wartość "100" |
reverse(łańcuch) |
Odwraca dany łańcuch. |
=reverse(P1) zwraca wartość "01*001LP" |
Przykład 1
Aby zdefiniować rozmiar profilu PL100*10 za pomocą dwóch zmiennych P2 = 100 i P3 = 10, wprowadź następującą formułę:
="PL"+P2+"*"+P3
Przykład 2
Tekla Structures traktuje odstępy między śrubami jako łańcuchy. Aby zdefiniować odstęp między śrubami, ustaw opcję Typ wartości na wartość Lista odległości i wprowadź następującą formułę:
=P1+" "+P2
Wynikiem jest 100 200, jeśli P1 = 100 ( długość ) i P2 = 200 ( długość ).
Funkcje trygonometryczne
Funkcje trygonometryczne umożliwiają obliczanie kątów. Można używać następujących funkcji trygonometrycznych:
Funkcja |
Opis |
Przykład |
---|---|---|
sin() |
Zwraca wartość funkcji sinus. |
=sin(d45) zwraca wartość 0.71 |
cos() |
Zwraca wartość funkcji cosinus. |
=cos(d45) zwraca wartość 0.71 |
tan() |
Zwraca wartość funkcji tangens. |
=tan(d45) zwraca wartość 1.00 |
asin() |
Funkcja odwrotna funkcji sin() zwraca wartość w radianach. |
=asin(1) returns 1.571 rad |
acos() |
Funkcja odwrotna funkcji cos() zwraca wartość w radianach. |
=acos(1) returns 0 rad |
atan() |
Funkcja odwrotna funkcji tan() zwraca wartość w radianach. |
=atan(1) returns 0.785 rad |
sinh() |
Zwraca wartość funkcji sinus hiperboliczny. |
=sinh(d45) zwraca wartość 0.87 |
cosh() |
Zwraca wartość funkcji cosinus hiperboliczny. |
=cosh(d45) zwraca wartość 1.32 |
tanh() |
Zwraca wartość funkcji tangens hiperboliczny. |
=tanh(d45) zwraca wartość 0.66 |
atan2() |
Zwraca kąt, którego tangens jest ilorazem dwóch liczb. Zwraca wartość w radianach. |
=atan2(1,3) zwraca wartość 0.32 |
Używając funkcji trygonometrycznych w formułach zmiennej, należy wstawiać przedrostek definiujący jednostkę. Jeżeli przedrostek nie jest wstawiony, Tekla Structures używa radianów jako jednostki domyślnej.
Litera d oznacza stopnie. Przykładowo sin(d180)
Litera r oznacza radiany (jednostka domyślna). Przykładowo sin(r3.14) lub sin(3.14)
Funkcja rozmiaru handlowego
W przypadku komponentu użytkownika funkcja rozmiaru handlowego umożliwia wybranie odpowiedniego wymiaru blachy (zwykle grubości blachy) spośród dostępnych rozmiarów handlowych. Przykładowo grubość blachy powinna odpowiadać środnikowi belki.
Funkcja |
Opis |
Przykład |
---|---|---|
fMarketSize(materiał, grubość, dodatkowy krok) |
Zwraca następny dostępny rozmiar handlowy dla podanego materiału z pliku marketsize.dat na podstawie określonej grubości. Plik musi znajdować się w folderze ..\environments\używane_środowisko\profil lub w folderze systemowym. Jako dodatkowy krok należy wprowadzić liczbę definiującą przyrost do następnego rozmiaru (domyślną wartością jest 0). |
=fMarketSize("S235JR", 10, 0) |
Przykład
W tym przykładzie w pliku marketsize.dat znajdują się następujące dane:
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
Pierwszym elementem w wierszu jest gatunek materiału, po którym podane są grubości blachy w milimetrach. Wiersz DEFAULT zawiera listę grubości dostępnych we wszystkich pozostałych gatunkach materiału.
Przy powyższych danych funkcja =fMarketSize("S235JR",10,0) zwraca wartość 12, a funkcja =fMarketSize("S235JR",10,1) — wartość 16 (jeden rozmiar w górę).
Funkcje warunku obramowania
Funkcje warunku obramowania zwracają kąt pochylenia w kierunku poziomym, kąt nachylenia i kąt obrotu belki podrzędnej względem elementu głównego (słupa lub belki). Można używać następujących funkcji warunku obramowania:
Funkcja |
Opis |
Przykład |
---|---|---|
fAD("skew", GUID) |
Zwraca kąt pochylenia w kierunku poziomym elementu podrzędnego o danym identyfikatorze GUID. |
=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") zwraca wartość 45. ID50B8559A-0000-010B-3133-353432373038 to identyfikator GUID elementu podrzędnego pochylonego pod kątem 45 stopni względem elementu głównego. |
fAD("slope", GUID) |
Zwraca kąt nachylenia elementu podrzędnego o danym identyfikatorze GUID. |
=fAD("slope","ID50B8559A-0000-010B-3133-353432373038") |
fAD("cant", GUID) |
Zwraca kąt obrotu obróconego elementu podrzędnego o danym identyfikatorze GUID. |
=fAD("cant","ID50B8559A-0000-010B-3133-353432373038") |
Te funkcje nie zwracają dodatnich i ujemnych wartości nachylenia i pochylenia w kierunku poziomym. Nie umożliwiają one określenia, czy element podrzędny jest nachylony do góry czy na dół ani czy jest on pochylony w kierunku poziomym w lewo czy w prawo.
Maksymalny zwracany kąt pochylenia w kierunku poziomym wynosi 45 stopni.
Tekla Structures oblicza kąty w dwu wymiarach, żeby nachylenie i pochylenie w kierunku poziomym były od siebie oddzielone. Przykładowo kąt pochylenia w kierunku poziomym nie jest brany pod uwagę podczas obliczania kąta nachylenia, co oznacza, że wartość kąta nachylenia pozostaje taka sama niezależnie od obrotu elementu podrzędnego wokół elementu głównego.
Aby ustalić rzeczywiste nachylenie w trzech wymiarach z uwzględnionym pochyleniem w kierunku poziomym, można skorzystać z następującej formuły matematycznej:
TRUE_SLOPE = atan( tan(SLOPE) * cos(SKEW))
Przykład 1
Nachylenie i pochylenie w kierunku poziomym odnoszą się do ustawienia obramowania belki względem słupa.
Widok z boku |
Widok z góry |
- Słup
- Belka
- Nachylenie
- Pochylenie w kierunku poziomym
Przykład 2
Przy dwu belkach nachylenie jest w rzeczywistości pochyleniem w kierunku poziomym obramowania belki względem drugiej belki, a pochylenie w kierunku poziomym jest w rzeczywistości nachyleniem pionowym belki względem elementu głównego.
Widok z boku |
Widok z góry |
- Pochylenie w kierunku poziomym
- Nachylenie