Funkcje dostępne w formułach zmiennych

Tekla Structures
2019i
Tekla Structures

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:

  • 0 Średnica nominalna
  • 1 Średnica rzeczywista
  • 2 Ciężar
  • 3 Promień min.
  • 4 Promień haka 1
  • 5 Kąt haka 1
  • 6 Długość haka 1
  • 7 Promień haka
  • 8 Kąt haka 2
  • 9 Długość haka 2
  • 10 Promień haka 3
  • 11 Kąt haka 3
  • 12 Długość haka 3
  • 13 Powierzchnia

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:

  1. model,

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

  3. projekt (ustawiony za pomocą opcji zaawansowanej XS_PROJECT ),

  4. firma (ustawiona za pomocą opcji zaawansowanej XS_FIRM ),

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

Note:

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.

  1. Wartość klucza wiersza (MET-202Z25)

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

  1. przyprostokątna1

  2. przeciwprostokątna

  3. przyprostokątna2

=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:

  • "ft" (stopa, stopy)

  • "in" (cal, cale)

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

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

Note:

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

Note:

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

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

  1. Słup
  2. Belka
  3. Nachylenie
  4. 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

  1. Pochylenie w kierunku poziomym
  2. Nachylenie
Was this helpful?
Wstecz
Dalej