변수 수식의 함수

Tekla Structures
2021
Tekla Structures

산술 연산자

산술 연산자를 사용하여 숫자 값을 반환하는 표현식을 결합합니다. 다음과 같은 산술 연산자를 사용할 수 있습니다.

연산자

설명

참고

+

더하기

매개변수 문자열을 생성할 때도 사용합니다.

-

빼기

*

곱하기

곱하기가 나누기보다 빠릅니다.

=D1*0.5=D1/2보다 빠릅니다.

/

나누기

논리 및 비교 연산자

if문 안에서 논리 연산자와 비교 연산자를 사용합니다. if-then-else문을 사용하여 조건을 테스트하고 결과에 따라 값을 설정할 수 있습니다.

예를 들면 아래 그림과 같습니다.

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

if 문에 다음과 같은 연산자를 사용할 수 있습니다.

연산자

설명

==

양쪽이 같음

!=

양쪽이 같지 않음

<

왼쪽이 더 작음

<=

왼쪽이 더 작거나 같음

>

오른쪽이 더 작음

>=

오른쪽이 더 작거나 같음

&&

논리적 AND

두 조건이 모두 참이어야 함

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

D1이 200이고 D2가 40보다 작을 경우 결과는 6이고, 그렇지 않을 경우에는 0입니다.

||

논리적 OR

한 조건만 참이어야 함

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

D1이 200이거나 D2가 40보다 작을 경우 결과는 6이고, 그렇지 않을 경우에는 0입니다.

참조 함수

참조 함수를 사용하여 보조 부재의 플레이트 두께와 같은 다른 객체의 속성을 참조합니다. Tekla Structures에서는 시스템 레벨의 객체를 참조하며, 따라서 객체 속성이 변경되면 참조 기능 값이 변경됩니다.

다음과 같은 참조 함수를 사용할 수 있습니다.

함수

설명

예제

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

지정된 객체 GUID가 있는 객체의 템플릿 속성 값을 반환합니다.

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

GUID가 ID50B8559A-0000-010B-3133-353432373038인 객체의 중량을 반환합니다.

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

지정된 객체 GUID가 있는 객체의 사용자 정의 속성 값을 반환합니다.

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

GUID가 ID50B8559A-0000-010B-3133-353432373038인 객체의 사용자 정의 속성 설명을 반환합니다.

fValueOf("parameter")

매개변수의 값을 반환합니다.

수식이 =P2+"*"+P3인 경우 결과는 P2*P3입니다.

=fValueOf("P2")+"*"+fValueOf("P3")에서 P2=780이고 P3=480일 경우 결과는 780*480입니다.

fRebarCatalogValue(BarGrade, BarSize, Usage, FieldName)

객체의 철근 카탈로그 값을 반환합니다.

Usage는 2("타이") 또는 1("메인")일 수 있습니다.

FieldName은 다음 중 하나여야 합니다.

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

철근 등급이 A500HW인 객체의 크기, 용도 및 중량을 반환합니다.

ASCII 파일(참조 함수로 기능)

ASCII 파일을 참조하여 데이터를 가져올 수 있습니다. Tekla Structures는 다음 순서로 파일을 검색합니다.

  1. 모델

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

  3. 프로젝트(XS_PROJECT 고급 옵션을 통해 설정)

  4. 회사(XS_FIRM 고급 옵션을 통해 설정)

  5. 시스템(XS_SYSTEM 고급 옵션을 통해 설정)

파일 읽기 형식은 다음과 같습니다.

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

  • 행의 키 값은 고유한 텍스트 값입니다.

  • 열 번호는 1부터 시작하는 인덱스입니다.

데이터 분리에 문자를 지정할 수 있습니다. fVF(data file, lookup value, column#[, separator character]).

  • 원하는 열 구분자를 사용할 수 있습니다. 이로써 이름, 프로파일, 형상 등에서 공백을 지원할 뿐만 아니라 거리 목록도 입력으로 사용할 수 있습니다.

  • 공백이나 빈 문자열을 입력으로 사용할 수 있습니다.

  • 단일 문자만 구분자로 사용할 수 있습니다. 첫 번째 문자만 열 구분자로 간주되므로 "/+/" 등의 복잡한 구분자는 사용할 수 없습니다.

예제

=fVF("Overlap.dat", "MET-202Z25", 5) 함수는 변수 대화 상자의 수식 상자에 위치합니다. 이 함수는 프로파일 MET-202Z25에 대해 값 16.0Overlap.dat 파일로부터 가져옵니다.

  1. 행의 키 값(MET-202Z25)

  2. 열 번호(5)

수학 함수

수학 함수를 사용하여 보다 복잡한 수식을 생성합니다. 다음과 같은 함수를 사용할 수 있습니다.

함수

설명

fabs(parameter)

매개변수의 절대값을 반환합니다.

=fabs(D1): 15 반환

D1 = -15일 경우

exp(power)

e의 거듭제곱을 반환합니다.

e는 오일러의 수입니다.

=exp(D1): 7.39 반환

D1 = 2일 경우

ln(parameter)

매개변수의 자연 로그를 반환합니다(밑수 e).

=ln(P2): 2.71 반환

P2 = 15일 경우

log(parameter)

매개변수의 로그를 반환합니다(밑수 10).

=log(D1): 2 반환

D1=100일 경우

sqrt(parameter)

매개변수의 제곱근을 반환합니다.

=sqrt(D1): 4 반환

D1 = 16일 경우

mod(dividend, divider)

나누기의 나머지를 반환합니다.

=mod(D1, 5): 1 반환

D1 = 16일 경우

pow(base number, power)

밑수를 지정된 지수로 거듭제곱한 값을 반환합니다.

=pow(D1, D2): 9 반환

D1 = 3이고 D2 = 2일 경우

hypot(side1,side2)

빗변을 반환합니다.

  1. 변1

  2. 빗변

  3. 변2

=hypot(D1, D2): 5 반환

D1 = 3이고 D2 = 4일 경우

n!(parameter)

매개변수의 계승을 반환합니다.

=n!(P2): 24 반환

P2 = 4일 경우

(1*2*3*4)

round(parameter, accuracy)

매개변수를 주어진 정확도로 반올림한 값을 반환합니다.

=round(P1, 0.1): 10.600 반환

P1 = 10.567일 경우

PI

pi 값을 소수점 31자리까지 반환합니다.

=PI: 3.1415926535897932384626433832795 반환

통계 함수

통계 함수를 사용하여 합계와 평균을 계산하고, 값을 반올림합니다. 다음과 같은 통계 함수를 사용할 수 있습니다.

함수

설명

예(P1 = 1.4 P2 = 2.3)

ceil()

매개변수보다 크거나 같은 최소 정수를 반환합니다.

=ceil(P1): 2 반환

floor()

매개변수보다 작거나 같은 최대 정수를 반환합니다.

=floor(P1): 1 반환

min()

가장 작은 매개변수를 반환합니다.

=min(P1, P2): 1.4 반환

max()

가장 큰 매개변수를 반환합니다.

=max(P1, P2): 2.3 반환

sum()

매개변수의 합계

=sum(P1, P2): 3.7 반환

sqsum()

매개변수를 제곱한 값의 합계: (parameter1)2 + (parameter2)2

=sqsum(P1, P2): 7.25 반환

ave()

매개변수의 평균

=ave(P1, P2): 1.85 반환

sqave()

매개변수를 제곱한 값의 평균

=sqave(P1, P2): 3.625 반환

예: ceil 및 floor 통계 함수

이 예에서 파라메트릭 변수는 다음과 같습니다.

  • 보 길이: P1 = 3500

  • 기둥 간격: P2 = 450

P1 / P2 = 7.7778

ceilfloor 통계 함수를 사용하여 값을 반올림하여 결과 값을 보 기둥 개수로 사용할 수 있습니다.

  • =ceil(P1/P2): 8 반환

  • =floor(P1/P2): 7 반환

데이터 유형 변환 함수

데이터 유형 변환 함수를 사용하여 값을 다른 데이터 유형으로 변환합니다. 다음과 같은 데이터 형식 변환 함수를 사용할 수 있습니다.

함수

설명

예제

int()

데이터를 정수로 변환

특히 프로파일 치수를 계산하는 경우에 유용합니다.

옵션 대화 상자에서 소수점 자리수가 0으로 설정된 경우, =int(100.0132222000)는 100을 반환

double()

데이터를 이중으로 변환

string()

데이터를 문자열로 변환

imp()

임페리얼 단위로 변환

이 함수를 임페리얼 단위 대신 계산에 사용합니다. 계산에서 임페리얼 단위를 직접 사용할 수 없습니다.

다음 예에서는 옵션 대화 상자에서 길이 단위가 mm로 설정되고 소수점 자릿수가 2로 설정되었습니다.

=imp(1,1,1,2) (1피트 1 1/2인치를 의미): 342.90mm 반환

=imp(1,1,2) (1 1/2인치를 의미): 38.10mm 반환

=imp(1,2) (1/2인치를 의미): 12.70mm 반환

=imp(1) (1인치를 의미): 25.40mm 반환

=3'/3"는 불가능하지만 =imp(36)/imp(3)는 가능합니다.

vwu(value, unit)

길이 값과 각도 값을 변환합니다. 사용 가능한 단위:

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

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

  • "m"

  • "cm"

  • "mm"

  • "rad"

  • "deg"

옵션 대화 상자에서 길이 단위가 mm로 설정되고 소수점 자리수가 2로 설정된 경우 =vwu(4.0,"in")는 101.60mm를 반환

옵션 대화 상자에서 각도가 도로 설정되고 소수점 자리수가 2로 설정된 경우 =vwu(2.0,"rad")는 114.59도를 반환

주:

단위는 파일 메뉴 > 설정 > 옵션 > 단위 및 소수의 설정에 따릅니다.

문자열 연산

문자열 연산을 사용하여 문자열을 조작합니다. 문자열은 변수 수식의 따옴표 안에 들어가야 합니다.

다음 문자열 연산을 사용할 수 있습니다.

연산

설명

예(P1 = "PL100*10")

match(parameter1, parameter2)

매개변수가 같으면 1을, 다르면 0을 반환합니다.

match 함수를 통해 와일드카드 *, ?[ ]도 사용할 수 있습니다.

=match(P1, "PL100*10") : 1 반환

PFC로 시작하는 프로파일 모두 허용: =match(P4, "PFC*")

PFC로 시작하고 높이가 2, 3, 4 또는 5로 시작하는 프로파일 허용: =match(P4, "PFC[2345]*")

PFC로 시작하고 높이가 200, 300, 400 또는 500이며 너비가 7로 시작하는 프로파일 허용: =match(P4, "PFC[2345]00?7*")

length(parameter)

매개변수의 문자 개수를 반환합니다.

=length(P1) : 8 반환

find(parameter, string)

지정된 문자열의 order 번호(0부터 시작)를 반환하고, 매개변수에서 지정된 문자열이 발견되지 않을 경우 -1을 반환합니다.

=find(P1, "*") : 5 반환

getat(parameter, n)

매개변수에서 n번째(0부터 시작) 문자를 반환합니다.

=getat(P1, 1) : 'L' 반환

setat(parameter, n, character)

매개변수에서 n번째(0부터 시작) 문자를 지정된 문자로 설정합니다.

=setat(P1, 0, "B") : 'BL100*10' 반환

mid(string, n, x)

n번째(0부터 시작) 문자부터 시작하는 문자열에서 x 문자를 반환합니다. 마지막 인수(x)를 생략할 경우 문자열의 마지막 부분을 반환합니다.

=mid(P1,2,3) : '100' 반환

reverse(string)

주어진 문자열을 반전시킵니다.

=reverse(P1) : '01*001LP' 반환

예 1

두 변수 P2 = 100 및 P3 = 10을 사용하여 프로파일 크기 PL100*10을 정의하려면 다음과 같은 수식을 입력합니다.

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

예 2

Tekla Structures는 볼트 간격을 문자열로 처리합니다. 볼트 간격을 정의하려면 값 유형거리 목록으로 설정하고 다음과 같이 수식을 입력합니다.

=P1+" "+P2

P1 = 100(길이) 및 P2 = 200(길이)인 경우 100 200이 됩니다.

삼각 함수

삼각 함수를 사용하여 각도를 계산합니다. 다음과 같은 삼각 함수를 사용할 수 있습니다.

함수

설명

sin()

사인 값을 반환합니다.

=sin(d45): 0.71 반환

cos()

코사인 값을 반환합니다.

=cos(d45): 0.71 반환

tan()

탄젠트 값을 반환합니다.

=tan(d45): 1.00 반환

asin()

sin()의 역함수로, radian 단위로 값을 반환합니다.

=asin(1)은 1.571 rad를 반환합니다

acos()

cos()의 역함수로, radian 단위로 값을 반환합니다.

=acos(1)은 0 rad를 반환합니다

atan()

tan()의 역함수로, radian 단위로 값을 반환합니다.

=atan(1)은 0.785 rad를 반환합니다

sinh()

쌍곡선인 값을 반환합니다.

=sinh(d45): 0.87 반환

cosh()

쌍곡코사인 값을 반환합니다.

=cosh(d45): 1.32 반환

tanh()

쌍곡탄젠트 값을 반환합니다.

=tanh(d45): 0.66 반환

atan2()

두 숫자의 몫이 탄젠트가 되는 각도를 반환합니다. radian 단위로 값을 반환합니다.

=atan2(1,3): 0.32 반환

주:

변수 수식에 삼각 함수를 사용할 때는 접두사를 포함시켜 단위를 정의해야 합니다. 접두사를 포함시키지 않으면 Tekla Structures가 radian을 기본 단위로 사용합니다.

  • d는 도(º)입니다. 예: sin(d180)

  • r은 radian(기본값)입니다. 예: sin(r3.14) 또는 sin(3.14)

마켓 크기 함수

사용자 컴포넌트에서 마켓 크기 함수를 사용하여 사용 가능한 마켓 크기에서 적합한 플레이트 치수(일반적으로 플레이트 두께)를 선택합니다. 예를 들어, 플레이트의 두께는 보의 웨브와 일치해야 합니다.

함수

설명

예제

fMarketSize(material, thickness, extrastep)

지정한 두께에 따라 marketsize.dat 파일에서 다음 사용 가능한 재질 마켓 크기를 반환합니다.

파일은 ..\environments\your_environment\profil 폴더 또는 시스템 폴더에 있어야 합니다.

추가 단계의 경우 숫자를 입력하여 증분을 다음 크기로 정의합니다(기본값은 0).

=fMarketSize("S235JR", 10, 0)

예제

이 예에서는 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

행의 첫 번째 아이템은 재질 등급이며, 그 뒤에 밀리미터 단위의 사용 가능한 플레이트 두께가 옵니다. 기본 선에서는 그 밖에 모든 재질 등급에서 사용할 수 있는 두께가 나열됩니다.

위의 데이터로 함수 =fMarketSize("S235JR",10,0)는 12를 반환하고 =fMarketSize("S235JR",10,1)는 16(크기 한 단계 증대)을 반환합니다.

프레이밍 조건 함수

프레이밍 조건 함수를 사용하여 메인 부재(기둥 또는 보)를 기준으로 하는 보조 보의 기울기, 경사 및 회전각도를 반환합니다. 다음과 같은 프레이밍 조건 함수를 사용할 수 있습니다.

함수

설명

예제

fAD("skew", GUID)

GUID가 지정된 보조 부재의 기울기 각도를 반환합니다.

=fAD("skew","ID50B8559A-0000-010B-3133-353432373038") : 45 반환

ID50B8559A-0000-010B-3133-353432373038는 메인 부재와 45도 각도를 이루는 보조 부재의 GUID입니다.

fAD("slope", GUID)

GUID가 지정된 보조 부재의 경사 각도를 반환합니다.

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

fAD("cant", GUID)

GUID가 지정된 회전 보조 부재의 회전 각도를 반환합니다.

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

주:
  • 이러한 함수는 양수 및 음수의 경사 및 기울기 값을 반환하지 않습니다. 이러한 함수를 사용하여 위 또는 아래 경사와 왼쪽 또는 오른쪽 기울기를 결정할 수 없습니다.

  • 반환할 최대 기울기 각도는 45도입니다.

  • Tekla Structures는 경사와 기울기를 서로 분리할 수 있도록 각도를 2D로 계산합니다. 예를 들어 경사 각도를 계산할 때 기울기 각도가 고려되지 않으므로 메인 부재 주위의 보조 부재 회전에 관계없이 경사 각도 값이 동일하게 유지됩니다.

    기울기가 포함된 실제 3D 경사를 찾으려면 다음 수학 수식을 사용할 수 있습니다.

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

예 1

경사와 기울기는 기둥으로 프레이밍 되는 보를 기준으로 합니다.

사이드 뷰

상단 뷰

  1. 기울기
  2. 기울기

예 2

보가 두 개인 경우 실제로 경사는 다른 보로 프레이밍 되는 보의 수평 기울기이며, 메인을 기준으로 하는 보의 수직 기울기는 기울기 각도입니다.

사이드 뷰

상단 뷰

  1. 기울기
  2. 기울기
도움이 되었습니까?
이전
다음